-
…y, and simplify implementation.
-
…actor implementation to simplify null handling and align with API conventions.
-
…ctionary key access, and simplify null handling logic.
-
…s and `Members` structure - Simplified `Members` implementation by inlining into `NNTree` context. - Replaced `std::shared_ptr<Members>` with `std::make_shared` for improved clarity and usage consistency. - Updated method calls to directly access `Members`' `impl`. - Improved maintainability and alignment with modern C++ practices.
-
…e memory management, and streamline class definition.
-
…e()` for re-validation and repair of AcroForm structure.
-
…ated `acroform()` method and update related references for improved performance, consistency and maintainability.
-
…s_dest`, improve memory management, and streamline initialization logic
-
…rove memory management, and simplify initialization logic.
-
…fy logic, and enhance consistency with modern C++ practices.
-
- Introduced a `validate()` method in `QPDFNameTreeObjectHelper`, `QPDFNumberTreeObjectHelper`, and `NNTreeImpl`. - Ensure proper validation of tree keys and values, detecting invalid entries, unsorted keys, and inconsistencies. - Added support for auto-repair in case of validation errors.
-
- Introduced `std::function<bool(QPDFObjectHandle const&)>` to validate tree values. - Updated constructors and methods across `QPDFNameTreeObjectHelper` and `QPDFNumberTreeObjectHelper` to support value validation. - Refactored `NNTreeImpl` to check for invalid values during insertion, iteration, and retrieval. - Improved error handling and reporting for invalid values.
-
…reamline object assignment, and introduce constructors for `QPDFObjectHandle`.
-
Implement subscript operators (`operator[]`) to provide indexed access to `QPDFObjectHandle` for both `size_t` and `int` types.
-
…mplify control flow, and update method returns.
-
Refactor array handling in `QPDFObjectHandle`: replace `int` with `size_t` for size and index operations, introduce utility functions for type conversions, and simplify sparse array logic.
-
… warnings, and centralize utility methods.
-
…or deterministic ID generation (fixes #1235).
-
…evel` and add `const&` to `child` parameter.
-
…dding error counting and leveraging `reconstructed_xref` for improved robustness, limiting the acceptable number of errors for damaged files.
-
…std::string_view`, improving performance and code clarity.
-
…, improving encapsulation and memory management. Remove the now redundant `pushMD5Pipeline` method and streamline MD5 activation.
-
…te encryption handling
-
…ify pipeline stack management
-
Encapsulated pipeline stack management into a dedicated `Pl_stack` class within `QPDFWriter::Members`. Reorganized related methods to streamline and simplify initialization and activation of pipelines, removing redundant code.
-
…dundant normalization and string unparse logic across multiple write calls.
-
… overloads, streamline QDF handling, and simplify string and trailer writes.
-
…ys with `std::string`, and simplify related password handling logic.
-
…ased logic in `setEncryptionMinimumVersion`, and reduce redundancy across `QPDFWriter` methods.
-
…`, simplify method signatures, and centralize logic in `QPDF::EncryptionData` for improved maintainability.
-
…ng in method parameters, and simplify encryption logic for improved maintainability and reduced redundancy.
-
…uce redundancy, improve maintainability, and streamline parameter handling.
-
…ling, and improve maintainability.
-
…Perms_value_V5` methods; inline their logic into `setV5EncryptionParameters` to simplify encryption data processing.
-
…dom_string`, improve readability of salts and keys handling, and streamline `compute_Perms_value_V5_clear` logic by returning strings directly.