aboutsummaryrefslogtreecommitdiffstats
path: root/qpdf/qpdf.testcov
AgeCommit message (Collapse)Author
2013-07-08Add --show-npages option to qpdfJay Berkenbilt
2013-07-08Allow numeric range to be omitted qpdf --pagesJay Berkenbilt
Detect a missing page range and assume 1-z.
2013-06-15Handle more broken filesJay Berkenbilt
Space rather than newline after xref, missing /ID in trailer for encrypted file. This enables qpdf to handle some files that xpdf can handle. Adobe reader can't necessarily handle them.
2013-06-15Handle /Outlines dictionary being a direct objectJay Berkenbilt
Even though this case is not valid according to the spec, it has been seen, and caused an internal error.
2013-06-14Bug fix: handle generation > 0 when generating object streamsJay Berkenbilt
Rework QPDFWriter to always track old object IDs and QPDFObjGen instead of int, thus not discarding the generation number. Switch to QPDF::getCompressibleObjGen() to properly handle the case of an old object eligible for compression that has a generation of other than zero.
2013-02-23Bug fix: properly handle overridden compressed objectsJay Berkenbilt
When caching objects in an object stream, only cache objects that still resolve to that stream. See Changelog mod from this commit for details.
2013-01-20Add QPDFObjectHandle::parseContentStream methodJay Berkenbilt
This method allows parsing of the PDF objects in a content stream or array of content streams.
2012-12-31Update "C" API with functions for new featuresJay Berkenbilt
2012-12-31Remove /Crypt from stream filters unconditionallyJay Berkenbilt
When writing a new stream, always remove /Crypt even if we are not otherwise able to filter the stream.
2012-12-31Refactor Dictionary writing codeJay Berkenbilt
Original code was written before we could shallow copy objects, so all the filtering was done by suppressing the output of certain keys and replacing them with other keys. Now we can simplify the code greatly by modifying shallow copies of dictionaries in place.
2012-12-31Support for encryption with /V=5 and /R=5 and /R=6Jay Berkenbilt
Read and write support is implemented for /V=5 with /R=5 as well as /R=6. /R=5 is the deprecated encryption method used by Acrobat IX. /R=6 is the encryption method used by PDF 2.0 from ISO 32000-2.
2012-12-31Support files with only attachments encryptedJay Berkenbilt
Test cases added in a future commit since they depend on /R=6 support.
2012-12-31Fix infinite loop trimming passwords with ( in themJay Berkenbilt
2012-12-31Add ExtensionLevel support to version handlingJay Berkenbilt
All version operations are now fully aware of extension levels.
2012-12-31Eliminate flattenScalarReferencesJay Berkenbilt
2012-12-25Find PDF header anywhere in the first 1024 bytesJay Berkenbilt
2012-11-20Ignore objects with offset 0Jay Berkenbilt
2012-09-06Add QPDFWriter::setExtraHeaderTextJay Berkenbilt
2012-08-11Bug fix: let EOF resolve literal tokenJay Berkenbilt
Previously only whitespace and comments did it. This fix is needed for object streams whose last object is a literal (name, integer, real, string) not terminated by space or newline.
2012-07-29Improve password handlingJay Berkenbilt
Use --encryption-file-password, if given, in addition to --password as a source for passwords for files specified in --pages.
2012-07-21Implement QPDFObjectHandle::parseJay Berkenbilt
Move object parsing code from QPDF to QPDFObjectHandle and parameterize the parts of it that are specific to a QPDF object. Provide a version that can't handle indirect objects and that can be called on an arbitrary string. A side effect of this change is that the offset used when reporting invalid stream length has changed, but since the new value seems like a better value than the old one, the test suite has been updated rather than making the code backward compatible. This only effects the offset reported for invalid streams that lack /Length or have an invalid /Length key. Updated some test code and exmaples to use QPDFObjectHandle::parse. Supporting changes include adding a BufferInputSource constructor that takes a string.
2012-07-16Bug fix: preserve AES when copying encryption parametersJay Berkenbilt
2012-07-14Have QPDFWriter detect foreign objects while writingJay Berkenbilt
Throw an exception that directs the user to QPDF::copyForeignObject.
2012-07-11Support copying objects from another QPDF objectJay Berkenbilt
This includes QPDF::copyForeignObject and supporting foreign objects as arguments to addPage*.
2012-07-11Add concept of reserved objectsJay Berkenbilt
QPDFObjectHandle::{new,is,assert}Reserved, QPDF::replaceReserved provide a mechanism to add objects to a PDF file when there are circular references. This is a prerequisite to copying objects from one PDF to another.
2012-07-07Don't require stream data provider to know length in advanceJay Berkenbilt
Breaking API change: length parameter has disappeared from the StreamDataProvider version of QPDFObjectHandle::replaceStreamData since it is no longer necessary to compute it in advance. This breaking change is justified by the fact that removing the length parameter provides the caller an opportunity to simplify the calling code.
2012-07-05Limited inheritance to the attributes explicitly listed in the PDF specTobias Hoffmann
Previous versions of qpdf incorrectly passed arbitrary objects from /Pages objects down to individual pages in direct contradition with the PDF specification. These are now left in /Pages. When intermediate /Pages nodes are being discarded as when the /Pages tree is being flattened, a warning is issued when unknown keys are encountered.
2012-06-27Add a few minor enhancements to recent workJay Berkenbilt
Test coverage case for new newStream method Expose decimal_places argument for double-based newReal All enhancements suggested by Tobias.
2012-06-21Add QPDFObjectHandle::shallowCopy()Jay Berkenbilt
2012-06-21Add testing for page APIsJay Berkenbilt
2012-06-21Implement page manipulation APIsJay Berkenbilt
2012-06-21Add QPDF::processFile that takes an open FILE*Jay Berkenbilt
2011-08-11enhance PointerHolder so that it can explicitly be told to use delete [] ↵Jay Berkenbilt
instead of delete, thus making it useful to run valgrind over qpdf during its test suite
2011-08-11qpdf_set_info_key, qpdf_get_info_keyJay Berkenbilt
2011-08-11preserve /EncryptMetadata when copying encryption parametersJay Berkenbilt
2011-08-10implement replace and swapJay Berkenbilt
2011-04-30accept stream keyword with CR onlyrelease-qpdf-2.2.3Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1052 71b93d88-0707-0410-a8cf-f5a4172ac649
2011-04-30be less conservative when skipping over inline images in content normalizationJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1050 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-10-04add qpdf_read_memory to C APIJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1044 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-09-05handle stream filter abbreviations from table H.1Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1025 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-10getRawStreamData()Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1010 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-05addPageContentsJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@995 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-05newStreamJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@991 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-05add pipeline-based stream data replacement functionJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@990 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-03remove stream_data_handler; it wouldn't work as designed. replacement data ↵Jay Berkenbilt
implemented but not tested git-svn-id: svn+q:///qpdf/trunk@988 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-24add C interface for getting software versionJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@903 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-23improve C error handling interfaceJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@884 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-20update C API for error retrievalJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@830 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-20categorize all error messages and include object information if availableJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@829 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-19deal with stream-specific crypt filtersJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@827 71b93d88-0707-0410-a8cf-f5a4172ac649