Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-01-17 | Add QUtil::possible_repaired_encodings | 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 | Bidirectional transcoding for win, mac, pdf, utf8, utf16 | Jay Berkenbilt | |
2019-01-17 | Move remaining existing transcoding to QUtil | Jay Berkenbilt | |
2019-01-17 | Additional checks for unreferenced resources | Jay Berkenbilt | |
Explicitly abandon removal of unreferenced resources if there are any lexical errors in the page's contents. This case always generated a warning, but it now also prevents removal of unreferenced resources, this strongly decreasing the likelihood of data loss. | |||
2019-01-17 | Copy subdictionaries when removing resources (fixes #276) | Jay Berkenbilt | |
When removing unreferenced resources, the code was copying the overall resource dictionaries but not the subdictionaries being modified. This was a "typo" in the code -- the comment clearly stated the need to do this, but the code replaced the dictionary with itself rather than with a shallow copy of itself. | |||
2019-01-12 | Allow adding the same page more than once in --pages (fixes #272) | 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-07 | Update version to 8.3.0 | Jay Berkenbilt | |
2019-01-07 | Fix integer overflow in large file test | Jay Berkenbilt | |
2019-01-07 | Exercise out of scope original pdf for copyForeignObject | 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-07 | Make a static version of QPDF::pipeStreamData | Jay Berkenbilt | |
This is in preparation of being able to pipe a stream's data without keeping a copy of its containing qpdf object. | |||
2019-01-07 | Create an application-scope unique ID for each QPDF object | Jay Berkenbilt | |
Use this instead of QPDF* as a map key for object_copiers. | |||
2019-01-06 | Move encryption parameters into a class | Jay Berkenbilt | |
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 | Refactor QUtil::utf8_to_ascii | Jay Berkenbilt | |
2019-01-06 | Move utf8_to_utf16 into QUtil | Jay Berkenbilt | |
2019-01-06 | Refactor string transcoding in QPDF_String | Jay Berkenbilt | |
2019-01-05 | Spell check | 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-04 | Add special case setV code for button fields | Jay Berkenbilt | |
2019-01-04 | Add form fields to json output | Jay Berkenbilt | |
Also add some additional methods for detecting form field types to assist in the json creation and for later use. | |||
2019-01-03 | Honor flags when flattening annotations | Jay Berkenbilt | |
2019-01-03 | Minor fixes | Jay Berkenbilt | |
2019-01-03 | Fix seg fault on empty xref stream (fixes #263) | Jay Berkenbilt | |
Thanks to @p-cher for supplying a patch. | |||
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 and annotation appearance stream handling | Jay Berkenbilt | |
Generate page content fragment for rendering appearance streams including all matrix calculation. | |||
2019-01-01 | Add Matrix class under QPDFObjectHandle | Jay Berkenbilt | |
2019-01-01 | Transformation matrix | Jay Berkenbilt | |
2018-12-25 | JSON::serialize -> unparse | Jay Berkenbilt | |
Unparse is admittedly strange, but I'd rather be strange and consistent, and everything else in the qpdf library uses unparse to serialize. (If you're reading this, the convention of using "unparse" comes from the "clu" programming language.) | |||
2018-12-22 | Move numrange code from qpdf.cc to QUtil.cc | Jay Berkenbilt | |
Also move tests to libtests. | |||
2018-12-22 | Add document and object helpers for outlines (bookmarks) | Jay Berkenbilt | |
2018-12-22 | Add QPDFObjectHandle::getJSON() | Jay Berkenbilt | |
2018-12-22 | Add simple JSON serializer | Jay Berkenbilt | |
2018-12-22 | Add QPDFNameTreeObjectHelper | Jay Berkenbilt | |
2018-12-21 | Minor cleanup | Jay Berkenbilt | |
2018-12-18 | Add QPDFPageLabelDocumentHelper | Jay Berkenbilt | |
2018-12-18 | Add QPDFNumberTreeObjectHelper | Jay Berkenbilt | |
2018-12-18 | Add QPDFObjectHandle::wrapInArray() | Jay Berkenbilt | |
Wrap an object in an array if it is not already an array. |