summaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDF.cc
AgeCommit message (Collapse)Author
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-21Move readToken from QPDF to QPDFTokenizerJay Berkenbilt
2012-07-21Refactor: pull *InputSource out of QPDFJay Berkenbilt
InputSource, FileInputSource, and BufferInputSource are now top-level classes instead of privately nested inside QPDF.
2012-07-18Prevent seeking before beginning of BufferInputSourceJay Berkenbilt
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-06-27Rework InputSource::readLine to make it much more efficientJay Berkenbilt
This rework makes xref reconstruction run much faster and use much less memory.
2012-06-27Rename seek functions in QUtilJay Berkenbilt
2012-06-26Set version to 3.0.a0Jay Berkenbilt
2012-06-25Fix large file support for 32-bit LinuxJay Berkenbilt
2012-06-24Fix and test support for files >= 4 GBJay Berkenbilt
2012-06-24Change QPDF_Integer from int to long longJay Berkenbilt
This makes it possible to store offsets that are larger than 2 GB in the trailer dictionary.
2012-06-24Improve the FILE* version of QPDF::processFileJay Berkenbilt
2012-06-22Add factory methods for creating empty arrays and dictionaries.Jay Berkenbilt
Also updated pdf_from_scratch test driver to use the new factories, and made some cosmetic improvements and documentation updates for the emptyPDF() method.
2012-06-22Add QPDF::emptyPDF() and pdf_from_scratch test codeJay Berkenbilt
2012-06-22Use qpdf_offset_t in place of off_t in public APIs.Jay Berkenbilt
off_t is used internally only when needed to talk to standard libraries. This requires that the "long long" type be supported by the compiler.
2012-06-21Split page handling APIs into a separate source fileJay Berkenbilt
2012-06-21Added first version of pages API.Tobias Hoffmann
2012-06-21Added method to clear pages cache.Tobias Hoffmann
2012-06-21Add QPDF::processFile that takes an open FILE*Jay Berkenbilt
2012-06-20ABI change: fix use of off_t, size_t, and integer typesJay Berkenbilt
Significantly improve the code's use of off_t for file offsets, size_t for memory sizes, and integer types in cases where there has to be compatibility with external interfaces. Rework sections of the code that would have prevented qpdf from working on files larger than 2 (or maybe 4) GB in size.
2011-12-28Update for 2.3.1release-qpdf-2.3.1Jay Berkenbilt
2011-12-28Don't declare any PCRE objects static.Jay Berkenbilt
2011-08-11ready for 2.3.0 releaseJay 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-102.3.a1Jay Berkenbilt
2011-08-10implement replace and swapJay Berkenbilt
2011-06-252.2.4Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1062 71b93d88-0707-0410-a8cf-f5a4172ac649
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-30update version to 2.2.3, update copyright to 2011Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1051 71b93d88-0707-0410-a8cf-f5a4172ac649
2011-01-31handle files with object 0 as a real objectJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1049 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-10-042.2.2release-qpdf-2.2.2Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1045 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-10-012.2.1Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1037 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-10-01setOutputStreamsJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1035 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-10-01add QPDF::processMemoryFile and API additions to support itJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1034 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-09-24update code to new PointerHolder, and reintroduce change that was ↵Jay Berkenbilt
accidentally backed out git-svn-id: svn+q:///qpdf/trunk@1031 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-09-24convert file to a PointerHolder<InputSource> so it could be either a file or ↵Jay Berkenbilt
a buffer; also fix a bug in BufferInputSource::seek git-svn-id: svn+q:///qpdf/trunk@1030 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-09-06treat empty objects as nullJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1027 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-142.2.0release-qpdf-2.2.0Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1016 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-14remove stray +Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1012 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-08update version numbersrelease-qpdf-2.2.rc1Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@1004 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-05newStreamJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@991 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-06-06comment on memory leak fixJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@979 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-06-06fix memory leakJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@976 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-06-05typoJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@971 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-06-05detect degenerate case of empty xref tableJay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@970 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-04-252.1.5Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@962 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-04-192.1.4release-qpdf-2.1.4Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@958 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-03-27update for 2.1.3Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@949 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-01-25update for 2.1.2Jay Berkenbilt
git-svn-id: svn+q:///qpdf/trunk@934 71b93d88-0707-0410-a8cf-f5a4172ac649