Jay Berkenbilt
909daf9543
Move page spec processing earlier
2017-08-05 10:22:33 -04:00
Jay Berkenbilt
24f28f0768
Split qpdf.cc's main into reasonably sized functions
...
main() had gotten absurdly long. Split it into reasonable chunks. This
refactoring is in preparation for handling splitting output into
single pages.
2017-08-05 08:24:05 -04:00
Jay Berkenbilt
c88eaae2f2
Fix off-by-one error in --pages argument parsing ( fixes #129 )
2017-08-02 21:08:43 -04:00
Jay Berkenbilt
2d5b854468
Allow reading command-line args from files ( fixes #16 )
2017-07-29 22:23:21 -04:00
Jay Berkenbilt
5993c3e83c
Detect input file = output file ( fixes #29 )
2017-07-29 20:58:01 -04:00
Jay Berkenbilt
885b8781cc
Allow --check to coexist with and precede other operations ( fixes #42 )
2017-07-29 19:56:21 -04:00
Jay Berkenbilt
f37d399d82
Add newline-before-endstream option ( fixes #103 )
2017-07-29 12:21:38 -04:00
Jay Berkenbilt
3a1ff5ded9
Add option to preserve unreferenced objects
2017-07-28 19:19:11 -04:00
Jay Berkenbilt
7f8892525f
Add precheck streams capability
...
When requested, QPDFWriter will do more aggress prechecking of streams
to make sure it can actually succeed in decoding them before
attempting to do so. This will allow preservation of raw data even
when the raw data is corrupted relative to the specified filters.
2017-07-27 23:42:27 -04:00
Jay Berkenbilt
b8bdef0ad1
Implement deterministic ID
...
For non-encrypted files, determinstic ID generation uses file contents
instead of timestamp and file name. At a small runtime cost, this
enables generation of the same /ID if the same inputs are converted in
the same way multiple times.
2015-10-31 18:56:42 -04:00
Jay Berkenbilt
f77acbdbba
Copyright 2015
2015-05-24 17:26:49 -04:00
Jay Berkenbilt
225b018290
Update Copyright to 2014
2014-01-14 15:40:02 -05:00
Jay Berkenbilt
a237e92445
Warn when -accessibility=n will be ignored
...
Also accept -accessibility=n with 256 bit keys even though it will be
ignored.
2013-10-18 10:45:15 -04:00
Jay Berkenbilt
ac9c1f0d56
Security: replace operator[] with at
...
For std::string and std::vector, replace operator[] with at. This was
done using an automated process. See README.hardening for details.
2013-10-18 10:45:14 -04:00
Jay Berkenbilt
91367239fd
Add --show-npages option to qpdf
2013-07-07 19:43:16 -04:00
Jay Berkenbilt
adccedc02f
Allow numeric range to be omitted qpdf --pages
...
Detect a missing page range and assume 1-z.
2013-07-07 19:43:16 -04:00
Jay Berkenbilt
96eb965115
Use QPDFObjectHandle::getObjGen() where appropriate
...
In internal code and examples, replace calls to getObjectID() and
getGeneration() with calls to getObjGen() where possible.
2013-06-14 14:58:09 -04:00
Jay Berkenbilt
30027481f7
Remove all old-style casts from C++ code
2013-03-04 16:45:16 -05:00
Jay Berkenbilt
9f1594656c
Work around gcc 4.8.0 issue on ppc64
...
Change iteration to use size_t instead of int. The code should be
equivalent in all reasonable cases, but the original way this was
coded was causing a test failure with gcc 4.8.0 on ppc64. See
https://bugzilla.redhat.com/show_bug.cgi?id=915321 for additional
information.
2013-03-04 16:43:29 -05:00
Jay Berkenbilt
a5d8783f67
Improve qpdf --check
...
Fix exit status for case of errors without warnings, continue after
errors when possible, add test case for parsing a file with content
stream errors on some but not all pages.
2013-01-25 11:08:50 -05:00
Jay Berkenbilt
a7e8b8c789
Have qpdf --check parse content streams
...
Also move writing to null and parsing of content streams out of the
wrong if block.
2013-01-24 11:47:36 -05:00
Jay Berkenbilt
8843e499b8
Update copyright year to 2013
...
Also add copyright notice to a few public headers that were missing
one.
2012-12-31 10:32:32 -05:00
Jay Berkenbilt
e57c25814e
Support for encryption with /V=5 and /R=5 and /R=6
...
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-31 10:32:32 -05:00
Jay Berkenbilt
774584163f
Add ExtensionLevel support to version handling
...
All version operations are now fully aware of extension levels.
2012-12-31 05:36:50 -05:00
Jay Berkenbilt
04c203ae06
Eliminate flattenScalarReferences
2012-12-31 05:36:48 -05:00
Jay Berkenbilt
bde98044f4
Improve password handling
...
Use --encryption-file-password, if given, in addition to --password as
a source for passwords for files specified in --pages.
2012-07-29 13:22:37 -04:00
Jay Berkenbilt
f83bddf882
Update copyright to 2012
2012-07-28 22:03:36 -04:00
Jay Berkenbilt
2280c4f6d1
Update documentation and version numbers
...
3.0.rc1
2012-07-28 22:03:36 -04:00
Jay Berkenbilt
d2e8bae6a4
Mention page selection in basic options
2012-07-28 15:02:20 -04:00
Jay Berkenbilt
316328704b
Windows compilation fixes
2012-07-21 20:51:56 -04:00
Jay Berkenbilt
5a02471bb1
Command-line page merging and splitting
...
Implement --pages ... -- option for qpdf. Update TODO with remaining
things to document.
2012-07-21 20:33:33 -04:00
Jay Berkenbilt
a101533e0a
Add command line option to copy encryption from other file
...
Add --copy-encryption and --encryption-file-password options to qpdf.
Also strengthen test suite for copying encryption. The strengthened
test suite would have caught the failure to preserve AES and the
failure to update the file version, which was invalidating the
encrypted data.
2012-07-15 21:15:24 -04:00
Jay Berkenbilt
b501251291
qpdf: push inherited attributes to page when showing images
...
from qpdf command-line tool
2012-07-15 16:22:28 -04:00
Jay Berkenbilt
22f5b01f54
Fix documentation errors.
2011-12-28 14:17:59 -05:00
Jay Berkenbilt
c551b972f6
update version to 2.2.3, update copyright to 2011
...
git-svn-id: svn+q:///qpdf/trunk@1051 71b93d88-0707-0410-a8cf-f5a4172ac649
2011-04-30 19:19:30 +00:00
Jay Berkenbilt
71f171356a
change output message from qpdf --check when no errors are found
...
git-svn-id: svn+q:///qpdf/trunk@955 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-04-10 13:43:16 +00:00
Jay Berkenbilt
bcd621e208
update copyrights for 2010
...
git-svn-id: svn+q:///qpdf/trunk@935 71b93d88-0707-0410-a8cf-f5a4172ac649
2010-01-25 01:23:20 +00:00
Jay Berkenbilt
ace2a031b5
prepare 2.1.rc1 for release
...
git-svn-id: svn+q:///qpdf/trunk@901 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-24 04:47:17 +00:00
Jay Berkenbilt
f5d772773e
make line buffering os-specific
...
git-svn-id: svn+q:///qpdf/trunk@852 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-21 02:30:15 +00:00
Jay Berkenbilt
cd32c70b65
notes, setlinebuf
...
git-svn-id: svn+q:///qpdf/trunk@837 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-20 01:46:56 +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
b67a3c15e7
DLL.hh -> DLL.h, move public enumerated types into Constants.h and use them both for C and C++ interfaces
...
git-svn-id: svn+q:///qpdf/trunk@828 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-19 20:17:14 +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
b873dc9c59
implemented writing R4/V4 encryption except that the output files don't open in Adobe reader 9.1.3.
...
git-svn-id: svn+q:///qpdf/trunk@816 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-18 02:03:18 +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
6bdac26369
finished testing C API
...
git-svn-id: svn+q:///qpdf/trunk@734 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-09-27 20:33:17 +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
02333ba1e9
checkpoint -- first crack at C API, minor refactoring of encryption functions
...
git-svn-id: svn+q:///qpdf/trunk@720 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-09-27 03:11:29 +00:00
Jay Berkenbilt
f3d7c26de1
removed qexc; non-compatible ABI change
...
git-svn-id: svn+q:///qpdf/trunk@709 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-09-26 18:36:04 +00:00
Jay Berkenbilt
fe18385ffa
clean up windows portability code, make remaining test suite pass
...
git-svn-id: svn+q:///qpdf/trunk@686 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-07-15 04:26:32 +00:00
Jay Berkenbilt
a1c0aaf03a
windows fixes
...
git-svn-id: svn+q:///qpdf/trunk@684 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-07-15 03:47:44 +00:00
Jay Berkenbilt
a9987ab570
Fix a few compiler errors reported correctly my MSVC 9.0.
...
Fix libtests test suites to pass on Windows, mostly by dealing with
ascii vs. binary and NL vs. CRNL change ($td->NORMALIZE_NEWLINES).
Convert some test suites to use fread instead of read.
PCRE.hh: define PCRE_STATIC if on Windows.
Provide cross-platform function for getting current time instead of
using time(0).
git-svn-id: svn+q:///qpdf/trunk@678 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-07-12 22:52:13 +00:00
Jay Berkenbilt
701e6db7b0
2.0.6
...
git-svn-id: svn+q:///qpdf/trunk@673 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-05-03 16:38:04 +00:00
Jay Berkenbilt
c9bc8937e5
prepare for 2.0.5 release
...
git-svn-id: svn+q:///qpdf/trunk@667 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-03-09 16:59:37 +00:00
Jay Berkenbilt
f62bec3ee5
update test suite to handle original object ID comments
...
git-svn-id: svn+q:///qpdf/trunk@663 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-03-09 16:27:13 +00:00
Jay Berkenbilt
2af08ee398
checkpoint -- will have to finish another day
...
git-svn-id: svn+q:///qpdf/trunk@661 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-03-09 01:11:06 +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
59c254e882
update version to 2.0.4
...
git-svn-id: svn+q:///qpdf/trunk@653 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-02-21 14:10:40 +00:00
Jay Berkenbilt
91cb7c0a58
fix many typos in comments and strings
...
git-svn-id: svn+q:///qpdf/trunk@651 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-02-21 02:54:31 +00:00
Jay Berkenbilt
0b2288c19d
special exit status in --check mode with warnings and no errors
...
git-svn-id: svn+q:///qpdf/trunk@650 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-02-21 02:38:33 +00:00
Jay Berkenbilt
9f93c89ee5
update copyright, release 2.0.3
...
git-svn-id: svn+q:///qpdf/trunk@644 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-02-15 16:31:12 +00:00
Jay Berkenbilt
caad089789
-help and -version
...
git-svn-id: svn+q:///qpdf/trunk@643 71b93d88-0707-0410-a8cf-f5a4172ac649
2008-12-12 03:17:25 +00:00
Jay Berkenbilt
212ca68f4f
2.0.2
...
git-svn-id: svn+q:///qpdf/trunk@634 71b93d88-0707-0410-a8cf-f5a4172ac649
2008-06-30 14:48:16 +00:00
Jay Berkenbilt
21bef28094
2.0.1
...
git-svn-id: svn+q:///qpdf/trunk@624 71b93d88-0707-0410-a8cf-f5a4172ac649
2008-05-06 15:32:07 +00:00
Jay Berkenbilt
470bb5b8be
typo
...
git-svn-id: svn+q:///qpdf/trunk@609 71b93d88-0707-0410-a8cf-f5a4172ac649
2008-05-04 19:13:06 +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