-
Implements structural equivalence following ISO 32000-2 Annex J, with a recursion depth limit (default 10) in place of cycle detection. Handles numeric promotion, sparse arrays, streams, indirect references, and null/uninitialized normalization. Includes tests in libtests/objects.cc.
-
Co-authored-by: m-holger <34626170+m-holger@users.noreply.github.com>
-
Introduce a new `--remove-acroform` option to remove the interactive form dictionary from the document catalog. Update related documentation, tests, and release notes to reflect this new feature. Fixes #1403
-
Avoid confusing latest CLion version.
-
…r improved clarity and safety. Update related methods and references accordingly.
-
- Move AcroForm-related methods (`analyze`, `traverseField`, `getOrCreateAcroForm`, etc.) from `QPDFAcroFormDocumentHelper` to the `AcroForm` class. - Update method calls across files to reflect changes. - Improve comments for methods to align with PDF specifications.
-
Add a new configurable limit `--max-stream-filters` to address excessive stream filters in damaged or specially constructed PDFs. Update related documentation, tests, and release notes to reflect this feature.
-
Introduce `qpdf::global::inspection_mode` for analyzing and repairing damaged PDFs with a restricted feature set. Update relevant code to enforce restrictions and add supporting test cases.
-
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
-
…ted tests, documentation, and references across the codebase.
-
Enhance the `global` namespace by introducing `limit_errors` for tracking the number of exceeded limits. Update related tests and documentation to ensure functionality and clarity.
-
…pport for configurable global limits via `qpdf_global_get_uint32` and `qpdf_global_set_uint32`.
-
- Modify `traverseField` to return `bool` for identifying invalid fields. - Add `bad_fields` set to track and handle problematic fields. - Improve error handling for invalid parent entries.
-
- Add null pointer checks for schema objects. - Refactor `checkSchemaInternal` for better readability and maintainability. - Replace redundant error construction logic with lambda-based approach. - Simplify array and dictionary schema handling. - Remove unused test coverage statistics.
-
… for clarity and consistency across dictionary operations.
-
…up method implementations, and simplify member handling.
-
…ed_ptr and forward declaration.
-
…ng handling with `qpdf::String`, and clean up `Members` class implementation.
-
…` file and eliminate unneccessary creation of `Members` object.
-
…oved shared pointer handling, remove deprecated object methods, and update all references.
-
…sages, and clean up `QPDF.hh`.
-
… and `findEndstream` to `Objects`, remove `QPDF::PatternFinder` class, and update related logic for improved encapsulation.
-
…, replace direct calls with `QIntC` equivalents, and clean up `QPDF.hh`.
-
…t` consistency to handle invalid entries, and improve loop detection logic.
-
…` parameter, update conditional checks, and streamline logic for field and annotation handling. Tighten validation of the PDF spec requirements that form fields form a tree and that widget annotations have a single parent by utilizing `field_to` and `annotation_to_field` in the loop detection check.
-
…with encapsulated `Config`, replace `qcf` with `d_cfg` for improved consistency, and adjust related logic for maintainability.