Jay Berkenbilt
e7b8f297ba
Support copying objects from another QPDF object
...
This includes QPDF::copyForeignObject and supporting foreign objects
as arguments to addPage*.
2012-07-11 15:54:33 -04:00
Jay Berkenbilt
8a217eb3a2
Add concept of reserved objects
...
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-10 23:34:32 -04:00
Jay Berkenbilt
e2dedde4bd
Don't require stream data provider to know length in advance
...
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-07 17:33:45 -04:00
Tobias Hoffmann
abb53ac369
Limited inheritance to the attributes explicitly listed in the PDF spec
...
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-07-04 23:04:55 -04:00
Jay Berkenbilt
5f59c32f87
Add a few minor enhancements to recent work
...
Test coverage case for new newStream method
Expose decimal_places argument for double-based newReal
All enhancements suggested by Tobias.
2012-06-27 10:43:27 -04:00
Jay Berkenbilt
d1ebe30ff6
Add QPDFObjectHandle::shallowCopy()
2012-06-21 16:15:09 -04:00
Jay Berkenbilt
3844aedd93
Add testing for page APIs
2012-06-21 15:01:02 -04:00
Jay Berkenbilt
eb802cfa8c
Implement page manipulation APIs
2012-06-21 15:01:02 -04:00
Jay Berkenbilt
bc1c4bb578
Add QPDF::processFile that takes an open FILE*
2012-06-21 08:00:35 -04:00
Jay Berkenbilt
76b1659177
enhance PointerHolder so that it can explicitly be told to use delete [] instead of delete, thus making it useful to run valgrind over qpdf during its test suite
2011-08-11 11:57:37 -04:00
Jay Berkenbilt
14fe2e6de3
qpdf_set_info_key, qpdf_get_info_key
2011-08-11 10:48:37 -04:00
Jay Berkenbilt
a42a4068b5
preserve /EncryptMetadata when copying encryption parameters
2011-08-10 19:47:18 -04:00
Jay Berkenbilt
7dc197ef88
implement replace and swap
2011-08-10 12:42:48 -04:00
Jay Berkenbilt
aeb892f99b
accept stream keyword with CR only
...
git-svn-id: svn+q:///qpdf/trunk@1052 71b93d88-0707-0410-a8cf-f5a4172ac649
2011-04-30 21:46:09 +00:00
Jay Berkenbilt
6405d3928f
be less conservative when skipping over inline images in content normalization
...
git-svn-id: svn+q:///qpdf/trunk@1050 71b93d88-0707-0410-a8cf-f5a4172ac649
2011-04-30 18:20:35 +00:00
Jay Berkenbilt
b36f62a326
add qpdf_read_memory to C API
...
git-svn-id: svn+q:///qpdf/trunk@1044 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-10-04 15:24:10 +00:00
Jay Berkenbilt
b1e0dcff16
handle stream filter abbreviations from table H.1
...
git-svn-id: svn+q:///qpdf/trunk@1025 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-09-05 15:00:44 +00:00
Jay Berkenbilt
bd7261da9b
getRawStreamData()
...
git-svn-id: svn+q:///qpdf/trunk@1010 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-09 23:33:40 +00:00
Jay Berkenbilt
2dbc1006fb
addPageContents
...
git-svn-id: svn+q:///qpdf/trunk@995 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-05 21:06:49 +00:00
Jay Berkenbilt
6f2bd7eb3a
newStream
...
git-svn-id: svn+q:///qpdf/trunk@991 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-05 20:20:52 +00:00
Jay Berkenbilt
11df7809af
add pipeline-based stream data replacement function
...
git-svn-id: svn+q:///qpdf/trunk@990 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-05 19:04:22 +00:00
Jay Berkenbilt
998a6cbee9
remove stream_data_handler; it wouldn't work as designed. replacement data implemented but not tested
...
git-svn-id: svn+q:///qpdf/trunk@988 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-08-02 22:40:52 +00:00
Jay Berkenbilt
a80d9d176d
add C interface for getting software version
...
git-svn-id: svn+q:///qpdf/trunk@903 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-24 13:23:20 +00:00
Jay Berkenbilt
7f5d78c2d1
improve C error handling interface
...
git-svn-id: svn+q:///qpdf/trunk@884 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-23 15:27:30 +00:00
Jay Berkenbilt
398354b6f0
update C API for error retrieval
...
git-svn-id: svn+q:///qpdf/trunk@830 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-20 00:24:44 +00:00
Jay Berkenbilt
3f8c4c2736
categorize all error messages and include object information if available
...
git-svn-id: svn+q:///qpdf/trunk@829 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-19 23:09:19 +00:00
Jay Berkenbilt
734ac1e1d2
deal with stream-specific crypt filters
...
git-svn-id: svn+q:///qpdf/trunk@827 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-19 01:58:31 +00:00
Jay Berkenbilt
a8715c495b
add C API for R4 encryption
...
git-svn-id: svn+q:///qpdf/trunk@825 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-19 00:36:51 +00:00
Jay Berkenbilt
09175e4578
more testing, bug fix for linearized aes encrypted files
...
git-svn-id: svn+q:///qpdf/trunk@824 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-19 00:17:11 +00:00
Jay Berkenbilt
94131116a9
more notes, testing of cleartext metadata, some crypt filter fixes
...
git-svn-id: svn+q:///qpdf/trunk@823 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-18 19:54:24 +00:00
Jay Berkenbilt
4ccc9330a8
only seed randon number generater once for aes-cbc, try to avoid compressing Metadata streams
...
git-svn-id: svn+q:///qpdf/trunk@818 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-18 14:09:10 +00:00
Jay Berkenbilt
e25910b59a
reading crypt filters is largely implemented but not fully tested
...
git-svn-id: svn+q:///qpdf/trunk@812 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-17 23:37:55 +00:00
Jay Berkenbilt
c2023db265
Implement changes suggested by Zarko and our subsequent conversations:
...
- Add a way to set the minimum PDF version
- Add a way to force the PDF version
- Have isEncrypted return true if an /Encrypt dictionary exists even
when we can't read the file
- Allow qpdf_init_write to be called multiple times
- Update some comments in headers
git-svn-id: svn+q:///qpdf/trunk@748 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-05 00:42:48 +00:00
Jay Berkenbilt
8d7bb3ff50
add methods for getting encryption data
...
git-svn-id: svn+q:///qpdf/trunk@733 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-09-27 20:05:38 +00:00
Jay Berkenbilt
fe6771e0e5
add many new tests to exercise C api
...
git-svn-id: svn+q:///qpdf/trunk@727 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-09-27 16:01:45 +00:00
Jay Berkenbilt
84ec83e925
basic implementation of C API
...
git-svn-id: svn+q:///qpdf/trunk@725 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-09-27 14:39:04 +00:00
Jay Berkenbilt
d6f50e98c3
remove extraneous coverage case (another coverage case was in the same
...
block of code)
git-svn-id: svn+q:///qpdf/trunk@694 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-09-26 14:39:50 +00:00
Jay Berkenbilt
a1fbb4bd97
update test suite
...
git-svn-id: svn+q:///qpdf/trunk@675 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-05-03 20:03:21 +00:00
Jay Berkenbilt
599daddb47
decode streams on check, always exit abnormally when warnings are detected
...
git-svn-id: svn+q:///qpdf/trunk@660 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-03-08 19:00:19 +00:00
Jay Berkenbilt
35d72c822e
better recovery for appended files with damaged cross-reference tables
...
git-svn-id: svn+q:///qpdf/trunk@648 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-02-21 02:31:08 +00:00
Jay Berkenbilt
337b900708
handle UTF-16BE fully
...
git-svn-id: svn+q:///qpdf/trunk@639 71b93d88-0707-0410-a8cf-f5a4172ac649
2008-11-23 18:49:13 +00:00
Jay Berkenbilt
9a0b88bf77
update release date to actual date
...
git-svn-id: svn+q:///qpdf/trunk@599 71b93d88-0707-0410-a8cf-f5a4172ac649
2008-04-29 12:55:25 +00:00