-
Commit by ejb@ql.org using m-holger as author so git annotate gives proper credit for changes.
-
Add methods isNameAndEquals, isDictionaryOfType, isStreamOfType
-
When adding a QPDFObjectHandle to an array or dictionary, if possible, check if the new object belongs to the same QPDF. This makes it much easier to find incorrect code than waiting for the situation to be detected when the file is written.
-
Also improve behavior around direct vs. indirect resources.
-
Also fix a bug in checking consistency of length for stream data providers. Length should not be checked or recorded if the provider says it failed to generate the data.
-
Use the first of ASCII, PDFDocEncoding, or UTF-16 that is capable of encoding the string.
-
Make some more methods in QPDFPageObjectHelper work with form XObjects, provide forEach methods to walk through nested form XObjects, possibly recursively. This should make it easier to work with form XObjects from user code.
-
StreamDataProvider::provideStreamData now has a rich enough API for it to effectively proxy to pipeStreamData.
-
Refactor removeUnreferencedResources to prepare for filtering form XObjects.
-
Just because we know an indirect reference is null, doesn't mean we shouldn't keep it indirect.