Jay Berkenbilt
24aeb9ae22
Document json support
2018-12-22 14:05:01 -05:00
Jay Berkenbilt
bb89382f93
Allow --show-object=trailer
2018-12-21 19:11:57 -05:00
Jay Berkenbilt
dd1aca552c
Support bash completion using complete -C
2018-12-21 19:11:57 -05:00
Jay Berkenbilt
313ba08126
Preserve some outline functionality in page splitting
2018-12-21 19:11:57 -05:00
Jay Berkenbilt
d5d179f441
Add document and object helpers for outlines (bookmarks)
2018-12-21 19:11:57 -05:00
Jay Berkenbilt
30a0c070e4
Add QPDFObjectHandle::getJSON()
2018-12-21 18:34:56 -05:00
Jay Berkenbilt
651179b5da
Add simple JSON serializer
2018-12-21 18:34:56 -05:00
Jay Berkenbilt
0776c00129
Add QPDFNameTreeObjectHelper
2018-12-21 18:34:56 -05:00
Jay Berkenbilt
352ce9b22b
Preserve page labels (numbers) when splitting and merging
2018-12-18 16:59:24 -05:00
Jay Berkenbilt
6ef9e31233
Add QPDFPageLabelDocumentHelper
2018-12-18 16:59:24 -05:00
Jay Berkenbilt
f38df27aa3
Add QPDFNumberTreeObjectHelper
2018-12-18 16:46:10 -05:00
Jay Berkenbilt
077d3d4512
Add QPDFObjectHandle::wrapInArray()
...
Wrap an object in an array if it is not already an array.
2018-12-18 16:45:48 -05:00
Jay Berkenbilt
a5ee55f2e8
ChangeLog
2018-10-11 19:16:26 -04:00
Jay Berkenbilt
4628461383
Set up Azure Pipelines
...
Use free Azure Pipelines to do Linux, Windows, and Mac build and test
and to generate Windows binary distributions.
2018-10-11 15:07:51 -04:00
Jay Berkenbilt
6ee761fc86
Prepare 8.2.1 release
2018-08-18 10:56:19 -04:00
Jay Berkenbilt
28453a4908
Add --keep-files-open flag ( fixes #237 )
2018-08-18 10:56:01 -04:00
Jay Berkenbilt
5e9e17e62a
Prepare 8.2.0 release
2018-08-16 11:53:10 -04:00
Jay Berkenbilt
723b054bf9
Spell check
2018-08-16 11:53:10 -04:00
Jay Berkenbilt
e37ce85190
Clarify static vs. import library on Windows ( fixes #225 )
2018-08-14 16:57:37 -04:00
Jay Berkenbilt
b4bdc42b4f
New exception class QPDFSystemError ( fixes #221 )
2018-08-13 20:01:51 -04:00
Jay Berkenbilt
fb1e29476c
Add --no-warn option to suppress warnings ( fixes #232 )
2018-08-12 22:20:40 -04:00
Jay Berkenbilt
3d6615b276
Pl_Buffer: reduce memory growth ( fixes #228 )
...
Rather than keeping a list of buffers for every write, accumulate
bytes in a single buffer, doubling the size of the buffer when needed
to accommodate new data.
This is not the best possible implementation, but the change was
implemented in this way to avoid changing the shape of Pl_Buffer and
thus breaking backward compatibility.
2018-08-12 17:45:43 -04:00
Jay Berkenbilt
4a4736c695
Fix EOL handling inside strings ( fixes #226 )
...
CR, CRLF, and LF are all supposed to be treated as LF; only one EOL is
to be ignored after backslash.
2018-08-05 20:48:35 -04:00
Jay Berkenbilt
e1cd5891af
Fix infinite loop on small files with progress reporting ( fixes #230 )
...
Turns out you can keep adding zero to a number over and over again and
it just doesn't get any bigger. Who would have known?
2018-08-05 15:43:34 -04:00
Jay Berkenbilt
fe769f2723
Keep file open while adding its pages during merge ( fixes #217 )
2018-08-04 19:58:13 -04:00
Jay Berkenbilt
4f4c627b77
ClosedFileInputSource: add method to keep file open
...
During periods of intensive operation on a specific file, this method
can reduce the overhead of repeated open/close operations.
2018-08-04 19:52:46 -04:00
Jay Berkenbilt
1bd2a2e79b
Prepare 8.1.0 release
2018-06-23 07:50:11 -04:00
Jay Berkenbilt
6bf47ac6e8
With --verbose, give information on processing merge inputs
2018-06-22 16:14:54 -04:00
Jay Berkenbilt
a433ed24f9
Add progress reporting for QPDFWriter ( fixes #200 )
2018-06-22 16:14:54 -04:00
Jay Berkenbilt
2a82f6e1e0
Add method to get count of objects in QPDF
2018-06-22 15:53:40 -04:00
Jay Berkenbilt
99593e0eef
Use ClosedFileInputSource when merging files ( fixes #154 )
2018-06-22 12:53:41 -04:00
Jay Berkenbilt
4ccc8b1a44
Add ClosedFileInputSource
...
ClosedFileInputSource is an input source that keeps the file closed
when not reading it.
2018-06-22 12:52:45 -04:00
Jay Berkenbilt
c71dc6888c
Don't prune resource dictionaries on errors or by request
...
If we are unable to filter a page's content streams, don't attempt to
remove objects from the page's resource dictionary. Also provide a
command line option to suppress resource removal in case we ever need
this as a workaround for some bug or broken PDF files.
2018-06-22 10:45:31 -04:00
Jay Berkenbilt
6c89d4b35b
When splitting files, remove unreferenced objects ( fixes #203 )
2018-06-21 21:03:30 -04:00
Jay Berkenbilt
84cd53f5af
Make page range optional in --rotate ( fixes #211 )
2018-06-21 16:28:44 -04:00
Jay Berkenbilt
2e8a3e163f
Add interactive form example
2018-06-21 16:04:54 -04:00
Jay Berkenbilt
397b097c46
Allow setting a form field's value
2018-06-21 15:57:13 -04:00
Jay Berkenbilt
952a665a4e
Better support for creating Unicode strings
2018-06-21 15:57:13 -04:00
Jay Berkenbilt
0b05111db8
Implement helper class for interactive forms
2018-06-21 15:57:13 -04:00
Jay Berkenbilt
2e6e1204a5
Convert examples to use new page helper classes
2018-06-21 15:57:13 -04:00
Jay Berkenbilt
2e7ee23bf6
Add QPDFPageDocumentHelper and QPDFPageObjectHelper
...
This is the beginning of higher-level API support using helper
classes. The goal is to be able to add more helpers without continuing
to pollute QPDF's and QPDFObjectHandle's public interfaces.
2018-06-21 15:57:13 -04:00
Jay Berkenbilt
4cded10821
Add QPDFObjectHandle::Rectangle type
...
Provide a convenient way of accessing rectangles.
2018-06-21 15:57:13 -04:00
Jay Berkenbilt
078cf9bf90
newline before endstream fix for object streams ( fixes #205 )
2018-05-12 13:17:43 -04:00
Jay Berkenbilt
b4d6cf6836
Limit depth of nesting in direct objects ( fixes #202 )
...
This fixes CVE-2018-9918.
2018-04-15 16:11:22 -04:00
Jay Berkenbilt
f8c8e4dcc0
Prepare 8.0.2 release
2018-03-06 11:34:07 -05:00
Jay Berkenbilt
e4e2e26d99
Properly handle pages with no contents ( fixes #194 )
...
Remove calls to assertPageObject(). All cases in the library that
called assertPageObject() work fine if you don't call
assertPageObject() because nothing assumes anything that was being
checked by that call. Removing the calls enables more files to be
successfully processed.
2018-03-06 11:34:07 -05:00
Jay Berkenbilt
ee44aef8d0
Treat loop in xref tables as damage ( fixes #192 )
...
Prior to this fix, if there was a loop detected in following /Prev
pointers in xref streams/tables, it would cause qpdf to lose data.
Note that this condition causes many PDF readers to hang or fail.
2018-03-05 14:26:58 -05:00
Jay Berkenbilt
6fe1e9de40
Prepare 8.0.1 release
2018-03-04 07:16:20 -05:00
Jay Berkenbilt
666f794393
Support "r" in page ranges ( fixes #155 )
2018-03-04 07:05:14 -05:00
Jay Berkenbilt
7b9f23a99a
Ignore zlib data check errors ( fixes #191 )
2018-03-03 11:35:01 -05:00