m-holger
97d78c75ff
In QPDFWriter::writeLinearized use object table obj in call to optimize
2024-03-08 10:33:42 +00:00
m-holger
0df0d00c58
Add method QPDF::Writer::getCompressibleObjSet
...
Create set without creation of an intermediate vector.
2024-03-08 10:20:12 +00:00
m-holger
ae00ee6119
Replace QPDF::Writer::getObjectStreamData with getXRefTable
2024-03-08 10:10:31 +00:00
m-holger
ef3a8025fb
In QPDFWriter replace map lenghts with ObjTable new_obj
2024-03-08 10:06:14 +00:00
m-holger
ccad589f7d
In QPDFWriter replace map xref with new ObjTable new_obj
2024-03-08 10:05:57 +00:00
m-holger
2fa93e79b4
In QPDFWriter replace map object_to_object_stream with ObjTable obj
2024-03-08 09:59:56 +00:00
m-holger
84e25919cb
In QPDFWriter replace map obj_renumber_no_gen with ObjTable obj
2024-03-08 09:36:47 +00:00
m-holger
8791b5f8d0
In QPDFWriter replace map obj_renumber with a new object table obj
2024-03-08 09:36:22 +00:00
m-holger
72bd486337
Refactor QPDF::parse_xrefEntry
...
Move reading of the entry from read_xrefTable to parse_xrefEntry.
Split parse_xrefEntry into two new methods read_xrefEntry and
read_bad_xrefEntry. read_xrefEntry is optimised for reading
correct entries. To handle incorrect entries it calls read_bad_xrefEntry,
which is largely unchanged from parse_xrefEntry.
2024-03-07 15:33:27 +00:00
Jay Berkenbilt
e362bce8e8
Merge branch 'jw' from #1146 into work
2024-02-17 14:15:48 -05:00
m-holger
4f54508f7f
Refactor QPDFJob::doJSONObjects
2024-02-16 15:50:30 +00:00
m-holger
f0bc2f11ef
Expose QPDFObjectHandle::writeJSON
2024-02-16 14:09:28 +00:00
m-holger
b9bc05356a
Refactor QPDF::writeJSONStream
...
Use QPDF_Stream::writeStreamJSON.
Factor out the json_stream_data == qpdf_sj_file case.
2024-02-16 11:51:10 +00:00
m-holger
e2737ab646
Add new writeJSON methods
...
Create an alternative to getJSON to allow an object handle to be written as JSON without the overhead of creating a JSON object.
2024-02-16 10:51:25 +00:00
m-holger
9e90007a4a
Add new private class JSON::Writer
...
Create a simple utility class for writing JSON to a pipeline.
2024-02-16 10:32:41 +00:00
Jay Berkenbilt
b1dad0de2a
Fix previous fix to setting checkbox value ( fixes #1056 )
...
The code accepted values other than /Yes but still used /Yes as the
checked value instead of obeying the normal appearance dictionary.
2024-02-11 15:49:44 -05:00
m-holger
a41b789995
Add new method JSON::getDictItem
2024-01-15 15:02:52 +00:00
Jay Berkenbilt
5b2e543089
Honor repeated overlay/underlay
2024-01-11 06:13:57 -05:00
Jay Berkenbilt
6488b156f7
Fix deleted copy constructors for Config classes
2024-01-10 16:45:14 -05:00
Jay Berkenbilt
1ecdbc1e55
Bump version to 11.9.0
2024-01-10 16:45:13 -05:00
Jay Berkenbilt
9c723aeb56
Allow --file with --overlay and --underlay
2024-01-10 16:44:46 -05:00
Jay Berkenbilt
34f013c1be
Allow --file and --range with --pages
...
Accept --file and --range as named parameters in additional to
allowing positional arguments. This is in preparation for adding
additional flags.
2024-01-10 16:44:17 -05:00
m-holger
8715d6a693
Tweak QPDF::replaceObject
2024-01-08 11:54:33 +00:00
Jay Berkenbilt
07f6c635a9
Bug fix: treat old generations of reused objects as null
2024-01-07 17:16:14 -05:00
Jay Berkenbilt
ebdd41e692
Spell check
2024-01-07 08:54:36 -05:00
Jay Berkenbilt
7cac433e2d
Implement --set-page-labels and supporting API ( fixes #939 )
2024-01-05 17:12:12 -05:00
Jay Berkenbilt
543038c52a
Bump version to 11.8.0
2024-01-05 17:11:21 -05:00
Jay Berkenbilt
08e3050d5f
Automated changes for --set-page-labels
...
This commit contains the changes from generate_auto_job based on
manual changes from the previous commit.
2024-01-05 17:10:45 -05:00
Jay Berkenbilt
a0e70b370a
Wiring for --set-page-labels: manual (non-bisectable commit)
...
This commit contains only the manual changes. It is separated for
clarity. This commit would not pass CI because it lacks the automated
changes, which appear in the next commit.
2024-01-05 17:10:32 -05:00
Jay Berkenbilt
bfc5fc51f2
Remove unused argument in private setWriterOptions method
2024-01-04 07:31:00 -05:00
Jay Berkenbilt
d8d70ecca2
Support comma-separated numeric values with --collate ( fixes #505 )
2024-01-01 18:57:32 -05:00
Jay Berkenbilt
9db5d75b2b
Update copyright to 2024
2024-01-01 10:56:06 -05:00
Jay Berkenbilt
070ee710eb
Support excluding values from numeric ranges ( fixes #564 , #790 )
2024-01-01 10:48:14 -05:00
Jay Berkenbilt
d9b8b0aae1
Bump version to 11.7.1
2023-12-29 13:40:30 -05:00
Jay Berkenbilt
1ad6451e8c
Fix comment formatting and update notes
2023-12-29 13:16:01 -05:00
Jay Berkenbilt
4ca185fd96
Remove --disable-signatures; incorporate into --remove-restrictions
...
Rather than adding yet another flag that is almost never useful on its
own, just have --remove-restrictions disable digital signatures. The
operations are still separate in the API.
2023-12-24 07:36:07 -05:00
Jay Berkenbilt
909a0b3f3a
Implement --disable-signatures ( fixes #1015 )
2023-12-23 08:50:42 -05:00
Jay Berkenbilt
3d33a3a1e3
Add QPDFAcroFormDocumentHelper::disableDigitalSignatures
2023-12-23 08:44:47 -05:00
Jay Berkenbilt
7c0fdf8510
Format code, bump clang-format version to 18
2023-12-22 21:45:10 -05:00
Jay Berkenbilt
d61612a2e5
Bug fix: don't compress hint streams when --compress-streams=n
2023-12-20 15:46:20 -05:00
m-holger
9c65bb30c0
Fix doc typos
2023-12-17 13:43:53 +00:00
Jay Berkenbilt
1d05390585
Merge pull request #1081 from jberkenbilt/future-build
...
Future build
2023-12-16 11:53:47 -05:00
m-holger
17c5b950c8
For 'FUTURE' builds add "+future" to version string
...
Also, change so version to 0.
2023-12-16 11:38:00 -05:00
Jay Berkenbilt
b0b6d9f21f
Merge pull request #1067 from m-holger/pl_buff
...
Reduce copying of Buffer contents
2023-12-16 11:31:11 -05:00
Jay Berkenbilt
d7a364b882
Allow regular C++ functions to interoperate with the C API
2023-12-16 10:06:34 -05:00
Jay Berkenbilt
924ebf9f6a
Bump version to 11.7.0
2023-12-16 10:06:34 -05:00
Jay Berkenbilt
d8371889d0
Prepare 11.6.4 release
2023-12-10 11:23:10 -05:00
m-holger
ddad5ad53e
In QPDF::pipeStreamData use unique_ptr as heap
2023-11-26 13:06:12 +00:00
m-holger
9f7f9496ed
Add Buffer constructors taking std::string parameters
2023-11-26 12:26:44 +00:00
m-holger
3237ef70fb
Add new method Pl_Buffer::getString
2023-11-18 16:34:17 +00:00
m-holger
d11622b6fd
Change Pl_Buffer to use std::string for storage
2023-11-17 15:55:11 +00:00
Jay Berkenbilt
9055723af3
Bump version to 11.6.3
2023-10-14 19:34:45 -04:00
Jay Berkenbilt
d2d954ca15
Add substract to spelling dictionary with reminder to remove
2023-10-14 19:33:47 -04:00
Jay Berkenbilt
71566a2761
Write offsets as unsigned in linearization hint tables ( fixes #1023 )
2023-10-14 18:04:13 -04:00
Jay Berkenbilt
8854143c7b
Spell check
2023-10-07 17:52:35 -04:00
Jay Berkenbilt
f9cf79706d
Bump version to 11.6.2 and update release notes
2023-10-07 13:46:45 -04:00
Jay Berkenbilt
b352791a07
Prepare 11.6.1 release
2023-09-05 13:59:23 -04:00
Jay Berkenbilt
1db8a8b26f
Bump version to 11.6
2023-09-02 17:28:23 -04:00
Jay Berkenbilt
c51bdeb19c
Merge pull request #1017 from m-holger/mbox
...
Check for missing mediaboxes
2023-09-02 15:03:03 -04:00
Jay Berkenbilt
ec6784411d
Merge pull request #1028 from m-holger/i1003
...
Maintain links to foreign pages when copying foreign objects (fixes #1003 )
2023-09-02 14:59:16 -04:00
m-holger
ad73bbcd90
Change QPDF::reserveObjects to reserve indirect nulls to reserve foreign objects
2023-08-25 13:30:55 +01:00
m-holger
52539544c4
Modify QPDF::replaceReserved to allow replacing indirect nulls
2023-08-25 12:37:24 +01:00
Zoe Clifford
cbae2f916b
Remove use of non-standard char_traits<unsigned char>
from Pl_Buffer
...
`basic_string<unsigned char>` implies use of
`char_traits<unsigned char>`.
This char_traits specialization is not standard C++, and will be
removed from LibC++ as of LLVM 18. To ensure continued LibC++
compatibility it needs to be removed.
There are two possible replacements here: `std::string` (e.g.
`std::basic_string<char>`), or `std::vector<unsigned char>`.
I have opted for vector since this code is dealing with a binary
buffer; though probably either way is fine (why does C++ even have
strings anyway??).
https://github.com/qpdf/qpdf/issues/1024
2023-08-22 13:44:58 -07:00
m-holger
9a69cbba5b
Check for missing mediaboxes
2023-07-29 13:16:40 +01:00
m-holger
5754ab8b39
Tune QPDF::readObjectInStream
2023-07-08 16:32:00 +01:00
m-holger
aabd3f6f9b
Add private method QPDF::validateStreamLineEnd
2023-07-08 16:31:57 +01:00
m-holger
c422b918b1
Add new private method QPDF::readStream
2023-07-08 16:31:44 +01:00
m-holger
2643ed4dd9
Add new private method QPDF::readTrailer()
2023-07-08 01:28:15 +01:00
m-holger
bee726609c
Remove redundant parameters from QPDF::readObject
2023-07-07 20:37:13 +01:00
m-holger
2bf7359e35
Add new private method QPDF::readObjectInStream
2023-07-07 20:14:59 +01:00
m-holger
8e6974710c
Add private method QPDF::insertFreeXrefEntry
2023-07-04 19:59:09 +01:00
m-holger
250a736482
Remove parameter overwrite from QPDF::processXRefStream
2023-07-04 19:59:09 +01:00
m-holger
769a4915e8
Add new private method QPDF::insertReconstructedXrefEntry
2023-07-04 19:59:09 +01:00
m-holger
d1834d4317
Bump version to 11.5.0
2023-06-27 14:50:05 +01:00
Jay Berkenbilt
328a2d083e
Merge pull request #983 from m-holger/buffer
...
Add new Buffer method copy and deprecate copy constructor / assignment operator
2023-06-17 14:04:06 -04:00
Jay Berkenbilt
463953bc96
Merge pull request #992 from jberkenbilt/future
...
Future
2023-06-17 14:02:44 -04:00
m-holger
0f2ef5e85b
Add new Buffer method copy and deprecate copy constructor / assignment operator
...
Also fix accidental Buffer copy in Pl_LZWDecoder::addToTable.
2023-06-17 17:18:31 +01:00
m-holger
4101596f1a
Add QPDFObjectHandle move constructor and assignment operator for future build
2023-06-14 18:39:18 +01:00
m-holger
0ac005f0d9
Code tidy - Clang-Tidy rule modernize-use-override
2023-06-09 15:52:56 +01:00
m-holger
ae3642ce42
Code tidy - Clang-Tidy rule modernize-use-equals-default
2023-06-09 15:45:14 +01:00
m-holger
5906dd5c1f
Code tidy - Clang-Tidy rule modernize-use-default-member-init
2023-06-09 15:43:21 +01:00
m-holger
320bbb9854
Code tidy - Clang-Tidy rule modernize-return-braced-init-list
2023-06-09 15:35:56 +01:00
m-holger
acd0acf169
Fix doc typos
2023-06-02 19:24:12 +01:00
m-holger
3c5700c255
Code tidy - reflow comments and strings
2023-06-02 16:00:40 +01:00
m-holger
db6c09b625
Fix doc typos
2023-05-27 11:06:37 +01:00
m-holger
698a70e6a8
Code tidy - reflow comments and strings
2023-05-27 10:54:19 +01:00
Jay Berkenbilt
60965d5f4d
Rerun clang-format
2023-05-21 13:35:09 -04:00
m-holger
85d784952f
Globally replace 'this->m->' with 'm->'
...
Using search and replace.
2023-05-21 14:42:34 +01:00
m-holger
aaada50a04
Fix doc comment in QPDFObjGen::set
2023-05-21 01:36:36 +01:00
Jay Berkenbilt
ef24a4151b
Move JSON_array for C++-20 compatibility ( fixes #943 )
2023-05-20 18:25:58 -04:00
Jay Berkenbilt
1c14a9e6c4
Merge pull request #959 from m-holger/reserved
...
Add new method QPDF::newReserved()
2023-05-20 15:27:33 -04:00
m-holger
05a49cecf1
Add new method QPDF::newReserved
2023-05-20 19:56:01 +01:00
Jay Berkenbilt
d740c6ccce
Rerun format_code (after merging clang-tidy PR)
2023-05-20 14:52:19 -04:00
Jay Berkenbilt
a85635b839
Merge pull request #929 from m-holger/ogguard
...
Add new convenience class QPDFObjGen::Guard
2023-05-20 14:09:49 -04:00
m-holger
e6577a1323
Replace 'virtual' specifier with 'override'
2023-05-20 15:41:56 +01:00
m-holger
ba5a3567a2
Remove redundant 'virtual' specifiers
2023-05-20 15:41:52 +01:00
m-holger
d0682f0f60
Use nullptr instead of 0 or NULL
2023-05-20 15:41:36 +01:00
m-holger
e28f4efb00
Replace deprecated C++ includes
2023-05-20 15:41:25 +01:00
m-holger
9db2965f62
Use QPDFObjGen::set in QPDFJob::getWantedJSONObjects
2023-05-19 18:56:10 +01:00
m-holger
ae2d623929
Use QPDFObjGen::set in QPDF::updateObjectMaps
2023-05-19 18:56:01 +01:00