Commit Graph

808 Commits

Author SHA1 Message Date
Jay Berkenbilt a0a8f45a1c Add libjpeg dependency 2017-08-21 16:54:48 -04:00
Jay Berkenbilt 2d2f619665 Implement Pl_RunLength pipeline 2017-08-19 14:50:55 -04:00
Jay Berkenbilt e0d1cd1f4b Fix test case
There was an unintended recoverable error in a test file. It wasn't
hurting anything, but it was obscuring the actual intent of the test.
2017-08-19 14:50:55 -04:00
Jay Berkenbilt 201b62fc68 Support NO_REBUILD=1 for testing without rebuild 2017-08-16 07:57:08 -04:00
Jay Berkenbilt a3f872020d Move qtest invocation into rules.mk 2017-08-16 07:57:08 -04:00
Jay Berkenbilt ae0399ef87 Revert "Add page rotation example in contrib"
This reverts commit 8ee83ca722.

This is being removed because qpdf now has its own page rotation. The
example was an excellent contribution to qpdf, but now it illustrates
rotating pages "by hand", which is no longer needed because of
QPDFObjectHandle::rotatePage.
2017-08-12 22:58:11 -04:00
Jay Berkenbilt cfa2eb97fb Add page rotation (fixes #132) 2017-08-12 22:57:38 -04:00
Jay Berkenbilt d926d78059 Add --verbose flag 2017-08-12 12:30:18 -04:00
Jay Berkenbilt 2c6fe1805a Support groups of pages in --split-pages (fixes #30) 2017-08-12 12:08:23 -04:00
Jay Berkenbilt df33c368b4 Change --single-pages to --split-pages
This is in preparation for implementing page groups.
2017-08-12 11:49:04 -04:00
Jay Berkenbilt ad82706003 Note about veraPDF 2017-08-12 11:35:02 -04:00
Jay Berkenbilt 8249a26d69 Fix infinite loop in QPDFWriter (fixes #143) 2017-08-12 08:36:36 -04:00
Jay Berkenbilt 36b3fe5af7 Fix --newline-before-endstream option (fixes #133)
Add a newline unconditionally before endstream even if a newline was
already written as part of the stream data.
2017-08-11 20:57:05 -04:00
Jay Berkenbilt 46611f0710 Prevent a division by zero error (fixes #141)
Bad /W in an xref stream could cause a division by zero error. Now
this is handled as a special case.
2017-08-11 20:11:19 -04:00
Jay Berkenbilt 8fe0b06cd8 Pad encryption parameters that are too short (fixes #96) 2017-08-11 19:53:56 -04:00
Jay Berkenbilt 0c99cf874b Sanitize test suite
Remove problematic test files
2017-08-11 07:41:11 -04:00
Jay Berkenbilt 5814082cdc Rerun libtoolize 2017-08-11 05:05:11 -04:00
Jay Berkenbilt 2ce9c1b67d Update maintainer notes 2017-08-11 05:05:05 -04:00
Jay Berkenbilt e7d0019bf4 Generate libqpdf.map from autoconf
Rather than checking consistency of libqpdf.map, generate it.
2017-08-11 04:56:22 -04:00
Jay Berkenbilt 6247aaa57c Fix libqpdf.map and prevent future breakage
The build now checks to make sure libqpdf.map has the right library
version number in it.
2017-08-10 21:53:19 -04:00
Jay Berkenbilt 3388500327 Update TODO 2017-08-10 21:36:23 -04:00
Jay Berkenbilt 9a96e233b0 Remove PCRE 2017-08-10 21:30:32 -04:00
Jay Berkenbilt 30f109e244 Read xref table without PCRE
Also accept more errors than before.
2017-08-10 21:30:32 -04:00
Jay Berkenbilt 98a843c2a2 Reconstruct xref without PCRE 2017-08-10 21:30:32 -04:00
Jay Berkenbilt ca5b1d267a Improve stream length recovery
Eliminate PCRE and find endobj not preceded by endstream. Be more lax
about placement of endstream and endobj.
2017-08-10 21:30:32 -04:00
Jay Berkenbilt 3082e4e606 Find xref without PCRE 2017-08-10 21:30:32 -04:00
Jay Berkenbilt 90840be594 Find lindict without PCRE 2017-08-10 21:30:32 -04:00
Jay Berkenbilt 03aa9679ac Find starxref without PCRE 2017-08-10 21:30:32 -04:00
Jay Berkenbilt 1765c6ec20 Find header without PCRE 2017-08-10 21:30:32 -04:00
Jay Berkenbilt 296b679d6e Implement findFirst and findLast in InputSource
Preparing to refactor some pattern searching code to use these instead
of their own memchr loops. This should simplify the code that replaces
PCRE.
2017-08-10 21:30:32 -04:00
Jay Berkenbilt ef8ae5449d Allow QPDFTokenizer::readToken to return bad tokens
Sometimes we want to ignore bad tokens rather than having them throw
an exception. A coverage case is commented out here and added in a
later commit.
2017-08-10 19:01:41 -04:00
Jay Berkenbilt 8320d16cd2 Update TODO 2017-08-10 19:01:41 -04:00
Jay Berkenbilt c5dc6d8067 Remove unused PointerHolder interface
Also fix a bug resulting from incorrect use of PointerHolder because
of this unused parameter.
2017-08-10 19:01:38 -04:00
Jay Berkenbilt ff6971fb1c Call PointerHolder constructor properly (fixes #135)
Passed arguments to the constructor in the wrong order.
2017-08-09 22:00:49 -04:00
Jay Berkenbilt 49825e5cb6 Add --split-pages option (fixes #30) 2017-08-05 10:22:33 -04:00
Jay Berkenbilt 8fe261d8b4 QUtil::strcasecmp 2017-08-05 10:22:33 -04:00
Jay Berkenbilt a60eb552d3 Split bug tests into separate chunk 2017-08-05 10:22:33 -04:00
Jay Berkenbilt ad0e29a3a4 Fix doc typo 2017-08-05 10:22:33 -04:00
Jay Berkenbilt 1ec59c299d Refactor write_output 2017-08-05 10:22:33 -04:00
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 164c37b5a6 Fix doc typo 2017-07-30 20:28:37 -04:00
iskander.sharipov 8ee83ca722 Add page rotation example in contrib
This is added to contrib rather than examples because it requires
c++-11 and lacks a test suite, but it is still useful enough to
include with the distribution.
2017-07-30 08:55:15 -04:00
Jay Berkenbilt 841f967a5f Fix command-line checking in pdf-split-pages example 2017-07-30 08:47:09 -04:00
Pranjal Bhor 6f88fd36ab Include missing header in QPDFTokenizer.cc (fixes #125)
Required for strtol()
2017-07-30 08:47:05 -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 570db9b60b Catch more exceptions while resolving objects 2017-07-29 19:31:12 -04:00