aboutsummaryrefslogtreecommitdiffstats
path: root/examples
AgeCommit message (Collapse)Author
2021-01-31Improve memory safety of dict/array iteratorsJay Berkenbilt
2021-01-30Add example of name/number trees and dictionary/array iterationJay Berkenbilt
2021-01-30Update examples to use QPDFObjectHandle iteratorsJay Berkenbilt
2021-01-24QPDFObjectHandle::newUnicodeString to uses UTF-16 only when neededJay Berkenbilt
Use the first of ASCII, PDFDocEncoding, or UTF-16 that is capable of encoding the string.
2021-01-04Spell checkJay Berkenbilt
2021-01-02Make more QPDFPageObjectHelper methods work with form XObjectJay Berkenbilt
2021-01-02QPDFPageObjectHelper: filterPageContents -> filterContents + form XObjectJay Berkenbilt
2021-01-02QPDFPageObjectHelper: getPageImages -> getImagesJay Berkenbilt
2020-12-28Add pdf-custom-filter exampleJay Berkenbilt
2020-12-20Provide qpdf write progress reporting from C API (fixes #487)Jay Berkenbilt
2020-11-29Add QPDFObjectHandle manipulation to C APIJay Berkenbilt
2020-04-16Fix warnings reported by -Wshadow=local (fixes #431)Jay Berkenbilt
2020-04-09Fix typo in test case nameJay Berkenbilt
2020-04-09Fix memory leak in pdf-invert-imagesJay Berkenbilt
A class can't have a PointerHolder to itself since PointerHolder doesn't have the concept of weak references.
2020-04-08Improve pdf-invert-images exampleJay Berkenbilt
2020-02-22Mention appearances in pdf-set-form-values exampleJay Berkenbilt
2019-08-23Pass offset and length to ParserCallbacks::handleObjectJay Berkenbilt
2019-07-04Change list to vector for outline helpers (fixes #297)Thorsten Schöning
This change works around STL problems with Embarcadero C++ Builder version 10.2, but std::vector is more common than std::list in qpdf, and this is a relatively new API, so an API change is tolerable. Thanks to Thorsten Schöning <6223655+ams-tschoening@users.noreply.github.com> for the fix.
2019-06-22Add missing #include <cstring>Jay Berkenbilt
2019-06-21Fix sign and conversion warnings (major)Jay Berkenbilt
This makes all integer type conversions that have potential data loss explicit with calls that do range checks and raise an exception. After this commit, qpdf builds with no warnings when -Wsign-conversion -Wconversion is used with gcc or clang or when -W3 -Wd4800 is used with MSVC. This significantly reduces the likelihood of potential crashes from bogus integer values. There are some parts of the code that take int when they should take size_t or an offset. Such places would make qpdf not support files with more than 2^31 of something that usually wouldn't be so large. In the event that such a file shows up and is valid, at least qpdf would raise an error in the right spot so the issue could be legitimately addressed rather than failing in some weird way because of a silent overflow condition.
2019-03-12Undefined functions because of missing std:: or header. (#295)Thorsten Schöning
* [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.
2019-02-02Incorporate improved Windows fragility workaround from qtestJay Berkenbilt
2019-01-27Example of form XObject, page overlayJay Berkenbilt
2019-01-07Work around test fragility on WindowsJay Berkenbilt
2018-12-23Add comment about json to pdf-bookmarksJay Berkenbilt
2018-12-22Rewrite bookmark example to use outline helpersJay Berkenbilt
Now uses QPDFOutlineDocumentHelper and QPDFOutlineObjectHelper.
2018-08-13Catch exceptions as const references (fixes #236)Jay Berkenbilt
This fix allows qpdf to compile/test cleanly with gcc 8.
2018-06-22Add missing headersJay Berkenbilt
2018-06-21Add interactive form exampleJay Berkenbilt
2018-06-21Convert examples to use new page helper classesJay Berkenbilt
2018-02-19Properly handle strings with PDF Doc Encoding (fixes #179)Jay Berkenbilt
The QPDF_String::getUTF8Val() method was not treating strings that weren't explicitly Unicode as PDF Doc Encoded. This only affects characters in the range 0x80 through 0xa0.
2018-02-19Simplify TokenFilter interfaceJay Berkenbilt
Expose Pl_QPDFTokenizer, and have it do more of the work of managing the token filter's pipeline.
2018-02-19Add additional interface for filtering page contentsJay Berkenbilt
2018-02-19Filter tokens exampleJay Berkenbilt
2018-02-19Bug fix: content normalizer should not add trailing newlineJay Berkenbilt
Adding a trailing newline in content normalization damages files whose contents are split across streams in the middle of tokens. Let QPDFWriter add the newline with the indicator to ignore the newline, which it already does. This changes the way some qdf files look.
2018-02-19Switch from parseContentStream to parsePageContentsJay Berkenbilt
2018-02-04Rename test output files (fixes #173)Jay Berkenbilt
Some file names had `...` in their name, which causes problems on some systems.
2018-02-04Add comment to setStaticID callJay Berkenbilt
2018-01-14Use correct link directory order (fixes #158)Jay Berkenbilt
Make sure to link from the source tree before linking from the system. In many environments, this is necessary to allow a newly built qpdf to link properly instead of trying to link or resolve libraries from an older installed version.
2017-08-29Replace all atoi calls with QUtil::string_to_intJay Berkenbilt
The latter catches underflow/overflow.
2017-08-22Spell checkJay Berkenbilt
2017-08-21Enhance pdf-create exampleJay Berkenbilt
pdf-create now creates images with different color spaces and encoding schemes and verifies them for data correctness.
2017-08-21Enable finer grained control of stream decodingJay Berkenbilt
This commit adds several API methods that enable control over which types of filters QPDF will attempt to decode. It also adds support for /RunLengthDecode and /DCTDecode filters for both encoding and decoding.
2017-08-05Add --split-pages option (fixes #30)Jay Berkenbilt
2017-07-30Fix command-line checking in pdf-split-pages exampleJay Berkenbilt
2017-07-28Convert many more errors to warningsJay Berkenbilt
2017-07-26Make windows includes lowercase (fixes #123)slurdge
For cross compiling.
2015-11-01Comment use of static ID in examplesJay Berkenbilt
Make sure people know that static ID should be used only for testing.
2014-06-07Example: fast split into single pagesJay Berkenbilt
This is faster than using qpdf --pages to do it.
2013-11-30Allow -DNO_GET_ENVIRONMENT to avoid GetEnvironmentVariableJay Berkenbilt
If NO_GET_ENVIRONMENT is #defined at compile time on Windows, do not call GetEnvironmentVariable. QUtil::get_env will always return false. This option is not available through configure. This was added to support a specific user's requirements to avoid calling GetEnvironmentVariable from the Windows API. Nothing in qpdf outside the test coverage system in qtest relies on QUtil::get_env.