aboutsummaryrefslogtreecommitdiffstats
path: root/qpdf
AgeCommit message (Collapse)Author
2024-02-17set page labels: detect start page < 1 (fixes #939)Jay Berkenbilt
2024-02-17Merge branch 'jw' from #1146 into workJay Berkenbilt
2024-02-16Expose QPDFObjectHandle::writeJSONm-holger
2024-02-16Add additional name token JSON testsm-holger
Also, test writing JSON v1 files and files with deeply nested containers.
2024-02-16Add additional sparse array JSON testsm-holger
2024-02-11Fix previous fix to setting checkbox value (fixes #1056)Jay Berkenbilt
The code accepted values other than /Yes but still used /Yes as the checked value instead of obeying the normal appearance dictionary.
2024-02-06Detect JSON object whose value is an indirect objectJay Berkenbilt
2024-02-04Handle parse error stream data (fixes #1123)Jay Berkenbilt
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.
2024-01-29Allow "n:/pdf-syntax" JSON syntax for dictionary keysm-holger
2024-01-17Tighten checks for invalid indirect references during xref reconstructionm-holger
2024-01-17Tighten checks for invalid indirect references in QPDFParserm-holger
2024-01-12Fix null pointer issue on array copyJay Berkenbilt
2024-01-11Add non-trivial multiple overlay/underlay testsJay Berkenbilt
2024-01-11Include filename in verbose output for overlay/underlayJay Berkenbilt
2024-01-10Handle pages/under/overlay JSON file in beginJay Berkenbilt
...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.
2024-01-10Allow --file with --overlay and --underlayJay Berkenbilt
2024-01-10Allow --file and --range with --pagesJay Berkenbilt
Accept --file and --range as named parameters in additional to allowing positional arguments. This is in preparation for adding additional flags.
2024-01-10Fix arg parsing check with --collateJay Berkenbilt
The check for the number of items was in the wrong place.
2024-01-07Bug fix: treat old generations of reused objects as nullJay Berkenbilt
2024-01-07Add better tests for generation > 0 with object streamsJay Berkenbilt
This includes an expected failure for a file with a dangling reference to an old generation.
2024-01-07Add failing tests to illustrate qpdf's generation bugJay Berkenbilt
2024-01-06Attempt to find xref streams during recovery (fixes #1103)Jay Berkenbilt
2024-01-05Implement --set-page-labels and supporting API (fixes #939)Jay Berkenbilt
2024-01-05Wiring for --set-page-labels: manual (non-bisectable commit)Jay Berkenbilt
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.
2024-01-02Support comma-separated numeric values with --collate (fixes #505)Jay Berkenbilt
2023-12-29Preserve annotations that inherently lack appearance (fixes #1039)Jay Berkenbilt
...when flattening annotations. This includes /Link, /Popup, and /Projection.
2023-12-27Tweak utf8 checksJay Berkenbilt
2023-12-25Add overlong UTF-8 bytes into JSON testsJay Berkenbilt
2023-12-24Remove --disable-signatures; incorporate into --remove-restrictionsJay Berkenbilt
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.
2023-12-23Format code, bump clang-format version to 18Jay Berkenbilt
2023-12-23Handle --encrypt -- without crashingJay Berkenbilt
2023-12-23Arbitrarily use new --encrypt syntax for some testsJay Berkenbilt
Now the tests intermix old and new syntax, ensuring both are exercised.
2023-12-23Implement new --encrypt args and completion (fixes #784)Jay Berkenbilt
Positional arguments are supported in a backward-compatible way, but completion no longer guides users to it.
2023-12-21Convert scientific notation in JSON to fixed point (fixes #1079)Jay Berkenbilt
JSON accepts scientific notation, but PDF doesn't.
2023-12-21Add "n:/pdf-name" to qpdf JSON for binary names (fixes #1072)Jay Berkenbilt
2023-12-21Merge branch 'parse_ref' into workJay Berkenbilt
2023-12-20Remove compression from linearization tests where possibleJay Berkenbilt
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.
2023-12-20Avoid depending on exact xref stream offsetsJay Berkenbilt
For the modified test case, we care about successful recovery, not about the exact offsets. Add a filter to remove the specific numbers from show-xref.
2023-12-20Bug fix: don't compress hint streams when --compress-streams=nJay Berkenbilt
2023-12-20Bug fix: don't compress object/xref streams with --compress-streams=nJay Berkenbilt
2023-12-20Fix tests with password-protected filesJay Berkenbilt
2023-12-20Fix tests with deterministic IDsJay Berkenbilt
2023-12-20Ensure there is a meaningful deterministic ID testJay Berkenbilt
If we ignore /ID[1], we need to make sure deterministic IDs are tested properly.
2023-12-20Fix tests when running comparison tool is adequateJay Berkenbilt
Fix all tests where the only required fix is to run qpdf-test-compare instead of doing a simple file comparison.
2023-11-23Change default for SF_FlateLzwDecode::columns to 1m-holger
2023-11-03In QPDFParser::parse create dictionaries on the flym-holger
Also, don't search for /Contents name unless the result is used.
2023-11-03In QPDFParser::parse refactor parsing of indirect referencesm-holger
2023-11-03Remove redundant code in QPDFParser::parse and parseRemainderm-holger
Also, fix test cases.
2023-11-01In QPDFParser::parse refactor eof handlingm-holger
2023-10-14Add another string parsing testJay Berkenbilt