Allow -decompress to decompress object streams too
This commit is contained in:
parent
70f734d427
commit
7c59c36fed
|
@ -1929,7 +1929,7 @@ let get_single_pdf_nodecrypt read_lazy =
|
||||||
| _ ->
|
| _ ->
|
||||||
raise (Arg.Bad "cpdf: No input specified.\n")
|
raise (Arg.Bad "cpdf: No input specified.\n")
|
||||||
|
|
||||||
let really_write_pdf ?(encryption = None) mk_id pdf outname =
|
let really_write_pdf ?(encryption = None) ?(is_decompress=false) mk_id pdf outname =
|
||||||
if args.debugcrypt then Printf.printf "really_write_pdf\n%!";
|
if args.debugcrypt then Printf.printf "really_write_pdf\n%!";
|
||||||
let outname' =
|
let outname' =
|
||||||
if args.linearize
|
if args.linearize
|
||||||
|
@ -1953,6 +1953,7 @@ let really_write_pdf ?(encryption = None) mk_id pdf outname =
|
||||||
Pdfwrite.pdf_to_file_options
|
Pdfwrite.pdf_to_file_options
|
||||||
~preserve_objstm:args.preserve_objstm
|
~preserve_objstm:args.preserve_objstm
|
||||||
~generate_objstm:args.create_objstm
|
~generate_objstm:args.create_objstm
|
||||||
|
~compress_objstm:(not is_decompress)
|
||||||
false encryption mk_id pdf outname'
|
false encryption mk_id pdf outname'
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -2000,9 +2001,9 @@ let write_pdf ?(encryption = None) ?(is_decompress=false) mk_id pdf =
|
||||||
if args.squeeze then Cpdf.squeeze pdf;
|
if args.squeeze then Cpdf.squeeze pdf;
|
||||||
Pdf.remove_unreferenced pdf
|
Pdf.remove_unreferenced pdf
|
||||||
end;
|
end;
|
||||||
really_write_pdf mk_id pdf outname
|
really_write_pdf ~is_decompress mk_id pdf outname
|
||||||
| Some _ ->
|
| Some _ ->
|
||||||
really_write_pdf ~encryption mk_id pdf outname
|
really_write_pdf ~encryption ~is_decompress mk_id pdf outname
|
||||||
end
|
end
|
||||||
| Stdout ->
|
| Stdout ->
|
||||||
let temp = Filename.temp_file "cpdflin" ".pdf" in
|
let temp = Filename.temp_file "cpdflin" ".pdf" in
|
||||||
|
@ -2015,9 +2016,9 @@ let write_pdf ?(encryption = None) ?(is_decompress=false) mk_id pdf =
|
||||||
if args.squeeze then Cpdf.squeeze pdf;
|
if args.squeeze then Cpdf.squeeze pdf;
|
||||||
Pdf.remove_unreferenced pdf
|
Pdf.remove_unreferenced pdf
|
||||||
end;
|
end;
|
||||||
really_write_pdf ~encryption mk_id pdf temp;
|
really_write_pdf ~encryption ~is_decompress mk_id pdf temp;
|
||||||
| Some _ ->
|
| Some _ ->
|
||||||
really_write_pdf ~encryption mk_id pdf temp
|
really_write_pdf ~encryption ~is_decompress mk_id pdf temp
|
||||||
end;
|
end;
|
||||||
let temp_file = open_in_bin temp in
|
let temp_file = open_in_bin temp in
|
||||||
try
|
try
|
||||||
|
|
BIN
cpdfmanual.pdf
BIN
cpdfmanual.pdf
Binary file not shown.
|
@ -934,7 +934,7 @@ PDF, use:
|
||||||
\begin{framed}
|
\begin{framed}
|
||||||
\small\verb!cpdf -decompress in.pdf -o out.pdf!
|
\small\verb!cpdf -decompress in.pdf -o out.pdf!
|
||||||
\end{framed}
|
\end{framed}
|
||||||
\noindent If \cpdf\ finds a compression type it can't cope with, the stream is left compressed.
|
\noindent If \cpdf\ finds a compression type it can't cope with, the stream is left compressed. When using \texttt{-decompress}, object streams are not compressed.
|
||||||
\section{Compressing a Document}
|
\section{Compressing a Document}
|
||||||
\index{compressing}
|
\index{compressing}
|
||||||
To compress the streams in a PDF file, use:
|
To compress the streams in a PDF file, use:
|
||||||
|
|
Loading…
Reference in New Issue