Overview
Contains multiple Smart Services and Functions for interacting with PDF Documents.
Key Features & Functionality
Smart Services:
Functions:
We recently upgraded to 20.3 and this plugin was dropped from our environments. A suitable alternative for our use-case was the smart service named PDF Doc From Template. (Use a PDF template to populate data into and save as a PDF file in Appian)
This error will show up when there is a versioning issue with the plugin cdt. If you look in your tomcat-stdout logs you'll see the actual issue.
Support will point you to https://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
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..?