-
Flatten annotations by integrating their appearance streams into the content stream of the containing page. In the case of form fields, only flatten if /NeedAppearance is false (or equivalently absent). If flattening form fields, also remove /AcroForm from the document catalog.
-
Generate page content fragment for rendering appearance streams including all matrix calculation.
-
Unparse is admittedly strange, but I'd rather be strange and consistent, and everything else in the qpdf library uses unparse to serialize. (If you're reading this, the convention of using "unparse" comes from the "clu" programming language.)
-
When @file is used and file doesn't exist, just treat it as a normal argument.
-
The json mode implemented in this commit is not the final version, or are the command line arguments used to invoke it.
-
Also move tests to libtests.
-
Now uses QPDFOutlineDocumentHelper and QPDFOutlineObjectHelper.