Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | Spell check | Jay Berkenbilt | |
2019-01-05 | Add CLI flags for image optimization | 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 | 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 | |
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-22 | Add missing virtual destructors to all helper classes | 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. | |||
2018-12-18 | Fix typo in header file | Jay Berkenbilt | |
2018-08-14 | New exception class QPDFSystemError (fixes #221) | Jay Berkenbilt | |
2018-08-12 | Protect headers with compliant identifiers (fixes #233) | Jay Berkenbilt | |
2018-08-06 | Fix EOL handling inside strings (fixes #226) | Jay Berkenbilt | |
CR, CRLF, and LF are all supposed to be treated as LF; only one EOL is to be ignored after backslash. | |||
2018-08-05 | Add QPDF_DLL to public destructors (fixes #220) | Jay Berkenbilt | |
A few public destructors were missing QPDF_DLL, which could cause some Windows applications to fail to link. | |||
2018-08-05 | ClosedFileInputSource: add method to keep file open | Jay Berkenbilt | |
During periods of intensive operation on a specific file, this method can reduce the overhead of repeated open/close operations. | |||
2018-06-22 | Windows fixes | Jay Berkenbilt | |
2018-06-22 | spell check | Jay Berkenbilt | |
2018-06-22 | Add progress reporting for QPDFWriter (fixes #200) | Jay Berkenbilt | |
2018-06-22 | Add method to get count of objects in QPDF | Jay Berkenbilt | |
2018-06-22 | Add ClosedFileInputSource | Jay Berkenbilt | |
ClosedFileInputSource is an input source that keeps the file closed when not reading it. | |||
2018-06-22 | When splitting files, remove unreferenced objects (fixes #203) | Jay Berkenbilt | |
2018-06-22 | Fix QPDFObjectHandle::shallowCopy | Jay Berkenbilt | |
It's not really a shallow copy. It just doesn't cross indirect object boundaries. The old implementation had a bug that would cause multiple shallow copies of the same object to share memory, which was not the intention. | |||
2018-06-21 | Allow setting a form field's value | Jay Berkenbilt | |
2018-06-21 | Better support for creating Unicode strings | Jay Berkenbilt | |
2018-06-21 | QUtil::toUTF16 | Jay Berkenbilt | |
2018-06-21 | Implement helper class for interactive forms | Jay Berkenbilt | |
2018-06-21 | Add QPDFPageDocumentHelper and QPDFPageObjectHelper | Jay Berkenbilt | |
This is the beginning of higher-level API support using helper classes. The goal is to be able to add more helpers without continuing to pollute QPDF's and QPDFObjectHandle's public interfaces. | |||
2018-06-21 | Add QPDFObjectHandle::Rectangle type | Jay Berkenbilt | |
Provide a convenient way of accessing rectangles. | |||
2018-03-06 | Properly handle pages with no contents (fixes #194) | Jay Berkenbilt | |
Remove calls to assertPageObject(). All cases in the library that called assertPageObject() work fine if you don't call assertPageObject() because nothing assumes anything that was being checked by that call. Removing the calls enables more files to be successfully processed. | |||
2018-02-19 | Properly handle strings with PDF Doc Encoding (fixes #179) | Jay Berkenbilt | |
The QPDF_String::getUTF8Val() method was not treating strings that weren't explicitly Unicode as PDF Doc Encoded. This only affects characters in the range 0x80 through 0xa0. | |||
2018-02-19 | Add C API for checking PDF files | Jay Berkenbilt | |