mirror of
https://github.com/qpdf/qpdf.git
synced 2024-06-15 16:42:19 +00:00
Performance fix on preserveObjectStreams
This commit is contained in:
parent
bddebdb0ea
commit
3cacb27a90
|
@ -1,3 +1,9 @@
|
||||||
|
2021-05-09 Jay Berkenbilt <ejb@ql.org>
|
||||||
|
|
||||||
|
* Improve performance of preservation of object streams by
|
||||||
|
avoiding unnecessary traversal of objects when there are no object
|
||||||
|
streams.
|
||||||
|
|
||||||
2021-05-08 Jay Berkenbilt <ejb@ql.org>
|
2021-05-08 Jay Berkenbilt <ejb@ql.org>
|
||||||
|
|
||||||
* 10.3.2: release
|
* 10.3.2: release
|
||||||
|
|
|
@ -2361,6 +2361,12 @@ QPDFWriter::initializeSpecialStreams()
|
||||||
void
|
void
|
||||||
QPDFWriter::preserveObjectStreams()
|
QPDFWriter::preserveObjectStreams()
|
||||||
{
|
{
|
||||||
|
std::map<int, int> omap;
|
||||||
|
QPDF::Writer::getObjectStreamData(this->m->pdf, omap);
|
||||||
|
if (omap.empty())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
// Our object_to_object_stream map has to map ObjGen -> ObjGen
|
// Our object_to_object_stream map has to map ObjGen -> ObjGen
|
||||||
// since we may be generating object streams out of old objects
|
// since we may be generating object streams out of old objects
|
||||||
// that have generation numbers greater than zero. However in an
|
// that have generation numbers greater than zero. However in an
|
||||||
|
@ -2380,8 +2386,6 @@ QPDFWriter::preserveObjectStreams()
|
||||||
}
|
}
|
||||||
QTC::TC("qpdf", "QPDFWriter preserve object streams",
|
QTC::TC("qpdf", "QPDFWriter preserve object streams",
|
||||||
this->m->preserve_unreferenced_objects ? 0 : 1);
|
this->m->preserve_unreferenced_objects ? 0 : 1);
|
||||||
std::map<int, int> omap;
|
|
||||||
QPDF::Writer::getObjectStreamData(this->m->pdf, omap);
|
|
||||||
for (auto iter: omap)
|
for (auto iter: omap)
|
||||||
{
|
{
|
||||||
QPDFObjGen og(iter.first, 0);
|
QPDFObjGen og(iter.first, 0);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user