Class CreateVisibleSignature

java.lang.Object
org.apache.pdfbox.examples.signature.CreateSignatureBase
org.apache.pdfbox.examples.signature.CreateVisibleSignature
All Implemented Interfaces:
SignatureInterface

public class CreateVisibleSignature extends CreateSignatureBase
This is an example for visual signing a pdf.
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • isLateExternalSigning

      public boolean isLateExternalSigning()
    • setLateExternalSigning

      public void setLateExternalSigning(boolean lateExternalSigning)
      Set late external signing. Enable this if you want to activate the demo code where the signature is kept and added in an extra step without using PDFBox methods. This is disabled by default.
      Parameters:
      lateExternalSigning -
    • getStreamCacheCreateFunction

      public RandomAccessStreamCache.StreamCacheCreateFunction getStreamCacheCreateFunction()
      Get the function to be used to create an instance of the choosen stream cache.
      Returns:
      the function to be used to create an instance of the choosen stream cache
    • setStreamCacheCreateFunction

      public void setStreamCacheCreateFunction(RandomAccessStreamCache.StreamCacheCreateFunction streamCache)
      Set the function to be used to create an instance of the choosen stream cache.
      Parameters:
      streamCache - the function to be used to create an instance of the choosen stream cache
    • setVisibleSignDesigner

      public void setVisibleSignDesigner(String filename, int x, int y, int zoomPercent, InputStream imageStream, int page) throws IOException
      Open the PDF, create and set the visible signature designer for a new signature field.
      Parameters:
      filename - path of the PDF file
      x - position of the signature field
      y - position of the signature field
      zoomPercent - increase (positive value) or decrease (negative value) image with x percent.
      imageStream - input stream of an image.
      page - the signature should be placed on (1-based)
      Throws:
      IOException
    • setVisibleSignDesigner

      public void setVisibleSignDesigner(int zoomPercent, InputStream imageStream) throws IOException
      Set visible signature designer for an existing signature field.
      Parameters:
      zoomPercent - increase (positive value) or decrease (negative value) image with x percent.
      imageStream - input stream of an image.
      Throws:
      IOException
    • setVisibleSignatureProperties

      public void setVisibleSignatureProperties(String name, String location, String reason, int preferredSize, int page, boolean visualSignEnabled)
      Set visible signature properties for new signature fields.
      Parameters:
      name -
      location -
      reason -
      preferredSize -
      page - the signature should be placed on (1-based)
      visualSignEnabled -
    • setVisibleSignatureProperties

      public void setVisibleSignatureProperties(String name, String location, String reason, boolean visualSignEnabled)
      Set visible signature properties for existing signature fields.
      Parameters:
      name -
      location -
      reason -
      visualSignEnabled -
    • signPDF

      public void signPDF(File inputFile, File signedFile, String tsaUrl) throws IOException
      Sign pdf file and create new file that ends with "_signed.pdf".
      Parameters:
      inputFile - The source pdf document file.
      signedFile - The file to be signed.
      tsaUrl - optional TSA url
      Throws:
      IOException
    • signPDF

      public void signPDF(File inputFile, File signedFile, String tsaUrl, String signatureFieldName) throws IOException
      Sign pdf file and create new file that ends with "_signed.pdf".
      Parameters:
      inputFile - The source pdf document file. It will be opened if it hasn't been opened before in setVisibleSignDesigner(java.lang.String, int, int, int, java.io.InputStream, int).
      signedFile - The file to be signed.
      tsaUrl - optional TSA url
      signatureFieldName - optional name of an existing (unsigned) signature field
      Throws:
      IOException
    • findExistingSignature

      private PDSignature findExistingSignature(PDDocument doc, String sigFieldName)
    • main

      Arguments are [0] key store [1] pin [2] document that will be signed [3] image of visible signature
      Parameters:
      args -
      Throws:
      KeyStoreException
      CertificateException
      IOException
      NoSuchAlgorithmException
      UnrecoverableKeyException
    • usage

      private static void usage()
      This will print the usage for this program.