Logo white

OpenSystemsDevelopment / qpdf

Sign in
  • Sign in
  • Project
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • Commits 4,691
  • Compare
  • Branches 1
  • Tags 0
  • qpdf
  • libqpdf
06 Jan, 2026
2 commits
  • Add `--remove-acroform` option to exclude AcroForm dictionary ...
    f3109f67
    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
    m-holger authored
    2026-01-06 21:57:20 +0000  
    Browse Dir »
  • Refactor `FormNode::setRadioButtonValue` ...
    0ea709d4
    Fix identification of radio button widgets by relying on the absence of `Kids` arrays.
    Fix the exclusion of RadioButtonFields with parents.
    
    Fixes #1449
    m-holger authored
    2026-01-06 20:25:05 +0000  
    Browse Dir »

31 Dec, 2025
1 commit
  • Update copyrights
    83a7e6c3
    m-holger authored
    2025-12-31 18:56:52 +0000  
    Browse Dir »

26 Dec, 2025
2 commits
  • Merge pull request #1638 from m-holger/fuzz ...
    e812eafa
    Tighten named destination validation in `QPDFOutlineDocumentHelper::r…
    m-holger authored
    2025-12-26 19:24:33 +0000  
    Browse Dir »
  • Tighten named destination validation in `QPDFOutlineDocumentHelper::resolveNamed… ...
    ef951121
    …Dest`: instead of accepting any Dictionary require a `/D` entry.
    m-holger authored
    2025-12-26 17:47:05 +0000  
    Browse Dir »

23 Dec, 2025
1 commit
  • Enhance `AcroForm::transformAnnotations` to update '/P' field
    4069df97
    m-holger authored
    2025-12-23 15:32:08 +0000  
    Browse Dir »

22 Dec, 2025
1 commit
  • Fix `Lin::readHintStream` ...
    9068ee6b
    Reorder `no_ci_stop_if` call to avoid
    insertion of an invalid object into the object cache if the hint stream is invalid
    m-holger authored
    2025-12-22 18:20:48 +0000  
    Browse Dir »

21 Dec, 2025
5 commits
  • Refactor `FormNode::generateTextAppearance`: Simplifyby using range-based `for` loop
    7ac9a086
    m-holger authored
    2025-12-21 15:34:32 +0000  
    Browse Dir »
  • Refactor `FormNode`: remove unused `getFontFromResource` method and simplify fon… ...
    2a33db91
    …t resource handling in `generateTextAppearance`.
    m-holger authored
    2025-12-21 15:34:08 +0000  
    Browse Dir »
  • Fix appearance stream handling in `QPDFFormFieldObjectHelper::generateTextAppear… ...
    8aab6838
    …ance`: copy stream data if shared references exceed threshold, ensuring safe updates.
    m-holger authored
    2025-12-21 15:33:20 +0000  
    Browse Dir »
  • Refactor `FormNode::generateTextAppearance`: instead of attaching a stream filte… ...
    cf0e3422
    …r replace the appearance stream content with the generated appearance.
    m-holger authored
    2025-12-21 15:31:12 +0000  
    Browse Dir »
  • Refactor `FormNode::generateTextAppearance` to improve appearance stream handlin… ...
    361b387b
    …g: ensure checks for dictionary annotations, streamline appearance creation flow, and replace manual key access with methods.
    m-holger authored
    2025-12-21 15:25:22 +0000  
    Browse Dir »

13 Dec, 2025
1 commit
  • Allow empty name objects in qpdf JSON input parsing as permitted by the PDF spec… ...
    4ddac544
    …ification; update release notes accordingly.
    
    Fixes #1628
    m-holger authored
    2025-12-13 13:33:23 +0000  
    Browse Dir »

09 Dec, 2025
5 commits
  • Refactor `AcroForm::traverseField` to improve field handling logic: streamline c… ...
    2ac099bd
    …hecks, replace manual key access with `FormNode` methods, and enhance maintainability.
    m-holger authored
    2025-12-09 11:58:39 +0000  
    Browse Dir »
  • Fix `field` method in `FormNode`: the previous heuristic incorrectly treated the… ...
    66e41e3e
    … presence of a `/Parent` attribute as evidence that the node a form fields; however, it is also a (sometimes required) attribute of a pure widget annotation.
    m-holger authored
    2025-12-09 11:27:06 +0000  
    Browse Dir »
  • Introduce `FormNode::field()` and `FormNode::widget()` methods; refactor `QPDFAc… ...
    bc28f7db
    …roFormDocumentHelper` to use them instead of manual key checks
    m-holger authored
    2025-12-09 11:20:51 +0000  
    Browse Dir »
  • Introduce `FormNode::AP()` method and replace manual `/AP` processing with method calls
    00cf4ce5
    m-holger authored
    2025-12-09 11:15:36 +0000  
    Browse Dir »
  • Introduce `FormNode::Kids()` method and replace manual `/Kids` processing with method calls
    2fe9086a
    m-holger authored
    2025-12-09 11:15:36 +0000  
    Browse Dir »

06 Dec, 2025
3 commits
  • Minor code tweaks: Replace `throw std::runtime_error` with `util::no_ci_rt_error… ...
    d4b10a20
    …_if` for improved error handling in `QPDFWriter::writeLinearized` and adjust argv parsing in `objects.cc`tests.
    m-holger authored
    2025-12-06 11:48:42 +0000  
    Browse Dir »
  • Fix typo in warning message formatting in `QPDFParser.cc` and related test output
    631c5345
    m-holger authored
    2025-12-06 11:41:53 +0000  
    Browse Dir »
  • Fix typos and improve documentation clarity in comments
    21e3a06b
    m-holger authored
    2025-12-06 11:36:47 +0000  
    Browse Dir »

05 Dec, 2025
1 commit
  • Fix field traversal in `AcroForm::transformAnnotations`: replace iterator with `front`/`pop_front` ...
    87e4c7bd
    Fixes #1620
    m-holger authored
    2025-12-05 16:11:03 +0000  
    Browse Dir »

03 Dec, 2025
1 commit
  • Improve handling of root object `/Type` entries ...
    7bf08a22
    - Automatically repair missing or invalid `/Type` entries by setting them to `/Catalog`, unless in inspection mode.
    - Update related documentation and warnings to reflect this behavior.
    m-holger authored
    2025-12-03 13:14:17 +0000  
    Browse Dir »

02 Dec, 2025
1 commit
  • Refactor `AcroForm` to replace pointer-based method arguments with references fo… ...
    d35c34d8
    …r improved clarity and safety. Update related methods and references accordingly.
    m-holger authored
    2025-12-02 00:12:20 +0000  
    Browse Dir »

01 Dec, 2025
8 commits
  • Refactor `AcroForm`: centralize functionality within `AcroForm` class for improv… ...
    8d36ca4d
    …ed modularity and reusability.
    
    - Move methods from `QPDFAcroFormDocumentHelper` to `AcroForm` (`validate`, `invalidateCache`, `addFormField`, and more) to reduce duplication.
    - Update function calls and improve encapsulation by leveraging `AcroForm`.
    - Enhance comments and align with PDF specifications for better clarity.
    m-holger authored
    2025-12-01 22:48:50 +0000  
    Browse Dir »
  • Refactor `AcroForm`: rename member variables to follow consistent naming convent… ...
    6379f3f1
    …ion and improve code clarity.
    m-holger authored
    2025-12-01 19:08:11 +0000  
    Browse Dir »
  • Refactor `AcroForm` implementation to improve encapsulation and reusability. ...
    bd67a468
    - 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.
    m-holger authored
    2025-12-01 16:27:58 +0000  
    Browse Dir »
  • Rename `FormField.hh` to `AcroForm.hh` and update include references across file… ...
    f26327a3
    …s for consistency with refactored AcroForm structure.
    m-holger authored
    2025-12-01 15:56:08 +0000  
    Browse Dir »
  • Refactor AcroForm handling by introducing `AcroForm` class for better encapsulat… ...
    4d0ccbe4
    …ion and leveraging shared components.
    m-holger authored
    2025-12-01 15:55:45 +0000  
    Browse Dir »
  • Rename `FormField` class to `FormNode` for to reflect that node can also be widgets ...
    ed7f3d5e
    - Update class name and references in `FormField.hh` and `QPDFFormFieldObjectHelper.cc`.
    - Enhance comments to align with PDF specification, providing clearer descriptions of class functionality and attributes.
    m-holger authored
    2025-12-01 15:23:56 +0000  
    Browse Dir »
  • Introduce `--max-stream-filters` to limit filters on streams ...
    898c2943
    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.
    m-holger authored
    2025-12-01 14:39:37 +0000  
    Browse Dir »
  • Add `inspection_mode` for optional restricted PDF inspection ...
    675777bb
    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.
    m-holger authored
    2025-12-01 12:11:56 +0000  
    Browse Dir »

30 Nov, 2025
8 commits
  • In `QPDFJob` add warning for exceeded configurable limits ...
    e93381de
    - Add warning with associated documentation links.
    - Update tests to reflect the new warning messages.
    m-holger authored
    2025-11-30 22:24:06 +0000  
    Browse Dir »
  • Expose global settings in `QPDFJob` / the CLI
    1d6da600
    m-holger authored
    2025-11-30 22:24:06 +0000  
    Browse Dir »
  • Refactor `limits_error` handling for improved clarity and consistency ...
    e2823965
    - Introduce `limits_error` method in `QPDFParser` for centralized limit-related error handling.
    - Enhance warnings and error messages with detailed limit identifiers (e.g., `parser-max-nesting`).
    - Refactor limit checks to improve maintainability and ensure uniformity in error reporting.
    - Update tests and output to reflect adjusted error handling approach.
    m-holger authored
    2025-11-30 22:24:06 +0000  
    Browse Dir »
  • Rename `objects_*` limits to `parser_*` for clarity and consistency. Update rela… ...
    27e14333
    …ted tests, documentation, and references across the codebase.
    m-holger authored
    2025-11-30 22:24:06 +0000  
    Browse Dir »
  • Add `limit_errors` tracking to global options ...
    2774ac30
    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.
    m-holger authored
    2025-11-30 22:24:06 +0000  
    Browse Dir »
  • Introduce `global` namespace for managing qpdf global options and limits; add su… ...
    34db6e30
    …pport for configurable global limits via `qpdf_global_get_uint32` and `qpdf_global_set_uint32`.
    m-holger authored
    2025-11-30 22:24:06 +0000  
    Browse Dir »
  • Zsh completion: don't autoload bashcompinit unconditionally ...
    b8668c65
    It is the user's responsibility to autoload bashcompinit. If we do it,
    we may overwrite a custom complete function. If we don't do it at all,
    it won't work out of the box.
    
    This fixes debian bug
    1111509, reported by Vincent Lefèvre.
    Jay Berkenbilt authored
    2025-11-30 12:28:00 -0500  
    Browse Dir »
  • Fix bash completion issue ...
    29631cab
    Reported by Stephane Chazelas. Potentially sensitive arguments could
    be leaked to the environment during completion computation.
    Jay Berkenbilt authored
    2025-11-30 11:36:33 -0500  
    Browse Dir »