From 73cc320ecc629b8038ce6eb866e3f41714806f62 Mon Sep 17 00:00:00 2001 From: John Whitington Date: Fri, 8 Nov 2024 15:17:15 +0000 Subject: [PATCH] Document JSON/PDF versions of -obj -replace-obj --- cpdfcommand.ml | 2 +- cpdfmanual.pdf | Bin 442165 -> 442397 bytes cpdfmanual.tex | 16 +++++++++++++--- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/cpdfcommand.ml b/cpdfcommand.ml index 1e6c305..d5e88ce 100644 --- a/cpdfcommand.ml +++ b/cpdfcommand.ml @@ -2974,7 +2974,7 @@ let specs = ("-extract-stream", Arg.String setextractstream, " Extract a stream"); ("-extract-stream-decompress", Arg.String setextractstreamdecomp, " Extract a stream, decompressing"); ("-obj", Arg.String setprintobj, " Print object"); - ("-obj-json", Arg.String setprintobjjson, " Print object"); + ("-obj-json", Arg.String setprintobjjson, " Print object in JSON format"); ("-replace-obj", Arg.String setreplaceobj, "Replace object"); ("-json", Arg.Unit (fun () -> args.format_json <- true), " Format output as JSON"); ("-verify", Arg.String (fun s -> setop (Verify s) ()), " Verify conformance to a standard"); diff --git a/cpdfmanual.pdf b/cpdfmanual.pdf index d8d5f0fd8c8d972c5c55571d50dda46f9111c357..314eb5d2204e2d1f7a2c296fad49033fe91dcaae 100644 GIT binary patch delta 21430 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 diff --git a/cpdfmanual.tex b/cpdfmanual.tex index 6ed2af0..90b7da5 100644 --- a/cpdfmanual.tex +++ b/cpdfmanual.tex @@ -5744,7 +5744,7 @@ Cpdf can add PDF/UA structure data when drawing on new PDF/UA files. For example \noindent\verb!cpdf -remove-clipping [] in.pdf -o out.pdf! \vspace{1.5mm} - \noindent\verb!cpdf -obj in.pdf! + \noindent\verb!cpdf -obj[-json] in.pdf! \vspace{1.5mm} \noindent\verb!cpdf -replace-obj = in.pdf! @@ -5976,7 +5976,9 @@ $ ./cpdf -obj /Root/Pages/Count cpdfmanual.pdf "/MCBERL+URWPalladioL-Roma" \end{verbatim}} -\noindent A stream may be extracted with \texttt{-extract-stream} or \texttt{-extract-stream-decompress}, which decompresses it first where possible: +\noindent To output data in JSON format instead of PDF format, use \texttt{-obj-json} in place of \texttt{-obj}. + +A stream may be extracted with \texttt{-extract-stream} or \texttt{-extract-stream-decompress}, which decompresses it first where possible: {\small\begin{verbatim} $ cpdf -obj 0 hello.pdf @@ -6000,13 +6002,21 @@ $ cpdf -extract-stream-decompress 2 hello.pdf -stdout \noindent By these mechanisms, ad-hoc exploration of PDF files is possible. -We may also edit dictionary entries with \texttt{-replace-obj} by giving an object specification, and the new value in JSON format: +We may also edit dictionary entries with \texttt{-replace-obj} by giving an object specification, and the new value in JSON or PDF format (prefix with "PDF" to denote PDF format): \begin{framed} \small\noindent\verb!cpdf -replace-obj /Root/MarkInfo/Marked=true in.pdf -o out.pdf! \vspace{2.5mm} \noindent Replace or add dictionary entry in \texttt{in.pdf}, writing to \texttt{out.pdf}. + + \vspace{2.5mm} + + \small\noindent\verb!cpdf -replace-obj '/Root/Info/Title=PDF(New title)' in.pdf -o out.pdf! + + \vspace{2.5mm} + \noindent Replace or add dictionary entry in \texttt{in.pdf}, writing to \texttt{out.pdf}. + \end{framed} \noindent Any part of the object specification not already present will be fabricated using direct nested dictionaries. For example, if \texttt{/MarkInfo} does not exist in the root dictionary, this command adds \texttt{/MarkInfo <>} to the root dictionary.