General Notes about PDF Support
PDF support is built on top of the Apache PDFBox libraries. PDF
files are highly variable. Not all PDF reading software can read the output from
all PDF writing software, even if both the reader and the writer are attempting
to follow the specification. If you find a PDF file that PDFBox can’t read, it’s
unlikely that it’s a problem XML Calabash can fix. (In the course of developing
the cx:pdf-form step, for example, testing turned up several PDF
files that PDFBox couldn’t update because of missing fonts.)
All of the PDF steps have a password option.
This is only required to load encrypted PDF files.
Loading an encrypted PDF always removes the security settings.
If you need to restrict a modified PDF, use cx:pdf-encrypt
as the last step.
The compression option, on steps that create PDF files,
determines whether the resulting PDF is compressed. PDFs are compressed unless
“none” is specified for compression.
Some complex features, like managing digital signatures, aren’t supported in XML Calabash but possibly could be. Feel free to open issues, but if you can’t provide samples that demonstrate what’s required, it may not be practical to implement the features.
Dependencies
These steps and their dependencies are included in the XML Calabash application. If you are getting XML Calabash from Maven, you will also need to include the following additional dependencies:
org.apache.pdfbox:pdfbox:3.0.7org.apache.pdfbox:pdfbox-io:3.0.7org.apache.pdfbox:xmpbox:3.0.7