Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-01-31 | Inline image token value ends with EI, not delimiter | Jay Berkenbilt | |
The inline image token erroneously included the delimiter that followed EI. The ObjectHandle created from it was correct. | |||
2019-01-29 | Handle direct page objects (fixes #164) | Jay Berkenbilt | |
2019-01-29 | Fix logic for when to compress object and xref streams (fixes #271) | Jay Berkenbilt | |
2019-01-29 | Resolve duplicated page objects (fixes #268) | Jay Berkenbilt | |
When linearizing a file or getting the list of all pages in a file, detect if the pages tree contains a duplicated page object and, if so, shallow copy it. This makes it possible to have a one to one mapping of page positions to page objects. | |||
2019-01-27 | Add --overlay and --underlay to qpdf CLI (fixes #207) | Jay Berkenbilt | |
2019-01-27 | Example of form XObject, page overlay | Jay Berkenbilt | |
2019-01-27 | Convert pages to form XObjects | Jay Berkenbilt | |
Support conversion of pages to form XObjects and placement of form XObjects on pages. | |||
2019-01-27 | Add QPDFObjectHandle::getUniqueResourceName | Jay Berkenbilt | |
2019-01-26 | Handle inheritable page attributes | Jay Berkenbilt | |
Add getAttribute for handling inheritable page attributes, and fix getPageImages and annotation flattening code to use it. | |||
2019-01-21 | Handle fallback font size in text appearances | Jay Berkenbilt | |
If we end up using our fallback font size when generating appearances for text fields, reflect that in the Tf operator used in the appearance stream. | |||
2019-01-21 | Fix omissions in text appearance generation | Jay Berkenbilt | |
When generating appearance streams for variable text annotations, properly handle the cases of there being no appearance dictionary, no appearance stream, or an appearance stream with no BMC..EMC marker. | |||
2019-01-21 | When flattening, remove annotations with no appearance stream | Jay Berkenbilt | |
With the exception of form field annotations when /NeedAppearances is true, remove annotations that don't have appearance streams when flattening. There is no reason to keep these when flattening since they are invisible. This may include unchecked checkboxes, unshown popup windows, etc. | |||
2019-01-19 | Implement password recovery suppression and password mode (fixes #215) | Jay Berkenbilt | |
Allow fine control over how passwords are encoded for writing, and allow password for reading to be given as a hexademical encoded string. Allow suppression of password recovery as a means to ensure that the password you specify is actually the right one. | |||
2019-01-19 | Try passwords with different string encodings | Jay Berkenbilt | |
2019-01-17 | Add QUtil::possible_repaired_encodings | Jay Berkenbilt | |
2019-01-17 | Update CLI and manual for new encryption granularity (fixes #214) | Jay Berkenbilt | |
2019-01-17 | Modernize encryption API for more granularity | Jay Berkenbilt | |
Setting encryption permissions for R >= 3 set permission bits in groups corresponding to menu options in Acrobat 5. The new API allows the bits to be set individually. | |||
2019-01-17 | Add status-reporting transcoders to QUtil | Jay Berkenbilt | |
2019-01-17 | QUtil::analyze_encoding | Jay Berkenbilt | |
2019-01-17 | Add tests for shared font/xobject | Jay Berkenbilt | |
The tests are in a separate commit so the bug-fix commit can be taken as a patch for older versions. | |||
2019-01-12 | Allow adding the same page more than once in --pages (fixes #272) | Jay Berkenbilt | |
2019-01-12 | Interpret . in --pages as a shortcut for the primary file | Jay Berkenbilt | |
2019-01-11 | Add configure option AVOID_WINDOWS_HANDLE | Jay Berkenbilt | |
If set, we avoid using Windows I/O HANDLE, which is disallowed in some versions of the Windows SDK, such as for Windows phones. QUtil::same_file will always return false in this case. Only applies to Windows builds. | |||
2019-01-11 | Add QPDF::setImmediateCopyFrom | Jay Berkenbilt | |
2019-01-08 | Add completion files for packagers | Jay Berkenbilt | |
2019-01-08 | Add --disable-check-autofiles to configure | Jay Berkenbilt | |
2019-01-07 | Prepare 8.3.0 release | Jay Berkenbilt | |
2019-01-07 | Update release notes for 8.3.0 | Jay Berkenbilt | |
2019-01-07 | Mostly don't require original QPDF for copyForeignObject (fixes #219) | Jay Berkenbilt | |
The original QPDF is only required now when the source QPDFObjectHandle is a stream that gets its stream data from a QPDFObjectHandle::StreamDataProvider. | |||
2019-01-06 | Honor other base encodings when generating appearances | Jay Berkenbilt | |
2019-01-06 | Add WinAnsi and MacRoman encoding | Jay Berkenbilt | |
2019-01-06 | Move utf8_to_utf16 into QUtil | Jay Berkenbilt | |
2019-01-05 | Add CLI flags for image optimization | Jay Berkenbilt | |
2019-01-04 | Support page collation with --collate (fixes #259) | Jay Berkenbilt | |
2019-01-04 | Add QPDFWriter::getFinalVersion (fixes #266) | Jay Berkenbilt | |
2019-01-04 | Don't call assert while checking linearization data (fixes #209, #231) | Jay Berkenbilt | |
Instead of calling assert for problems found during checking linearization data, throw an exception which is later caught and issued as an error. Ideally we would handle errors more robustly, but this is still a significant improvement. | |||
2019-01-04 | Fix dangling references (fixes #240) | Jay Berkenbilt | |
On certain operations, such as iterating through all objects and adding new indirect objects, walk through the entire object structure and explicitly resolve any indirect references to non-existent objects. That prevents new objects from springing into existence and causing the previously dangling references to point to them. | |||
2019-01-04 | Add basic appearance stream generation | Jay Berkenbilt | |
2019-01-04 | Add QUtil::utf8_to_ascii | Jay Berkenbilt | |
2019-01-03 | Honor flags when flattening annotations | Jay Berkenbilt | |
2019-01-03 | Minor fixes | Jay Berkenbilt | |
2019-01-03 | Switch annotation flattening to use the form xobjects | Jay Berkenbilt | |
Instead of directly putting the contents of the annotation appearance streams into the page's content stream, add commands to render the form xobjects directly. This is a more robust way to do it than the original solution as it works properly with patterns and avoids problems with resource name clashes between the pages and the form xobjects. | |||
2019-01-01 | Annotation flattening including form fields | Jay Berkenbilt | |
Flatten annotations by integrating their appearance streams into the content stream of the containing page. In the case of form fields, only flatten if /NeedAppearance is false (or equivalently absent). If flattening form fields, also remove /AcroForm from the document catalog. | |||
2019-01-01 | Add QPDFObjectHandle::mergeDictionary() | Jay Berkenbilt | |
2019-01-01 | Add Matrix class under QPDFObjectHandle | Jay Berkenbilt | |
2018-12-23 | Don't crash on @file when file doesn't exist (fixes #265) | Jay Berkenbilt | |
When @file is used and file doesn't exist, just treat it as a normal argument. | |||
2018-12-23 | Support zsh completion | Jay Berkenbilt | |
2018-12-22 | Document json support | Jay Berkenbilt | |
2018-12-22 | Allow --show-object=trailer | Jay Berkenbilt | |
2018-12-22 | Support bash completion using complete -C | Jay Berkenbilt | |