From b13f1f592f9f584a133cb9cfb41f998aad14a52e Mon Sep 17 00:00:00 2001 From: John Whitington Date: Fri, 3 Oct 2014 14:18:28 +0100 Subject: [PATCH] Fix -range for -stdin and tidy up --- cpdf.ml | 6 +++--- cpdfcommand.ml | 6 +++++- cpdfmanual.pdf | Bin 206759 -> 207516 bytes cpdfmanual.tex | 9 +++++++++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/cpdf.ml b/cpdf.ml index 36fd1bb..860c6ae 100644 --- a/cpdf.ml +++ b/cpdf.ml @@ -108,7 +108,6 @@ let squeeze_form_xobject pdf objnum = let obj = Pdf.lookup_obj pdf objnum in match Pdf.lookup_direct pdf "/Subtype" obj with Some (Pdf.Name "/Form") -> - Printf.printf "squeeze_form_xobject at object %i\n%!" objnum; let resources = match Pdf.lookup_direct pdf "/Resources" obj with Some d -> d @@ -166,7 +165,8 @@ let squeeze_all_content_streams pdf = d "/Contents" (Pdf.Indirect (Pdf.addobj pdf newstream)) in Pdf.addobj_given_num pdf (objnum, newdict); - (* Now process all xobjects related to this page *) + (* Now process all xobjects related to this page + FIXME due to their shared nature, we are overdoing this work! *) begin match Pdf.lookup_direct pdf "/XObject" resources with Some (Pdf.Dictionary xobjs) -> iter @@ -195,7 +195,7 @@ let squeeze pdf = n := Pdf.objcard pdf; Printf.printf "Squeezing... Down to %i objects\n%!" (Pdf.objcard pdf); done; - Printf.printf "Squeezing page data\n%!"; + Printf.printf "Squeezing page data and xobjects\n%!"; squeeze_all_content_streams pdf; Printf.printf "Recompressing document\n%!"; ignore (recompress_pdf pdf) diff --git a/cpdfcommand.ml b/cpdfcommand.ml index 6109285..5ad830b 100644 --- a/cpdfcommand.ml +++ b/cpdfcommand.ml @@ -1084,7 +1084,11 @@ let setextractimages () = (* Explicitly add a range. Parse it and replace the top input file with the range. *) let setrange spec = - args.dashrange <- spec + args.dashrange <- spec; + match args.inputs with + (StdIn, a, b, c, d)::more -> + args.inputs <- (StdIn, spec, b, c, d) :: more + | x -> () let setoutline () = args.outline <- true diff --git a/cpdfmanual.pdf b/cpdfmanual.pdf index 4dbc0725abe22aa026635dd0a0d4d33c96ed6b9e..ad46ab9f509dc295df5f1f5a3907137c6f726757 100644 GIT binary patch delta 12997 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 jn3cy_96V%wb9ww+9DV}kvD->y36{5$_z*VR>B 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 KC8Z*b@P7b^LSdf( diff --git a/cpdfmanual.tex b/cpdfmanual.tex index 80115e4..c3b8e6f 100644 --- a/cpdfmanual.tex +++ b/cpdfmanual.tex @@ -324,6 +324,15 @@ option to the command line, in addition to any other command being used. For exa \noindent Linearize the file \texttt{in.pdf}, writing to \texttt{out.pdf}. \end{framed} +\noindent This requires the existence of the external program \texttt{cpdflin} which is provided with \texttt{cpdf}. For Unix and Mac OS X, and for Windows under Cygwin or Mingw, it suffices to place the \texttt{cpdflin} executable in the same folder as \texttt{cpdf}. On Windows with \texttt{command.exe}, you must use \texttt{-cpdflin} to let \texttt{cpdf} know where to find it: + +\begin{framed} +\small\verb!cpdf.exe -cpdflin "C:\\cpdflin.exe" -l in.pdf -o out.pdf! + +\vspace{2.5mm} +\noindent Linearize the file \texttt{in.pdf}, writing to \texttt{out.pdf}. +\end{framed} + \section{Object Streams} PDF 1.5 introduced a new mechanism for storing objects to save space: object streams. by default, \texttt{cpdf} will preserve object streams in input files, creating no more. To prevent the retention of existing object streams, use \texttt{-no-preserve-objstm}: