Commit Graph

3064 Commits

Author SHA1 Message Date
Jay Berkenbilt 230f1ab290
Merge pull request #933 from m-holger/c_job
C-API : expose QPDFJob::createQPDF and writeQPDF
2023-04-02 09:01:26 -04:00
m-holger 41f79bedbc Add new functions qpdfjob_create_qpdf and qpdfjob_write_qpdf 2023-04-02 09:45:19 +01:00
m-holger c78f44798a Add new _qpdf_data constructor taking a std::unique_ptr<QPDF>
Also, move _qpdf_data and to new header filer _qpdf_error to new header
file qpdf-c_impl.hh
2023-04-02 09:24:08 +01:00
m-holger a2edf27b76 Initialize _qpdf_data members 2023-04-02 09:24:08 +01:00
Jay Berkenbilt f8e39253be
Merge pull request #863 from m-holger/array
Refactor QPDF_Array
2023-04-01 11:05:07 -04:00
Jay Berkenbilt 40e4d1f97c
Merge pull request #930 from m-holger/throw
Code tidy re-throwing of exceptions
2023-04-01 09:42:52 -04:00
Jay Berkenbilt 5981b25e98
Merge pull request #932 from m-holger/wr_upo
Tune indentations in QPDFWriter::unparseObject
2023-04-01 09:37:55 -04:00
Jay Berkenbilt ef6f5a97f4
Merge pull request #936 from m-holger/hex
Refactor QUtil::hex_decode
2023-04-01 09:31:28 -04:00
m-holger 0b53b648ab Refactor QPDF_Array::unparse 2023-04-01 13:58:21 +01:00
m-holger c2ab0441b5 Refactor QPDF_Array::getJSON 2023-04-01 13:58:15 +01:00
m-holger a7b6975132 Remove SparseOHArray 2023-04-01 13:58:06 +01:00
m-holger d3f2dc322b Refactor QPDF_Array::copy 2023-04-01 13:57:47 +01:00
m-holger a171ebb942 Refactor QPDF_Array::disconnect 2023-04-01 13:57:35 +01:00
m-holger 0aae54d383 Refactor QPDF_Array::setFromVector 2023-04-01 13:57:28 +01:00
m-holger 5072238867 Refactor QPDF_Array::getAsVector 2023-04-01 13:57:22 +01:00
m-holger e186da1721 Remove SparseOHArray::at, setAt and append 2023-04-01 13:57:15 +01:00
m-holger 1c85e7ece4 Remove SparseOHArray::erase 2023-04-01 13:56:54 +01:00
m-holger 6295da436f Remove SparseOHArray::insert 2023-04-01 13:56:47 +01:00
m-holger 73023bcb5d Change sparse_array test to test sparse QPDF_Arrays 2023-04-01 13:56:37 +01:00
m-holger 182c2480df Refactor QPDF_Array::setItem and rename to setAt 2023-04-01 13:56:29 +01:00
m-holger 4d37389bef Refactor QPDF_Array::eraseItem and rename to erase 2023-04-01 13:56:16 +01:00
m-holger 1bb23d0545 Refactor QPDF_Array::insertItem and rename to insert 2023-04-01 13:56:10 +01:00
m-holger cedb37caa1 Refactor QPDF_Array::appendItem and rename to push_back 2023-04-01 13:55:14 +01:00
m-holger c6179da961 Add new method QPDFValue::checkOwnership 2023-04-01 13:54:44 +01:00
m-holger a1a8f35b63 Refactor QPDF_Array::getItem and rename to at 2023-04-01 13:54:17 +01:00
m-holger 51d350c98c Inline QPDF_Array::getNItems and rename to size 2023-04-01 12:25:15 +01:00
m-holger e6db8ddeba Change SparseOHArray index type to int and elements type to map
There are no reasons other than historical to use size_t.
On balance, using map is more efficient. Hold shared pointers to
QPDFObjects rather than QPDFObjectHandles for consistencey with
QPDF_Array.
2023-04-01 12:25:06 +01:00
m-holger ea5164938e Remove temporary OHArray 2023-04-01 12:24:52 +01:00
m-holger 9e30de8032 Remove temporary OHArray::erase, insert and copy 2023-03-29 13:15:39 +01:00
m-holger 0db65e7912 Remove temporary OHArray::disconnect and setAt 2023-03-29 13:06:26 +01:00
m-holger 1367226002 Remove temporary OHArray::at 2023-03-29 13:00:28 +01:00
m-holger ad2875a4aa Remove temporary OHArray::size, append and remove_last
Also, add const overload of QPDFObjectHandle::getObj
2023-03-29 12:34:07 +01:00
m-holger 8fdc3f0964 Optimize QPDFParser for non-sparse QPDF_Arrays
Stop using nullptr to represent null objects.
Count null array elements and trigger creation of sparse arrays if null count is
greater than 100.
2023-03-29 12:10:19 +01:00
m-holger 18c1ffe0df Change underlying data structure of QPDF_Array in non-sparse mode to std::vector 2023-03-29 12:01:24 +01:00
m-holger 38cf7c1628 Add separate sparse mode to QPDF_Array
Add temporary clone of SparseOHArray  to implement non-sparse mode.
2023-03-29 11:48:21 +01:00
m-holger de29fd56c4 Remove redundant QPDF_Array::addExplicitElementsToList 2023-03-29 10:47:37 +01:00
Jay Berkenbilt b62ad7ecc6
Merge pull request #937 from m-holger/cspell
Remove duplicate entries from cSpell.json
2023-03-26 08:58:19 -04:00
m-holger 0c4200a1f2 Remove duplicate entries from cSpell.json 2023-03-24 11:47:35 +00:00
m-holger 5f4f553c35 Refactor QUtil::hex_decode 2023-03-23 20:25:42 +00:00
m-holger 0795b6952b Add new function QUtil::hex_decode_char 2023-03-23 20:23:37 +00:00
m-holger ce66604290 Tune indentations in QPDFWriter::unparseObject
Set indent differently for qdf and non-qdf files.
Combine with preceding newline for qdf files.
2023-03-21 10:59:05 +00:00
Jay Berkenbilt f89196b6c8
Merge pull request #814 from m-holger/check
Warn if catalog type entry is invalid (fixes #810)
2023-03-20 06:59:47 -04:00
m-holger d8acccd5c8 Warn if catalog type entry is invalid (fixes #810) 2023-03-19 20:07:53 +00:00
m-holger 9c7aa2cbbd Code tidy re-throwing of exceptions
Avoid copying exceptions.
2023-03-19 17:27:39 +00:00
Jay Berkenbilt 96520d2583 Add ChangeLog and release notes for previous fix (fixes #923) 2023-03-18 15:38:31 -04:00
Jay Berkenbilt fe36ef141c
Merge pull request #924 from cdosborn/main
Improve --optimize-images to find images nested within XObjects
2023-03-18 15:34:27 -04:00
Jay Berkenbilt 1e53da74bc
Merge pull request #918 from m-holger/fixqdf
Code tidy QdfFixer methods
2023-03-18 14:00:11 -04:00
Jay Berkenbilt a2c7471e66
Merge pull request #920 from m-holger/fixqdf_rl
Refactor QdfFixer::processLines
2023-03-18 13:59:47 -04:00
Jay Berkenbilt 84e29026f5
Merge pull request #926 from m-holger/omap
Remove redundant parameter depth from QPDF::updateObjectMaps
2023-03-18 13:28:19 -04:00
Jay Berkenbilt b480f7186f
Merge pull request #928 from m-holger/wr_og
Add new data member QPDFWriter::Members::root_og
2023-03-18 13:28:12 -04:00