2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-11-16 09:37:08 +00:00
Commit Graph

588 Commits

Author SHA1 Message Date
m-holger
33f207ca74 Add FUTURE build option 2023-06-14 16:30:38 +01:00
Jay Berkenbilt
9907700fae Prepare 11.4.0 release 2023-05-21 14:42:37 -04:00
Jay Berkenbilt
a90787c5e1 Spell check 2023-05-21 14:25:31 -04:00
Jay Berkenbilt
ecceab61ce Add qpdf 12 information to release notes 2023-05-21 14:21:45 -04:00
Jay Berkenbilt
5bbce89e6a Add clarification about empty passwords to doc 2023-05-21 13:46:19 -04:00
Jay Berkenbilt
6b077332d3 Switch line length from 80 to 100 columns 2023-05-21 13:34:20 -04:00
Jay Berkenbilt
293a2e52b3 Disregard appearance state when irrelevant (fixes #949)
If /AP is a dictionary of streams rather than a dictionary of
dictionaries, disregard /AS, which is supposed to point to a subkey of
one of the dictionaries. This fix prevents qpdf's annotation
flattening from discarding some annotations when /AS is erroneously
set.
2023-05-20 15:46:16 -04:00
Jay Berkenbilt
3cfd6546f3 Add ChangeLog and release notes for last change 2023-05-20 15:31:33 -04:00
Jay Berkenbilt
3f2b61ae00 Add release notes and ChangeLog for previous PR 2023-05-20 14:52:19 -04:00
Jay Berkenbilt
96520d2583 Add ChangeLog and release notes for previous fix (fixes #923) 2023-03-18 15:38:31 -04:00
m-holger
4359de9038 Bump version to 11.4.0 2023-03-05 15:19:26 +00:00
m-holger
284b8efbc6 Bump version to 11.3.1 2023-03-05 09:01:49 -05:00
Jay Berkenbilt
57dcf6d99d Prepare 11.3.0 release 2023-02-25 16:24:41 -05:00
Jay Berkenbilt
c99a1ecd4f Update copyright to 2023 2023-02-25 14:18:13 -05:00
Jay Berkenbilt
78f7dc9fe8 Overlay/underlay: capture origial page as form XObject (fixes #904) 2023-02-25 12:58:51 -05:00
m-holger
e65bb2c5c2 Fix typo in manual 2023-02-21 17:10:18 -05:00
Jay Berkenbilt
b4c36d9b73 Emphasize --deterministic-id over --static-id in idempotency doc 2023-02-18 19:42:42 -05:00
Jay Berkenbilt
0f97e98203 Handle linearization warnings as proper warning (fixes #851) 2023-02-18 19:38:49 -05:00
m-holger
6f15c8e7c5 Fix typo in manual 2023-02-04 15:07:16 -05:00
Jay Berkenbilt
cb4debe75f Add release note about performance improvements 2023-01-28 13:44:40 -05:00
Jay Berkenbilt
1308c45090 Implement --remove-restrictions (fixes #833) 2023-01-28 13:42:19 -05:00
Jay Berkenbilt
fe11f13d63 Add stub for --remove-restrictions 2023-01-28 13:24:45 -05:00
m-holger
2611f42c36 Bump version to 11.3.0 2022-12-31 19:16:38 -05:00
Jay Berkenbilt
2a6cc34e39 Merge branch 'patch-1' of https://github.com/AlisterH/qpdf into patch 2022-12-13 07:22:23 -05:00
AlisterH
565401177e
Correct syntax of example shell test 2022-12-13 22:46:44 +13:00
Ross Smith II
63f7cfdb9b docs: Fix typo in cli.rst 2022-12-11 12:20:51 -05:00
Jay Berkenbilt
1d9209ee74 Bump version to 11.2.1 2022-11-26 18:13:46 -05:00
Jay Berkenbilt
ddd889af9d Fix release notes and ChangeLog for 11.2 2022-11-20 15:33:13 -05:00
Jay Berkenbilt
2bc9121fa1 Fix major performance bug with openssl crypto (fixes #798)
Lazily load MD5 and RC4 once in the life of the program. Only load the
legacy provider if RC4 is actually being used.
2022-10-08 17:04:59 -04:00
Jay Berkenbilt
d14765f1c3 Bump version to 11.2.0 2022-10-06 07:02:43 -04:00
Jay Berkenbilt
6826330adc Require a C++-17 compiler 2022-10-06 06:58:38 -04:00
Jay Berkenbilt
236a02d402 Prepare 11.1.1 release 2022-10-01 12:04:50 -04:00
Jay Berkenbilt
6b371cc727 Bump version to 11.1.1 2022-09-21 15:58:32 -04:00
Jay Berkenbilt
da67a0aa04 11.1: Fix typo in release notes 2022-09-14 17:04:13 -04:00
Jay Berkenbilt
e39f14eaf0 Prepare 11.1.0 release 2022-09-14 15:44:17 -04:00
Jay Berkenbilt
2e35ead579 Doc: add examples for install dev component (fixes #767) 2022-09-14 09:58:56 -04:00
Jay Berkenbilt
faac493a5d Force project includes before system includes (fixes #763)
From time to time, someone has a problem because their build is
grabbing an old version of qpdf header files that are installed
somewhere on their system. I am hoping this will put an end to that.
2022-09-14 07:41:13 -04:00
Jay Berkenbilt
9a273c4098 Mention change of tagging convention (fixes #772) 2022-09-13 11:59:46 -04:00
Jay Berkenbilt
62833ac74f Bump version to 11.1.0
Some new symbols were exported.
2022-09-12 13:19:07 -04:00
Jay Berkenbilt
d780954bb3 Add some missing QPDF_DLL markers
These markers are being added for nested classes that are already
marked with QPDF_DLL_CLASS. They don't make any different on Linux,
but they matter on Windows.
2022-09-12 13:19:07 -04:00
Jay Berkenbilt
7aa2306ef4 Bump version to 11.0.1 2022-09-12 12:43:46 -04:00
Jay Berkenbilt
4963ce6a53 Remove obsolete LL_FMT check from build (fixes #768)
This was broken for cross-compilation and has probably been
unnecessary for several years now.

Also fix extraneous whitespace in related some tests.
2022-09-12 11:48:38 -04:00
Jay Berkenbilt
43035c8987 Prepare 11.0.0 release 2022-09-10 09:46:09 -04:00
Jay Berkenbilt
93f176a2a0
Documentation fix
Remove paragraph about traversal during destruction since this is still necessary with the
new implementation.
2022-09-10 07:39:25 -04:00
Jay Berkenbilt
8a3cdfd2af Change QPDFObjectHandle == to isSameObjectAs
Replace operator== and operator!=, which were testing for the same
underlying object, with isSameObjectAs. This change was motivated by
the fact that pikepdf internally had its own operator== method for
QPDFObjectHandle that did structural comparison. I backed out qpdf's
operator== as a courtesy to pikepdf (in my own testing) but also
because I think people might naturally assume that operator== does a
structural comparison, and isSameObjectAs is clearer in its intent.
2022-09-09 18:09:40 -04:00
Jay Berkenbilt
910a373a79 Clean up the Design and Library Notes chapter of the manual 2022-09-09 18:09:40 -04:00
Jay Berkenbilt
a6c4b293b1 Clean up release notes for qpdf 11 2022-09-09 10:49:25 -04:00
Jay Berkenbilt
4dcc1021b8 Fix doc typo 2022-09-09 06:19:09 -04:00
Jay Berkenbilt
f1a2d3160a Add JSON v2 support to C API 2022-09-09 06:19:09 -04:00
Jay Berkenbilt
18a583e8d9 Rename QPDFValueProxy back to QPDFObject
QPDFValueProxy wasn't a good name for it. We decided the evil of
having the header file be named QPDFObject_private.hh was less than
the evil of having the class be named something other than what it
should have been named.
2022-09-08 11:29:23 -04:00
Jay Berkenbilt
dba61da1bf Create a special "destroyed" type rather than using null
When a QPDF is destroyed, changing indirect objects to direct nulls
makes them effectively disappear silently when they sneak into other
places. Instead, we should treat this as an error. Adding a destroyed
object type makes this possible.
2022-09-08 10:36:39 -04:00
Jay Berkenbilt
0132261ee0 Revert getOwningQPDF, and add getQPDF that returns a reference 2022-09-07 17:26:39 -04:00
Jay Berkenbilt
76cd7ea67a Clarify and improve QPDFPageObjectHelper::get*Box methods
Add copy_if_fallback and explain how it differs from copy_if_shared.
2022-09-06 19:00:40 -04:00
Jay Berkenbilt
c1def4ead4 Implement QPDFObjectHandle equality 2022-09-06 18:34:23 -04:00
Jay Berkenbilt
94c79bb8f6 Support --show-encryption without a valid password (fixes #598) 2022-09-06 12:45:12 -04:00
Jay Berkenbilt
f95e0549cc Update documentation to clarify some limitations of qpdf JSON 2022-09-06 10:09:26 -04:00
Jay Berkenbilt
ed04b80caf Update internals documentation to reflect QPDFObject split 2022-09-05 18:54:02 -04:00
Jay Berkenbilt
55cc2ab680 Re-introduce QPDFObject.hh as deprecated
* Just removing a header file would cause build errors with no hint as
  to what happened. This way, people get a warning rather than error
  for the life of qpdf 11, and the warning tells them what to do.

* This avoids build surprises resulting from having two versions of
  QPDF headers installed at once. If you were building code out of a
  checkout of qpdf but had an older version installed on your system,
  if your code included <qpdf/QPDFObject.hh>, everything would work,
  but then your code would break without QPDFObject.hh later.
2022-09-05 18:52:59 -04:00
Jay Berkenbilt
0a7ba62b00 Update formatting a documentation from last PR 2022-09-05 18:52:59 -04:00
Jay Berkenbilt
a59e7ac7ec Disable copying/assigning to QPDF objects, add QPDF::create() 2022-09-02 08:53:27 -04:00
Jay Berkenbilt
b663926538 Remove QPDFObject::object_type_e as alias for qpdf_object_type_e 2022-09-01 18:11:22 -04:00
Jay Berkenbilt
4e7d5f190a Include memory usage in performance test output 2022-09-01 17:20:59 -04:00
Jay Berkenbilt
ceeb25f3c8 Rename --report-mem-usage to --report-memory-usage
Avd xcsv brvtns.
2022-09-01 17:15:41 -04:00
Jay Berkenbilt
e94f478217 Update ChangeLog and Release Notes from previous pull requests 2022-09-01 17:15:41 -04:00
Jay Berkenbilt
433f1dae19 Add --report-mem-usage option for debugging/testing 2022-08-31 14:47:27 -04:00
Jay Berkenbilt
394302a411 Add ChangeLog/release-notes (with credit) for last pull request 2022-08-27 08:14:36 -04:00
Jay Berkenbilt
cef6425bca Disable QTC inside the library by default (fixes #714)
This results in measurable performance improvements to packaged binary
libqpdf distributions. QTC remains available for library users and is
still selectively enabled in CI.
2022-08-07 16:20:49 -04:00
Jay Berkenbilt
5d63730b93 Clean up documentation 2022-07-31 16:26:02 -04:00
Jay Berkenbilt
5f4224f31a Simplify --json-output
Now --json-output just changes defaults. Allow output file with --json.
2022-07-31 16:23:17 -04:00
Jay Berkenbilt
d01c4f8819 Change --json-output format
from "qpdf-v2" to "qpdf": [..., ...]
2022-07-31 10:32:55 -04:00
Jay Berkenbilt
bb96499b61 Update docs and prepare QPDF::writeJSON for changes
Add additional parameters that will be needed to call QPDF::writeJSON
in partial mode.
2022-07-31 10:32:55 -04:00
Jay Berkenbilt
4674c04cb8 JSON schema: support multi-element array validation 2022-07-24 16:44:51 -04:00
Jay Berkenbilt
b3e6d445cb Tweak "AndGet" mutator functions again
Remove any ambiguity around whether old or new value is being
returned.
2022-07-24 15:42:23 -04:00
Jay Berkenbilt
d27edd54c4 Add ChangeLog and release notes for previous contribution 2022-07-24 14:47:40 -04:00
Jay Berkenbilt
bb0ea2f8e7 Add qpdfjob_register_progress_reporter 2022-06-19 08:46:58 -04:00
Jay Berkenbilt
8e361d98f0 Add examples for output capture (fixes #691) 2022-06-19 08:46:58 -04:00
Jay Berkenbilt
8130d50e3b Add C API to QPDFLogger 2022-06-19 08:46:58 -04:00
Jay Berkenbilt
daef4e8fb8 Add more flexible funtions to qpdfjob C API 2022-06-19 08:46:58 -04:00
Jay Berkenbilt
28cc3692e3 Expose exit code values to C API via Constants.h 2022-06-18 11:36:11 -04:00
Jay Berkenbilt
d2e68b57c8 Spell check 2022-06-18 10:38:54 -04:00
Jay Berkenbilt
e0720eaa78 Use the default logger for other writes to stdout/stderr
When there is no context for writing output or error messages, use the
default logger.
2022-06-18 10:38:50 -04:00
Jay Berkenbilt
83be2191b4 Use "save" logger when saving data to standard output
This includes the output PDF, streams from --show-object and
attachments from --save-attachment. This also enables --verbose and
--progress to work with saving to stdout.
2022-06-18 09:54:40 -04:00
Jay Berkenbilt
641e92c6a7 QPDF, QPDFJob: use QPDFLogger instead of custom output streams 2022-06-18 09:02:55 -04:00
Jay Berkenbilt
f588d74140 Add integer types to Pipeline::operator<< 2022-06-18 09:02:55 -04:00
Jay Berkenbilt
7cae125e6e JSON doc fixes and ideas based on discussion with m-holger 2022-06-05 19:34:28 -04:00
m-holger
f51e28a094 Fix typo in json.rst 2022-06-05 18:46:13 -04:00
Jay Berkenbilt
aa800d2a3b ChangeLog, release notes for json v2 2022-05-31 07:20:47 -04:00
Jay Berkenbilt
001c329a8f Fix doc reference error 2022-05-31 07:07:16 -04:00
Jay Berkenbilt
7d9b2d9f6c Restore -W option to sphinx-build, lost in cmake version 2022-05-31 07:06:56 -04:00
Jay Berkenbilt
0bd908b550 Update documentation for qpdf JSON v2 2022-05-30 20:03:08 -04:00
Jay Berkenbilt
b7bbf12e85 In json mode, reveal recovered user password when otherwise unavailable 2022-05-30 20:03:08 -04:00
Jay Berkenbilt
f049a77c59 Add additional information when listing attachments 2022-05-30 20:03:08 -04:00
m-holger
558590f0d0 Fix minor doc typo 2022-05-23 15:29:57 -04:00
m-holger
6a8e604da6 Fix minor doc typo 2022-05-23 15:29:57 -04:00
Jay Berkenbilt
f1a9ba0c62 TODO: clean up remaining work for json v2 2022-05-21 18:01:02 -04:00
Jay Berkenbilt
27a42c16c7 Change default decode level to "none" with --json-output 2022-05-21 17:51:34 -04:00
Jay Berkenbilt
dc8df962d8 Make version default to latest for --json-output (like --json) 2022-05-20 09:16:25 -04:00
Jay Berkenbilt
6f43bf8de3 Major rework -- see long comments
* Replace --create-from-json=file with --json-input, which causes the
  regular input to be treated as json.
* Eliminate --to-json
* In --json=2, bring back "objects" and eliminate "objectinfo". Stream
  data is never present.
* In --json-output=2, write "qpdf-v2" with "objects" and include
  stream data.
2022-05-20 09:16:25 -04:00
Jay Berkenbilt
56f1b411fe Back out fluent QPDFObjectHandle methods. Keep the andGet methods.
I decided these were confusing and inconsistent with how JSON works.
They muddle the API rather than improving it.
2022-05-20 09:16:25 -04:00
Jay Berkenbilt
4fe2e06b47 Add --create-from-json and --update-from-json arguments
Also add stubs for top-level QPDF methods (createFromJSON,
updateFromJSON)
2022-05-16 13:41:40 -04:00