Commit Graph

219 Commits

Author SHA1 Message Date
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 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 ae2d623929 Use QPDFObjGen::set in QPDF::updateObjectMaps 2023-05-19 18:56:01 +01:00
m-holger 8fbef47093 Use QPDFObjGen::set in QPDF::getAllPages 2023-05-19 18:55:55 +01:00
m-holger 5473c0956c Use QPDFObjGen::set in QPDF::replaceForeignIndirectObjects 2023-05-19 18:52:48 +01:00
m-holger d8acccd5c8 Warn if catalog type entry is invalid (fixes #810) 2023-03-19 20:07:53 +00:00
m-holger 5af32b53a3 Remove redundant parameter depth from QPDF::updateObjectMaps 2023-03-15 17:50:17 +00:00
Jay Berkenbilt c99a1ecd4f Update copyright to 2023 2023-02-25 14:18:13 -05:00
Jay Berkenbilt 0f97e98203 Handle linearization warnings as proper warning (fixes #851) 2023-02-18 19:38:49 -05:00
Jay Berkenbilt 088fabd9b9 Move most QPDF initializations to header 2023-02-18 19:38:37 -05:00
m-holger da14ab4dc7 Move definition of QPDF::JSONReactor into QPDF_json
Allow access to private header files when defining data members.
2023-02-18 08:33:08 +00:00
m-holger dab27c9bb3 Refactor setting of object descriptions in QPDF::JSONReactor 2023-02-18 08:33:08 +00:00
Jay Berkenbilt 1308c45090 Implement --remove-restrictions (fixes #833) 2023-01-28 13:42:19 -05:00
m-holger b0457b37e2 Update doc comment for QPDF::fixDanglingReferences 2022-12-31 09:28:28 -05:00
m-holger cfcb279e49 Alternative fix logic for fixDanglingReferences 2022-12-06 15:21:34 -05:00
m-holger 008364a9a4 Remove redundant friend class statements 2022-12-04 14:05:16 -05:00
Jay Berkenbilt 562ff1b608 Rename function for pikepdf (for 11.2.0)
A new private overload of QPDF::makeIndirectObject breaks pikepdf's
build, so renaming function.
2022-11-20 16:04:58 -05:00
Jay Berkenbilt e9980efec8 Correctly handle reuse of xref stream (fixes #809) 2022-11-19 17:03:17 -05:00
m-holger 9ebabd1953 Add new methods QPDF::newStream 2022-11-19 14:10:42 -05:00
m-holger 0a3c533186 Add private method QPDF::nextObjGen 2022-11-19 14:10:42 -05:00
m-holger b3d71e1f58 Add private overload of QPDF::makeIndirectObject taking a QPDFObject shared_ptr 2022-11-19 14:10:42 -05:00
m-holger 5ccab4be03 Add private methods QPDF::damagedPDF 2022-10-01 11:17:39 -04:00
m-holger b948366280 Add doc comment to QPDF::getFilename 2022-10-01 11:17:39 -04:00
Jay Berkenbilt c5f61fcbd3 Improve efficiency of ResolveRecorder
Removing an element from a set with iterator is constant time, and
std::set specifies that other operations on the set do not invalidate
existing iterators.
2022-09-13 11:19:24 -04:00
Jay Berkenbilt 31b2cfbb79 Fix up a few comments 2022-09-13 11:18:49 -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 6c61be00e8 Rename QPDFObject -> QPDFValueProxy
This is in preparation for restoring a QPDFObject.hh to ease the
transition on qpdf_object_type_e.

This commit was created by
* Renaming QPDFObject.cc and QPDFObject.hh
* Replacing QPDFObject\b with QPDFValueProxy (where \b is word
  boundary)
* Running format-code
* Manually resorting files in libqpdf/CMakeLists.txt
* Manually refilling the comment in QPDF.hh near class Resolver
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 da0b0e405d Fix outdated comment 2022-09-02 08:30:11 -04:00
Jay Berkenbilt 3d029fb17e
Merge pull request #730 from m-holger/allpages
Tidy QPDF::getAllPagesInternal and QPDF::pushInheritedAttributesToPageInternal
2022-09-01 15:28:32 -04:00
m-holger 4a8515912c Add method QPDFObject::resolve 2022-09-01 17:19:06 +01:00
m-holger ae6e484e23 Change return type of QPDF::resolve to void 2022-09-01 17:08:45 +01:00
m-holger 556c34f0f2 Add private method QPDF::ObjCache::update
Add a new obj_cache entry or update an existing entry in place.
2022-09-01 14:30:26 +01:00
m-holger c0cd72a3ee Add private methods QPDF::isCached and QPDF::isUnresolved 2022-09-01 14:29:53 +01:00
m-holger 27fae2b55e Remove QPDF::ObjectChanged
Also change QPDF::replaceObject and QPDF::swapObjects such that the
QPDFObject assigned to an og in the obj_cache is never replaced; only
QPDFObject::value is updated.
2022-09-01 14:27:46 +01:00
m-holger 2a2eebcaea Modify newIndirect to set QPDFObjectHandle::obj 2022-08-31 22:47:11 +01:00
m-holger 6670c685ab Move QPDFObjectHandle::parseInternal to new class QPDFParser
Part of #729
2022-08-30 05:56:23 +01:00
Jay Berkenbilt 7084c3f715 Add comment clarifying getObject vs others 2022-08-06 14:25:12 -04:00
m-holger 1553868c4a Add QPDF::getObject to replace getObjectByObjGen and getObjectByID
For consistency with similar methods, e.g. replaceObject.
2022-08-01 19:22:37 +01:00
m-holger 0356bcecc5 Tidy QPDF::pushInheritedAttributesToPageInternal
Remove unnecessary parameters.
Remove code that is unnecessary as result of a prior call to QPDF::getAllPages.
Avoid clearing and rebuilding of m->all_pages.
2022-08-01 13:29:14 +01:00
m-holger 4ccca20db0 Remove redundant parameter from QPDF::getAllPagesInternal 2022-08-01 13:29:14 +01:00
Jay Berkenbilt 12d065c751 Provide a simpler QPDF::writeJSON 2022-07-31 16:23:17 -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 69820847af Change the output of --json to use "qpdf" instead of "objects" 2022-07-31 15:17:01 -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
m-holger afd35f9a30 Overload StreamDataProvider::provideStreamData
Use 'QPDFObjGen const&' instead of 'int, int' in signature.
2022-07-24 16:02:35 +01:00
m-holger f7978db1f6 QPDFObjGen : tidy QPDF private methods
Change method signatures to use QPDFObjGen.
Use QPDFObjGen methods where possible.
Remove redundant QPDF::objGenToIndirect.
2022-07-24 16:02:35 +01:00