Overview
Contains multiple Smart Services and Functions for interacting with PDF Documents.
Key Features & Functionality
Smart Services:
Functions:
We are using the PDFBox library to insert the fields into the PDF.
You may be running into this issue:
stackoverflow.com/.../form-field-values-set-with-pdfbox-not-visible-in-adobe-reader
This plugin is using the PDFBox java library: https://pdfbox.apache.org/docs/2.0.7/javadocs/org/apache/pdfbox/text/PDFTextStripper.html
If you are seeing issues, they will be present in that library and not fixable directly in the plug-in.
Was your question on how to modify this plug-in so that you can redeploy it on your environment?
Do you mean for Create PDF Smart Service? Here's an example configuration that produces the following image. You will need to adapt the rules to use the equivalent data types (e.g. rule!PdfText to type!PdfText)
Example PDF.txt
Hi Druva Kota
Thus plug-in no longer deploys in one of our internal CS Cloud environments. Support have diagnosed this as an issue with a deprecated function to change the data type of a CDT. In this environment there is already a PdFField CDT with a different namespace:
PdfField (http://types.appiancorp.com/ps). Deleting this CDT before deploying the plug-in does not seem to make any difference - the CDT is re- created with the same namespace during the failed deployment.
Deployment error:
2020-10-07 02:25:00,850 [localhost-startStop-1] ERROR com.appiancorp.plugins.LoggingPluginEventListener - Failed to enable Plug-in 'PDF Tools' (pdftools) version 2.2.9: 'There was a problem loading the module descriptor: Fill PDF.<br/>com.appiancorp.suiteapi.common.exceptions.AppianRuntimeException: com.appiancorp.process.admin.IncompatibleSmartServiceRegistrationException: The Smart Service Module was invalid: Illegal attempt to change the data type for smart service pdftools.FillPDFPauseOnError, input or output named PdfFields (APNX-1-4104-005)'
Support recommendation:
In terms of next steps, I recommend following the steps outlined in the following KB to update the CDT version that the plug-in is referencing in the code: community.appian.com/.../kb-1097-illegal-attempt-to-change-the-data-type-for-smart-service-x-x-x-input-or-output-named-name-error-thrown-during-plugin-deployment
This has NO documentation whatsoever on how to use this properly to generate a PDF. Alternative - Create a PDF template, Use "PDF doc from Template" smart service.
Has anyone run into issues with the "Get PDF Text" function? It doesn't seem to retain the order of text present in the document. It will mix in the header content of the page with the text body of the document.
Druva Kota just in case you see this..?
I'm having an issue when using FillPDF to populate fields in a LiveCycle document. First I need to offer kudos that it works at all - the LiveCycle file format is pestersome and in my experience has been hard to work with.
My issue is pretty straightforward: when I fill in a field in-process, and view the resulting document either in the Appian preview field, or previewed directly within Chrome, the filled-in value appears seemingly correctly. But if I download the generated document and open in Adobe Reader, the field is apparently still empty. If I open the file in a text editor, I'm able to find the value that had been inserted... but when I enter the value directly in Adobe Reader then save, the desired value shows up in additional places within the binary (again, viewed within a text editor). I don't know what the exact issue is here, however it's preventing me from using Fill PDF to fulfill a use case of ours, which the older PDF from Template smart service fails at (in a worse way). If anyone's able to offer some insight into this, I'd appreciate it.