diff options
author | Jay Berkenbilt <ejb@ql.org> | 2022-07-31 16:34:05 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2022-07-31 22:23:17 +0200 |
commit | 5f4224f31a500452a4f97f36ed57351b41ca0114 (patch) | |
tree | be355db5a4fcc8334410baf76c7eb1330578faa8 /TODO | |
parent | 80acfc3826704064db8cc2f6af0c338b3aa557e7 (diff) | |
download | qpdf-5f4224f31a500452a4f97f36ed57351b41ca0114.tar.zst |
Simplify --json-output
Now --json-output just changes defaults. Allow output file with --json.
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 45 |
1 files changed, 5 insertions, 40 deletions
@@ -69,46 +69,11 @@ Soon: Break ground on "Document-level work" JSON v2 fixes ============= -* Unify code between QPDFJob::doJSONObjects and QPDF::writeJSON. Make - sure that the "qpdf" key is always present when json-output is - specified. - -* Change the name of the "qpdf-v2" key to "qpdf". Use that in place of - "objects" and change its content to a two-element array whose first - element is metadata required (or useful) for parsing and whose - second element contains the actual data. Use of an array is the only - way to ensure that the metadata is guaranteed to be parsed before we - start parsing the objects. Example: - - { - "qpdf": [ - { - "jsonversion": 2, - "pdfversion": "1.3", - "pushedinheritedpageresources": false, - "calledgetallpages": false, - "maxobjectid": 10 - }, - { - ... objects ... - } - ] - } - - This implies a few things: - - * Still need to test pushedinheritedpageresources and - calledgetallpages and check/use their values when reading - - * Fix --json-help - - * When reading back in, we'll have to call - pushInheritedAttributesToPage or getAllPages based on the values - of the metadata. - - * Test --json with --json-stream-data and --json-output with - --json-stream-data=none. Recheck writeJSON's handling of the - pipeline argument. +* Rethink QPDF::writeJSON. Maybe provide a simpler overload? + +* When reading back in, we'll have to call + pushInheritedAttributesToPage or getAllPages based on the values + of the metadata. * Support json v2 in the C API. At a minimum, write_json, create_from_json, and update_from_json need to be there and should |