jPDFProcess Deployment Scenarios
jPDFProcess is a versatile product that can be deployed in a number of different environments and scenarios, to implement inline PDF requests, batch processing, desktop processing and more. jPDFProcess is 100% Java, so it can run on any operating system that supports Java, and provides a large number of functions to work on PDF documents.
Following is a few deployment scenarios, though jPDFProcess is by no means limited to these cases.
J2EE Server – REST API
jPDFProcess can be packaged as a REST API and then deployed to any J2EE server to provide RESTful services. The following sample WAR file illustrates this, it provides a number of PDF functions from jPDFProcess as a REST API:
The source code for this sample can be downloaded here:
Documentation on this sample, the API that it implements and how to deploy can be found in this knowledge base entry: Deploy jPDFProcess as a Rest API
J2EE Server – Servlet
jPDFProcess can also be used directly from a Java Servlet, to process PDF requests. The following sample illustrates this, the servlet loads a PDF document from the file system, adds a watermark to it and then serves the document directly to the client browser:
Additional functions can easily be implemented in this context, to receive and process PDF files, to convert PDF files, and more.
ESB, BPM or other Workflow Servers
jPDFProcess can also be integrated into third party servers that can take Java plugins, such as ESB servers. Please have a look at our ESB integration page for more detail;
jPDFProcess can be used from within a Java command line program, to provide any of its functions through command line options. By implementing in this way, PDF processing through jPDFProcess can be called from any other application or process to provide PDF functions. To implement the CLI program, a small Java application needs to be created to parse through the command line options and then make the appropriate calls to jPDFProcess. Following is a link to a small sample program that illustrates this and that can be used as a starting point in your own implementation:
Yes, you can define jPDFProcess functions as ANT tasks, and process PDF documents from your ANT processes or workflows. Following is an implementation of two sample ANT tasks, the first one to convert a PDF page to an image, and the second to apply a digital signature to a PDF:
To use the ANT task defined in this sample, you will have to include the task definition in your ant file:
<taskdef name="PDFToImage" classname="jPDFProcessSamples.ant.PDFToImage" classpath="jpdfprocess-ant.jar;jPDFProcess.jar" /> <taskdef name="SignPDF" classname="jPDFProcessSamples.ant.SignPDF" classpath="jpdfprocess-ant.jar;jPDFProcess.jar;bcpkix-jdk14-147.jar;bcprov-jdk14-147.jar" />
and then you can use the tasks as follows:
<PDFToImage InputFile="input.pdf" OutputFile="input_01.png" Format="png" /> <SignPDF Inputfile="input.pdf" OutputFile="input_signed.pdf" KeystoreFile="keystore.pfx" KeystorePassword="store_pwd" KeyAlias="key_alias" KeyPassword="store_pwd" />