{"id":35683729,"url":"https://github.com/tonyjunkes/pdfservices-java-sdk-cfml-samples","last_synced_at":"2026-01-05T21:02:38.196Z","repository":{"id":41342916,"uuid":"293709353","full_name":"tonyjunkes/pdfservices-java-sdk-cfml-samples","owner":"tonyjunkes","description":"Samples for the PDF Services Java SDK Using CFML","archived":false,"fork":false,"pushed_at":"2022-10-07T16:13:24.000Z","size":86215,"stargazers_count":7,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-07-01T00:46:14.516Z","etag":null,"topics":["adobe","cfml","coldfusion","java","lucee","pdf","pdf-generator-api"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tonyjunkes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-08T05:23:42.000Z","updated_at":"2022-09-09T13:37:21.000Z","dependencies_parsed_at":"2023-01-19T15:05:00.751Z","dependency_job_id":null,"html_url":"https://github.com/tonyjunkes/pdfservices-java-sdk-cfml-samples","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/tonyjunkes/pdfservices-java-sdk-cfml-samples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonyjunkes%2Fpdfservices-java-sdk-cfml-samples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonyjunkes%2Fpdfservices-java-sdk-cfml-samples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonyjunkes%2Fpdfservices-java-sdk-cfml-samples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonyjunkes%2Fpdfservices-java-sdk-cfml-samples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tonyjunkes","download_url":"https://codeload.github.com/tonyjunkes/pdfservices-java-sdk-cfml-samples/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonyjunkes%2Fpdfservices-java-sdk-cfml-samples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28218585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-05T02:00:06.358Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adobe","cfml","coldfusion","java","lucee","pdf","pdf-generator-api"],"created_at":"2026-01-05T21:01:16.817Z","updated_at":"2026-01-05T21:02:38.191Z","avatar_url":"https://github.com/tonyjunkes.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Samples for the PDF Services Java SDK Using CFML\r\n\r\n\u003e Based on the official Java sample project by Adobe found [here](https://github.com/adobe/pdfservices-java-sdk-samples).\r\n\r\nThis sample project helps you get started with the PDF Services Java SDK for use with Adobe's Document Services API.\r\n\r\nThe sample ColdFusion Components illustrate how to perform PDF-related actions (such as converting to and from the PDF format) using the SDK. **Please note that the PDF Services Java SDK supports only server side use cases.**\r\n\r\n## Prerequisites\r\nThe sample application has the following requirements:\r\n* Java JDK: Version 8 or above.\r\n* A CFML Engine: Adobe ColdFusion 2016+ (default) or Lucee 5+, as either a standalone install or via [CommandBox (recommended)](https://www.ortussolutions.com/products/commandbox).\r\n\r\n## Authentication Setup\r\n\r\nThe credentials file and corresponding private key file for the samples is `pdfservices-api-credentials.json` and `private.key`\r\nrespectively. Before the samples can be run, replace both the files with the ones present in the downloaded zip file at\r\nthe end of creation of credentials via [Get Started](https://www.adobe.io/apis/documentcloud/dcsdk/gettingstarted.html?ref=getStartedWithServicesSdk) workflow.\r\n\r\nThe SDK also supports providing the authentication credentials at runtime, without storing them in a config file. Please\r\nrefer this [section](#create-a-pdf-file-from-a-docx-file-by-providing-in-memory-authentication-credentials) to\r\nknow more.\r\n\r\n## Client Configurations\r\n\r\nThe SDK supports setting up custom socket timeout or connect timeout for the API calls. Please\r\nrefer this [section](#create-a-pdf-file-from-a-docx-file-by-providing-custom-value-for-timeouts) to\r\nknow more.\r\n\r\nThe SDK also supports setting up Proxy Server configurations which helps in successful API calls for network where all outgoing calls have to go through a proxy else, they are blocked. Please\r\nrefer this [section](#create-a-pdf-file-from-a-docx-file-by-providing-proxy-server-settings) to\r\nknow more.\r\n\r\n## Quota Exhaustion\r\n\r\nIf you receive ServiceUsageException during the Samples run, it means that trial credentials have exhausted their quota\r\nof 5000 pages. Contact [Adobe](https://www.adobe.com/go/pdftoolsapi_requestform) to get paid credentials.\r\n\r\n## Build JAR Dependencies With Maven\r\n\r\nMaven must be installed in order to properly pull in the JAR dependencies. Maven installation instructions can be found [here](https://maven.apache.org/install.html).\r\n\r\nRun the following command to build the project dependencies into a usable JAR and placed into the /lib directory:\r\n```$xslt\r\nmvn clean install\r\n```\r\n\r\n\u003e Note: The PDF Services SDK is listed as a dependency in the pom.xml and will be downloaded automatically. The project JAR is already built with the necessary dependencies and included in the project for use. If you need to re-build the project dependencies, you may run the build process described above.\r\n\r\n## Java API Documentation\r\n\r\nJavadocs for the current and previous versions of the PDF Services library can be obtained from the [official Java sample project](https://github.com/adobe/pdfservices-java-sdk-samples/tree/master/docs).\r\n\r\n## A Note On Logging\r\n\r\nUnlike the Java samples which use the [slf4j API](https://www.slf4j.org/) with a log4j2-slf4j binding, logging in the example CFCs is handled through the native CFML `writeLog()` function. To avoid any classpath conflicts, the pom.xml excludes the slf4j API JAR dependency.\r\n\r\n## Running the Samples\r\n\r\nTo execute the samples, you will need to run the project from a local installation of a ColdFusion server or stand up a server instance on the fly via [CommandBox](https://www.ortussolutions.com/products/commandbox).\r\n\r\nTo start a server using CommandBox, run `box start` in your terminal while pointing to the project working directory. The server will start on port `8520` and be available in the browser at `http://127.0.0.1:8520`. Note that by default the server will start using the latest version of `Adobe ColdFusion 2021`. To use a different version/engine, update the `cfengine` in `server.json`.\r\n\r\nThe following sub-sections describe how to run the samples. Prior to running the samples, check that the configuration\r\nfile is set up as described above and that the project has been built.\r\n\r\nThe code itself is in the `components` folder. The CFCs are executed in the browser via CFM pages found in `samples`. Test files used by the CFCs can be found in `resources`. When executed, all samples create an `output` folder under the working directory to store their results.\r\n\r\n### Create a PDF File\r\n\r\nThese samples illustrate how to convert files of some formats to PDF.\r\n\r\n#### Create a PDF File From a DOCX File\r\n\r\nThe sample CFC CreatePDFFromDOCX creates a PDF file from a DOCX file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=createpdf.CreatePDFFromDOCX\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=createpdf.CreatePDFFromDOCX\r\n```\r\n\r\n####  Create a PDF File From a DOCX File With Options\r\n\r\nThe sample CFC CreatePDFFromDOCXWithOptions creates a PDF file from a DOCX file by setting documentLanguage as\r\nthe language of input file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=createpdf.CreatePDFFromDOCXWithOptions\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=createpdf.CreatePDFFromDOCXWithOptions\r\n```\r\n\r\n#### Create a PDF File From a DOCX Input Stream\r\n\r\nThe sample CFC CreatePDFFromDOCXInputStream creates a PDF file from a DOCX input stream.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=createpdf.CreatePDFFromDOCXInputStream\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=createpdf.CreatePDFFromDOCXInputStream\r\n```\r\n\r\n#### Create a PDF File From a DOCX File (Write to an OutputStream)\r\n\r\nThe sample CFC CreatePDFFromDOCXToOutputStream creates a PDF file from a DOCX file. Instead of saving the result to a local file, it writes the result to an output stream.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=createpdf.CreatePDFFromDOCXToOutputStream\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=createpdf.CreatePDFFromDOCXToOutputStream\r\n```\r\n\r\n#### Create a PDF File From a PPTX File\r\n\r\nThe sample CFC CreatePDFFromPPTX creates a PDF file from a PPTX file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=createpdf.CreatePDFFromPPTX\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=createpdf.CreatePDFFromPPTX\r\n```\r\n\r\n#### Create a PDF File From Static HTML (via Zip Archive)\r\n\r\nThe sample CFC CreatePDFFromStaticHTML creates a PDF file from a zip file containing the input HTML file and its resources.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=createpdf.CreatePDFFromStaticHTML\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=createpdf.CreatePDFFromStaticHTML\r\n```\r\n\r\n#### Create a PDF File From Static HTML file with inline CSS\r\n\r\nThe sample CFC CreatePDFFromHTMLWithInlineCSS creates a PDF file from an input HTML file with inline CSS.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=createpdf.CreatePDFFromHTMLWithInlineCSS\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=createpdf.CreatePDFFromHTMLWithInlineCSS\r\n```\r\n\r\n#### Create a PDF File From HTML specified via URL\r\n\r\nThe sample CFC CreatePDFFromURL creates a PDF file rom an HTML specified via URL.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=createpdf.CreatePDFFromURL\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=createpdf.CreatePDFFromURL\r\n```\r\n\r\n#### Create a PDF File From Dynamic HTML (via Zip Archive)\r\n\r\nThe sample CFC CreatePDFFromDynamicHTML converts a zip file, containing the input HTML file and its resources, along with the input data to a PDF file. The input data is used by the JavaScript in the HTML file to manipulate the HTML DOM, thus effectively updating the source HTML file. This mechanism can be used to provide data to the template HTML dynamically and then, convert it into a PDF file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=createpdf.CreatePDFFromDynamicHTML\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=createpdf.CreatePDFFromDynamicHTML\r\n```\r\n\r\n#### Create a PDF File From a DOCX File (By providing in-memory Authentication credentials)\r\n\r\nThe sample CFC `CreatePDFWithInMemoryAuthCredentials` highlights how to provide in-memory auth credentials for performing an operation. This enables the clients to fetch the credentials from a secret server during runtime, instead of storing them in a file.\r\n\r\nBefore running the sample, authentication credentials need to be updated as per the instructions in the CFC.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=createpdf.CreatePDFWithInMemoryAuthCredentials\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=createpdf.CreatePDFWithInMemoryAuthCredentials\r\n```\r\n\r\n#### Create a PDF File From a DOCX File (By providing custom value for timeouts)\r\n\r\nThe sample project CreatePDFWithCustomTimeouts highlights how to provide the custom value for connection timeout and socket timeout.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=createpdf.CreatePDFWithCustomTimeouts\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=createpdf.CreatePDFWithCustomTimeouts\r\n```\r\n\r\n#### Create a PDF File From a DOCX File (By providing Proxy Server settings)\r\n\r\nThe sample project CreatePDFWithPorxyServer highlights how to provide Proxy Server configurations to allow all API calls via that proxy Server.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=createpdf.CreatePDFWithProxyServer\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=createpdf.CreatePDFWithProxyServer\r\n```\r\n\r\n### Export PDF To Other Formats\r\nThese samples illustrate how to export PDF files to other formats.\r\n\r\n#### Export a PDF File To a DOCX File\r\n\r\nThe sample CFC ExportPDFToDOCX converts a PDF file to a DOCX file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=exportpdf.ExportPDFToDOCX\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=exportpdf.ExportPDFToDOCX\r\n```\r\n#### Export a PDF file to a DOCX file (apply OCR on the PDF file)\r\n\r\nThe sample CFC ExportPDFToDOCXWithOCROption converts a PDF file to a DOCX file. OCR processing is also performed on the input PDF file to extract text from images in the document.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=exportpdf.ExportPDFToDOCXWithOCROption\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=exportpdf.ExportPDFToDOCXWithOCROption\r\n```\r\n#### Export a PDF File To an Image Format (JPEG)\r\n\r\nThe sample CFC ExportPDFToJPEG converts a PDF file's pages to a list of JPEG images.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=exportpdftoimages.ExportPDFToJPEG\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=exportpdftoimages.ExportPDFToJPEG\r\n```\r\n\r\n#### Export a PDF File To a Zip of Images (JPEG)\r\n\r\nThe sample CFC ExportPDFToJPEGZip converts a PDF file's pages to JPEG images. The resulting file is a ZIP archive containing one image per page of the source PDF file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=exportpdftoimages.ExportPDFToJPEGZip\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=exportpdftoimages.ExportPDFToJPEGZip\r\n```\r\n\r\n### Combine PDF Files\r\nThese samples illustrate how to combine multiple PDF files into a single PDF file.\r\n\r\n#### Combine Multiple PDF Files\r\n\r\nThe sample CFC CombinePDF combines multiple PDF files into a single PDF file. The combined PDF file contains all pages of the source files.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=combinepdf.CombinePDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=combinepdf.CombinePDF\r\n```\r\n\r\n#### Combine Specific Pages of Multiple PDF Files\r\n\r\nThe sample CFC CombinePDFWithPageRanges combines specific pages of multiple PDF files into into a single PDF file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=combinepdf.CombinePDFWithPageRanges\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=combinepdf.CombinePDFWithPageRanges\r\n```\r\n\r\n### OCR PDF File\r\n\r\nThese samples illustrate how to apply OCR(Optical Character Recognition) to a PDF file and convert it to a searchable copy of your PDF. The supported input format is application/pdf.\r\n\r\n#### Convert a PDF File into a Searchable PDF File\r\n\r\nThe sample CFC OcrPDF converts a PDF file into a searchable PDF file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=ocrpdf.OcrPDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=ocrpdf.OcrPDF\r\n```\r\n\r\n#### Convert a PDF File into a Searchable PDF File while keeping the original image\r\n\r\nThe sample CFC OcrPDFWithOptions converts a PDF file to a searchable PDF file with maximum fidelity to the original image and default en-us locale. Refer to the documentation of OCRSupportedLocale and OCRSupportedType to see the list of supported OCR locales and OCR types.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=ocrpdf.OcrPDFWithOptions\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=ocrpdf.OcrPDFWithOptions\r\n```\r\n\r\n### Compress PDF File\r\n\r\nThese samples illustrate how to reduce the size of a PDF file.\r\n\r\n#### Reduce PDF File Size\r\n\r\nThe sample CFC CompressPDF reduces the size of a PDF file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=compresspdf.CompressPDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=compresspdf.CompressPDF\r\n```\r\n\r\n####  Reduce PDF File Size On the Basis of Compression Level\r\n\r\nThe sample CFC CompressPDFWithOptions reduces the size of a PDF file on the basis of provided compression level.\r\nRefer to the documentation of CompressionLevel to see the list of supported compression levels.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=compresspdf.CompressPDFWithOptions\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=compresspdf.CompressPDFWithOptions\r\n```\r\n\r\n### Linearize PDF File\r\n\r\nThe sample illustrates how to convert a PDF file into a Linearized (also known as \"web optimized\") PDF file. Such PDF files are\r\noptimized for incremental access in network environments.\r\n\r\n#### Convert a PDF File into a Web Optimized File\r\n\r\nThe sample CFC LinearizePDF optimizes the PDF file for a faster Web View.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=linearizepdf.LinearizePDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=linearizepdf.LinearizePDF\r\n```\r\n\r\n### Protect PDF File\r\n\r\nThe sample illustrates how to secure a PDF file with a password.\r\n\r\n#### Convert a PDF File into a Password Protected PDF File\r\n\r\nThe sample CFC ProtectPDF converts a PDF file into a password protected PDF file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=protectpdf.ProtectPDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=protectpdf.ProtectPDF\r\n```\r\n\r\n#### Protect a PDF File with an Owner Password and Permissions\r\n\r\nThe sample CFC ProtectPDFWithOwnerPassword secures an input PDF file with owner password and allows certain access permissions\r\nsuch as copying and editing the contents, and printing of the document at low resolution.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=protectpdf.ProtectPDFWithOwnerPassword\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=protectpdf.ProtectPDFWithOwnerPassword\r\n```\r\n\r\n### Remove Protection\r\n\r\nThe sample illustrates how to remove a password security from a PDF document.\r\n\r\n#### Remove Protection from a PDF File\r\n\r\nThe sample CFC RemoveProtection removes a password security from a secured PDF document.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=removeprotection.RemoveProtection\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=removeprotection.RemoveProtection\r\n```\r\n\r\n### Rotate Pages\r\n\r\nThe sample illustrates how to rotate pages in a PDF file.\r\n\r\n#### Rotate Pages in PDF File\r\n\r\nThe sample CFC RotatePDFPages rotates specific pages in a PDF file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=rotatepages.RotatePDFPages\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=rotatepages.RotatePDFPages\r\n```\r\n\r\n### Delete Pages\r\n\r\nThe sample illustrates how to delete pages in a PDF file.\r\n\r\n#### Delete Pages from PDF File\r\n\r\nThe sample CFC DeletePDFPages removes specific pages from a PDF file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=deletepages.DeletePDFPages\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=deletepages.DeletePDFPages\r\n```\r\n\r\n### Reorder Pages\r\n\r\nThe sample illustrates how to reorder the pages in a PDF file.\r\n\r\n#### Reorder Pages in PDF File\r\n\r\nThe sample CFC ReorderPDFPages rearranges the pages of a PDF file according to the specified order.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=reorderpages.ReorderPDFPages\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=reorderpages.ReorderPDFPages\r\n```\r\n\r\n### Insert Pages\r\n\r\nThe sample illustrates how to insert pages in a PDF file.\r\n\r\n#### Insert Pages into a PDF File\r\n\r\nThe sample CFC InsertPDFPages inserts pages of multiple PDF files into a base PDF file.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=insertpages.InsertPDFPages\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=insertpages.InsertPDFPages\r\n```\r\n\r\n### Replace Pages\r\n\r\nThe sample illustrates how to replace pages of a PDF file.\r\n\r\n#### Replace PDF File Pages with Multiple PDF Files\r\n\r\nThe sample CFC ReplacePDFPages replaces specific pages in a PDF file with pages from multiple PDF files.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=replacepages.ReplacePDFPages\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=replacepages.ReplacePDFPages\r\n```\r\n\r\n### Split PDF File\r\n\r\nThese samples illustrate how to split PDF file into multiple PDF files.\r\n\r\n#### Split PDF By Number of Pages\r\n\r\nThe sample CFC SplitPDFByNumberOfPages splits input PDF into multiple PDF files on the basis of the maximum number of pages each of the output files can have.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=splitpdf.SplitPDFByNumberOfPages\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=splitpdf.SplitPDFByNumberOfPages\r\n```\r\n\r\n#### Split PDF Into Number of PDF Files\r\n\r\nThe sample CFC SplitPDFIntoNumberOfFiles splits input PDF into multiple PDF files on the basis of the number of documents.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=splitpdf.SplitPDFIntoNumberOfFiles\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=splitpdf.SplitPDFIntoNumberOfFiles\r\n```\r\n\r\n#### Split PDF By Page Ranges\r\n\r\nThe sample CFC SplitPDFByPageRanges splits input PDF into multiple PDF files on the basis of page ranges. Each page range corresponds to a single output file having the pages specified in the page range.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=splitpdf.SplitPDFByPageRanges\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=splitpdf.SplitPDFByPageRanges\r\n```\r\n\r\n### Document Merge\r\n\r\nAdobe Document Merge Operation allows you to produce high fidelity PDF and Word documents with dynamic data inputs. Using this operation, you can merge your JSON data with Word templates to create dynamic documents for contracts and agreements, invoices, proposals, reports, forms, branded marketing documents and more.\r\n\r\nTo know more about document generation and document templates, please checkout the [documentation](http://www.adobe.com/go/dcdocgen_overview_doc)\r\n\r\n#### Merge Document to DOCX with Fragments\r\n\r\nThe sample CFC MergeDocumentToDOCX merges the Word based document template with the input JSON data and fragments JSON to generate\r\nthe output document in the DOCX format.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=documentmerge.MergeDocumentToDOCXWithFragments\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=documentmerge.MergeDocumentToDOCXWithFragments\r\n```\r\n\r\n#### Merge Document to DOCX\r\n\r\nThe sample CFC MergeDocumentToDOCX merges the Word based document template with the input JSON data to generate\r\nthe output document in the DOCX format.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=documentmerge.MergeDocumentToDOCX\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=documentmerge.MergeDocumentToDOCX\r\n```\r\n\r\n#### Merge Document to PDF\r\n\r\nThe sample CFC MergeDocumentToPDF merges the Word based document template with the input JSON data to generate\r\nthe output document in the PDF format.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=documentmerge.MergeDocumentToPDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=documentmerge.MergeDocumentToPDF\r\n```\r\n\r\n### Extract PDF\r\n\r\nThese samples illustrate extracting content of PDF in a structured JSON format along with the renditions inside PDF. The output of SDK extract operation is Zip package. The Zip package consists of following:\r\n\r\n* The structuredData.json file with the extracted content \u0026 PDF element structure. See the [JSON schema](https://opensource.adobe.com/pdftools-sdk-docs/release/shared/extractJSONOutputSchema.json). Please refer the [Styling JSON schema](https://opensource.adobe.com/pdftools-sdk-docs/release/shared/extractJSONOutputSchemaStylingInfo.json) for a description of the output when the styling option is enabled.\r\n* A renditions folder(s) containing renditions for each element type selected as input. The folder name is either \"tables\" or \"figures\" depending on your specified element type. Each folder contains renditions with filenames that correspond to the element information in the JSON file.\r\n\r\n#### Extract Text Elements\r\n\r\nThe sample CFC ExtractTextInfoFromPDF.cfc extracts text elements from PDF document.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=extractpdf.ExtractTextInfoFromPDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=extractpdf.ExtractTextInfoFromPDF\r\n```\r\n\r\n#### Extract Text, Table Elements\r\n\r\nThe sample CFC ExtractTextTableInfoFromPDF extracts text, table elements from PDF document.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=extractpdf.ExtractTextTableInfoFromPDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=extractpdf.ExtractTextTableInfoFromPDF\r\n```\r\n\r\n#### Extract Text, Table Elements with Renditions of Table Elements\r\n\r\nThe sample CFC ExtractTextTableInfoWithRenditionsFromPDF extracts text, table elements along with table renditions from PDF document. Note that the output is a zip containing the structured information along with renditions as described in [section](#extract-pdf).\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=extractpdf.ExtractTextTableInfoWithRenditionsFromPDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=extractpdf.ExtractTextTableInfoWithRenditionsFromPDF\r\n```\r\n\r\n#### Extract Text, Table Elements with Renditions of Figure, Table Elements\r\n\r\nThe sample CFC ExtractTextTableInfoWithFiguresTablesRenditionsFromPDF extracts text, table elements along with figure and table element's renditions from PDF document. Note that the output is a zip containing the structured information along with renditions as described in [section](#extract-pdf).\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=extractpdf.ExtractTextTableInfoWithFiguresTablesRenditionsFromPDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=extractpdf.ExtractTextTableInfoWithFiguresTablesRenditionsFromPDF\r\n```\r\n\r\n#### Extract Text Elements and bounding boxes for Characters present in text blocks\r\n\r\nThe sample CFC ExtractTextInfoWithCharBoundsFromPDF extracts text elements and bounding boxes for characters present in text blocks. Note that the output is a zip containing the structured information along with renditions as described in [section](#extract-pdf).\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=extractpdf.ExtractTextInfoWithCharBoundsFromPDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=extractpdf.ExtractTextInfoWithCharBoundsFromPDF\r\n```\r\n\r\n#### Extract Text, Table Elements and bounding boxes for Characters present in text blocks with Renditions of Table Elements\r\n\r\nThe sample CFC ExtractTextTableInfoWithCharBoundsFromPDF extracts text, table elements, bounding boxes for characters present in text blocks and table element's renditions from PDF document. Note that the output is a zip containing the structured information along with renditions as described in [section](#extract-pdf).\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=extractpdf.ExtractTextTableInfoWithCharBoundsFromPDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=extractpdf.ExtractTextTableInfoWithCharBoundsFromPDF\r\n```\r\n\r\n#### Extract Text, Table Elements with Renditions and CSV's of Table Elements\r\n\r\nThe sample CFC ExtractTextTableInfoWithTableStructureFromPdf extracts text, table elements, table structures as CSV and\r\ntable element's renditions from PDF document. Note that the output is a zip containing the structured information\r\nalong with renditions as described in [section](#extract-pdf).\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=extractpdf.ExtractTextTableInfoWithTableStructureFromPdf\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=extractpdf.ExtractTextTableInfoWithTableStructureFromPdf\r\n```\r\n\r\n#### Extract Text, Table Elements with Styling information of text\r\n\r\nThe sample CFC ExtractTextTableInfoWithStylingFromPDF extracts text and table elements along with the styling information of the text blocks.\r\nNote that the output is a zip containing the structured information\r\nalong with renditions as described in [section](#extract-pdf).\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=extractpdf.ExtractTextTableInfoWithStylingFromPDF\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=extractpdf.ExtractTextTableInfoWithStylingFromPDF\r\n```\r\n\r\n### PDF Properties\r\n\r\nThis sample illustrates how to fetch properties of a PDF file.\r\n\r\n#### Fetch PDF Properties\r\n\r\nThe sample CFC GetPDFProperties fetches the properties of an input PDF.\r\n\r\nBrowser:\r\n```html\r\nhttp://127.0.0.1:8520/components/proxy.cfc?method=run\u0026cfcPath=pdfproperties.GetPDFProperties\r\n```\r\n\r\nCommandBox:\r\n```$xslt\r\nbox task run taskFile=Exec :cfcPath=pdfproperties.GetPDFProperties\r\n```\r\n\r\n### Licensing\r\n\r\nThis project is licensed under the MIT License to stay in compliance with the official Java sample project from Adobe. See [LICENSE](LICENSE) for more information.\r\n\r\n\u003e Each sample CFC in this project was based on the original classes in the official Java project created by Adobe. All credit goes to the original creators/contributors. Thank you!\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonyjunkes%2Fpdfservices-java-sdk-cfml-samples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftonyjunkes%2Fpdfservices-java-sdk-cfml-samples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonyjunkes%2Fpdfservices-java-sdk-cfml-samples/lists"}