-
It is common to just read a few objects. Checking extraction of the first page exercises this to make sure we don't accidentally introduce a change that makes that case worse, such as adding an unnecessary traversal of the file, prematurely resolving objects we don't need, etc.
-
A new private overload of QPDF::makeIndirectObject breaks pikepdf's build, so renaming function.
-
…ternal2 and copyObject2
-
copyObject2 repeats a second time what new_obj = QPDFObjectHandle(obj->copy(true)) in shallowCopyInternal2 already did.
-
…ternal2 and copyObject2
-
Have separate versions for unsafeShallowCopy, shallowCopy and makeDirect.
-
Add optional parameter shallow. Change logic errors to runtime errors.