aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
AgeCommit message (Collapse)Author
2022-01-30Implement JSONHandler for recursively processing JSONJay Berkenbilt
2022-01-30CLI doc: use tables where helpfulJay Berkenbilt
2022-01-30Add JSON::parseJay Berkenbilt
2022-01-30Add missing \f support for JSON string encoderJay Berkenbilt
2022-01-30Add JSON::isDictionary and JSON::isArrayJay Berkenbilt
2022-01-30Document how to add a command-line argumentJay Berkenbilt
2022-01-30Generate help content from manualJay Berkenbilt
This is a massive rewrite of the help text and cli.rst section of the manual. All command-line flags now have their own help and are specifically index. qpdf --help is completely redone.
2022-01-30QPDFArgParser: support adding/printing help informationJay Berkenbilt
2022-01-30Fix comment on duplicated top-level json keysJay Berkenbilt
2022-01-30QPDFArgParser: handle optional choices including helpJay Berkenbilt
Handle optional choices in addition to required choices. Refactor the way help options are added to completion to make it work with optional help choices.
2022-01-30Minor code cleanupJay Berkenbilt
2022-01-30Fix doc typos caught by m-holger -- thanksJay Berkenbilt
2022-01-30QPDFJob increment: generate option table initializationJay Berkenbilt
2022-01-30Add QPDFArgParser::copyFromOtherTableJay Berkenbilt
2022-01-30QPDFJob increment: generate handler declarationsJay Berkenbilt
2022-01-30QPDFJob increment: generate choices variables in initJay Berkenbilt
2022-01-30QPDFJob increment: generate table namesJay Berkenbilt
2022-01-30Expose QPDFArgParser::usageJay Berkenbilt
2022-01-30QPDFJob: remove non-check from doFinalChecksJay Berkenbilt
2022-01-30Add basic framework for QPDFJob code generationJay Berkenbilt
2022-01-30QPDFJob increment: move arg parsing into QPDFJobJay Berkenbilt
Move ArgParser from qpdf.cc into QPDFJob.cc. It still works with millions of public member variables, but now qpdf.cc is minimal and just calls stable library functions.
2022-01-30QPDFJob: reorder functions, no other changesJay Berkenbilt
2022-01-30QPDFJob increment: static functions to member functionsJay Berkenbilt
Convert remaining static functions that take QPDFJob& as a parameter to member functions. Utility functions that don't take QPDFJob& remain static functions and can probably just stay that way since the keep extra complexity out of QPDFJob.hh.
2022-01-30QPDFJob: de-templatize do_process and do_process_onceJay Berkenbilt
2022-01-30QPDFJob increment: remove std::cout, std::cerr, whoamiJay Berkenbilt
Remove remaining temporary duplication of hard-coded values and direct access to std::cout, std::cerr, and whoami in favor of parameters in QPDFJob. This moves a few more static methods into QPDFJob member functions.
2022-01-30QPDFJob increment: get rid of exit, handle verboseJay Berkenbilt
Remove all calls to exit() from QPDFJob. Handle code that runs in verbose mode to enable it to make use of output streams and message prefix (whoami) from QPDFJob. This removes temporarily duplicated exit code logic and most access to whoami/std::cout outside of QPDFJob proper.
2022-01-30QPDFJob increment: basic QPDFJob structureJay Berkenbilt
Move most of the methods called from qpdf.cc after argument parsing into QPDFJob. In this increment, enough QPDFJob API has been added to handle the branch of QPDFJob::run() that creates output with an appropriate division between qpdf.cc and QPDFJob. There are temporary bits of code to enable everything to compile and pass the test suite, including some duplication and hard-coded values.
2022-01-30Implement QPDFArgParser based on ArgParser from qpdf.ccJay Berkenbilt
2022-01-30Fix doc typosm-holger
2022-01-27Fix QPDFObjectHandle::isOrHasNamem-holger
Ensure isOrHasName returns true if object is an array and the name is present anywhere in the array.
2022-01-27Remove some if statements and simplify some boolean expressionsm-holger
Use QPDFObjectHandle::isNameAndEquals, isDictionaryOfType and isStreamOfType.
2022-01-27Allow testing for subtype without specifying type in isDictionaryOfType etcm-holger
Accept empty string as type parameter in QPDFObjectHandle::isDictionaryOfType and isStreamOfType to allow for dictionaries with optional type.
2022-01-22Make a few whitespace fixes from last commitm-holger
Commit by ejb@ql.org using m-holger as author so git annotate gives proper credit for changes.
2022-01-22Add new convenience methods QPDFObjectHandle::isNameAndEquals, etcm-holger
Add methods isNameAndEquals, isDictionaryOfType, isStreamOfType
2022-01-11Add missing characters from PDF doc encoding (fixes #606)Jay Berkenbilt
2022-01-11Fix signed/unsigned char warning (fixes #604)Jay Berkenbilt
2021-12-29Add QUtil::file_can_be_openedJay Berkenbilt
2021-12-20Prepare 10.5.0 releaseJay Berkenbilt
2021-12-20Change names of qpdf_object_type_e enumerationsJay Berkenbilt
They have to be ot_* rather than qpdf_ot_* for compatibility. * Different enumerated types are not assignment-compatible in C++, at least with strict compiler settings * While you can do `constexpr ot_xyz = ::qpdf_ot_xyz` in QPDFObject.hh to make QPDFObject::ot_xyz work, QPDFObject::object_type_e::ot_xyz will only work if the enumerated type names are the same.
2021-12-19Further improvements to handling binary stringsJay Berkenbilt
2021-12-17C API: simplify new error handling and improve documentationJay Berkenbilt
2021-12-17C-API expose QPDFObjectHandle::getTypeCode and getTypeName (fixes #597)m-holger
2021-12-17C API: add several stream functions (fixes #596)Jay Berkenbilt
2021-12-17Add Pl_Buffer::getMallocBufferJay Berkenbilt
2021-12-16C API: add functions for working with pages (fixes #594)Jay Berkenbilt
2021-12-16Use value rather than reference captures where possibleJay Berkenbilt
2021-12-10Handle bitstream overflow errors more gracefully (fixes #581)Jay Berkenbilt
* Make it a runtime error, not a logic error * Include additional information * Capture it properly in checkLinearization
2021-12-10C API: expose functions for indirect objects (fixes #588)Jay Berkenbilt
2021-12-10C API: overhaul error handlingJay Berkenbilt
* Handle error conditions that occur when using the object handle interfaces. In the past, some exceptions were not correctly converted to errors or warnings. * Add more detailed information to qpdf-c.h * Make it possible to work more explicitly with uninitialized objects
2021-12-10Use a specific error code for type warnings and clarify docsJay Berkenbilt