-
Also, test writing JSON v1 files and files with deeply nested containers.
-
The code accepted values other than /Yes but still used /Yes as the checked value instead of obeying the normal appearance dictionary.
-
A parse error in stream data in which stream data contained a nested object would cause a crash because qpdf was not correctly updating its internal state. Rework the QPDF json reactor to not be sensitive to parse errors in this way.
-
...since they have to be handled before other options. It was working because, in both cases, `file` was alphabetically before the other keys, but this implementation gives a stronger guarantee.
-
Accept --file and --range as named parameters in additional to allowing positional arguments. This is in preparation for adding additional flags.
-
The check for the number of items was in the wrong place.
-
This includes an expected failure for a file with a dangling reference to an old generation.
-
This commit contains only the manual changes. It is separated for clarity. This commit would not pass CI because it lacks the automated changes, which appear in the next commit.
-
...when flattening annotations. This includes /Link, /Popup, and /Projection.
-
Rather than adding yet another flag that is almost never useful on its own, just have --remove-restrictions disable digital signatures. The operations are still separate in the API.
-
Now the tests intermix old and new syntax, ensuring both are exercised.
-
Positional arguments are supported in a backward-compatible way, but completion no longer guides users to it.
-
JSON accepts scientific notation, but PDF doesn't.
-
By combining --linearize with --compress-streams=n, we ensure that no new compressed data will appear in linearized output, which makes the output independent of zlib's output. There are other tests to ensure that linearization works correctly with compression. This commit involves changing some test outputs and test code as well just updating test suites.