Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The preservation of outlines didn't provide very useful behavior
anyway as it copied all outlines but most didn't work. This
implementation also caused a very significant performance hit and so
is being reverted until a proper solution can be coded. The eventual
solution will not be compatible with the reverted solution anyway, so
it's best not to leave this in.
|
|
|
|
|
|
* [bcc32 Error] QPDF.cc(375): E2268 Call to undefined function 'atof'
Full parser context
QPDF.cc(358): parsing: void QPDF::parse(const char *)
* [bcc32 Error] QPDFTokenizer.cc(183): E2268 Call to undefined function 'strtol'
Full parser context
QPDFTokenizer.cc(163): parsing: void QPDFTokenizer::resolveLiteral()
* [bcc32 Error] pdf-split-pages.cc(52): E2268 Call to undefined function 'exit'
Full parser context
pdf-split-pages.cc(50): parsing: void usage()
* PR #295: Including "cstdlib" should be replaced with "stdlib.h" to be more consistent. At the same time I changed the order of the surrounding includes to reflect alphabetical order, because at some files this already have been the case.
|
|
Fix C++ exception handling when -fvisibility=hidden
Ensure that QPDFExc and QPDFSystemError are marked visible, so that their typeinfo will not be
suppressed when -fvisibility=hidden.
Details:
https://gcc.gnu.org/wiki/Visibility
|
|
Embarcadero C++Builder doesn't support more than 50 files open at the same time for legacy 32 Bit apps, which makes a test fail trying to open more than that many files. This changes the number of open files for that test to far less to make the test succeed. Alternatively one could reduce the hard coded number of 200 in QPDF itself, which I didn't do currently because it needs adoption of manuals etc. and is something which needs to be discussed with the author of QPDF. I guess chances are better to get the test changed upstream.
This fixes #288: https://github.com/qpdf/qpdf/issues/288
|
|
Full parser context
QPDF.cc(2): #include ..\..\..\..\src\include\qpdf\QPDF.hh
QPDF.hh(48): class QPDF
QPDF.hh(1380): decision to instantiate: QPDF::ResolveRecorder::ResolveRecorder(QPDF *,const QPDFObjGen &)
--- Resetting parser context for instantiation...
QPDF.hh(799): parsing: QPDF::ResolveRecorder::ResolveRecorder(QPDF *,const QPDFObjGen &)
|
|
'QPDFObjectHandle::Members::obj' is not accessible
Full parser context
Pl_QPDFTokenizer.cc(1): #include ..\..\..\..\src\include\qpdf\Pl_QPDFTokenizer.hh
Pl_QPDFTokenizer.hh(29): #include ..\..\..\..\src\include\qpdf/QPDFObjectHandle.hh
QPDFObjectHandle.hh(51): class QPDFObjectHandle
QPDFObjectHandle.hh(1052): decision to instantiate: PointerHolder<QPDFObject> QPDFObjectHandle::ObjAccessor::getObject(QPDFObjectHandle &)
--- Resetting parser context for instantiation...
QPDFObjectHandle.hh(909): parsing: PointerHolder<QPDFObject> QPDFObjectHandle::ObjAccessor::getObject(QPDFObjectHandle &)
|
|
Two operands must evaluate to the same value.
|
|
the classic one nor newer ones based on CLANG.
|
|
Full parser context
QPDF.cc(2): #include ..\..\..\..\src\include\qpdf\QPDF.hh
QPDF.hh(47): class QPDF
|
|
Full parser context
QPDF.cc(2): #include ..\..\..\..\src\include\qpdf\QPDF.hh
QPDF.hh(46): class QPDF
|
|
JSON serialization was preserving the value as presented, but JSON
doesn't accept decimal values without a 0 before the decimal point.
|
|
|
|
|
|
The kfo-PDF files for testing need to be copied using "binmode"…
|
|
same type
Full parser context
test_driver.cc(208): parsing: void runtest(int,const char *,const char *)
|
|
Full parser context
qpdf.cc(3803): parsing: PointerHolder<Pipeline> ImageOptimizer::makePipeline(const std::string &,Pipeline *)
|
|
will introduce \r\n.
qpdf: selecting --keep-open-files=n
qpdf: processing 001-kfo.pdf
WARNING: 001-kfo.pdf: file is damaged
WARNING: 001-kfo.pdf (offset 556): xref not found
WARNING: 001-kfo.pdf: Attempting to reconstruct cross-reference table
|
|
There have been issues reported where exceptions are not thrown
properly across shared library/DLL boundaries, so add a test
specifically to ensure that exceptions are caught as thrown.
|
|
|
|
|
|
Ensure zlib-flate doesn't link with an old libqpdf
|
|
|
|
Since autogenerated files are now committed, we no longer need to
rerun ./autogen.sh and actually shouldn't because it could mask
errors.
|
|
|
|
|
|
|
|
|
|
Also add test cases for additional coverage on image optimization.
|
|
Do not include the trailing EI, and handle cases where EI is not
preceded by a delimiter. Such cases have been seen in the wild.
|
|
|
|
This hasn't worked or been exercised in years since Adobe stopped
releasing a Linux version of reader.
|
|
|
|
We've actually seen a PDF file in the wild that contained EI
surrounded by delimiters inside the image data, which confused qpdf's
naive code. This significantly improves EI detection.
|
|
Add a version of expectInlineImage that takes an input source and
searches for EI. This is in preparation for improving the way EI is
found. This commit just refactors the code without changing the
functionality and adds tests to make sure the old and new code behave
identically.
|
|
The inline image token erroneously included the delimiter that
followed EI. The ObjectHandle created from it was correct.
|
|
|
|
|
|
When qpdf can't optimize an image because of an unsupported color
space, state this specifically. Recognize that many valid colorspaces
are not represented as name objects.
|
|
|
|
Make explicit that copyForeignObject can be used on page objects and
will copy them properly but not update the pages tree.
|