1. Prepare the PDF for signature (that is, add all dictionaries and other necessary structures needed for hash byte range, including leaving a blank signature container that will be injected eventually).
2. Calculate the hash value and send it to other services.
3. Store the prepared PDF locally. If other services return signatures, they will find the prepared PDF and use this method to insert the retrieved signatures into it.