diff --git a/Changes b/Changes index 02cce4b..ac8efea 100644 --- a/Changes +++ b/Changes @@ -3,6 +3,7 @@ New features: o CCITT and CCITTG4 encoders in -process-images +o Detect and remove JavaScript Extended features: diff --git a/cpdfcommand.ml b/cpdfcommand.ml index 893b513..a6bfdeb 100644 --- a/cpdfcommand.ml +++ b/cpdfcommand.ml @@ -3830,16 +3830,16 @@ let write_images device res quality boxname annots antialias downsample spec pdf Sys.remove tmppdf let remove_javascript pdf = - (* Find /S /JavaScript and empty the /JS string *) + (* Find /S /JavaScript and empty the /JS string. Also, Empty out any /URI (javascript). *) + Pdf.objselfmap (fun o -> o) pdf (* Process the /Root -> /Names -> /JavaScript *) - (* Empty out and /URL (javascript:...*) - () + (*Pdf.remove_chain pdf ["/Root"; "/Names"; "/JavaScript"];*) let contains_javascript pdf = - (* Any dictionary with /S /JavaScript; or - Any /Root -> /Names -> /JavaScript; or - Any /URL (javascript:...) *) - () + let found = ref false in + (* Any dictionary with /S /JavaScript or any /URI (javascript:...) *) + (* Any /Root -> /Names -> /JavaScript *) + print_string (Printf.sprintf "%b" !found) (* Main function *) let go () = diff --git a/cpdfmanual.tex b/cpdfmanual.tex index 1f6ddab..5c74a57 100644 --- a/cpdfmanual.tex +++ b/cpdfmanual.tex @@ -1,6 +1,7 @@ %Document negative widths in -thinlines %Document CCITT and CCITTG4 in -process-images %Document -decompress-just-content +%Document -contains-javascript and -remove-javascript %\DocumentMetadata{lang=en, pdfversion=2.0, pdfstandard=ua-2, pdfstandard=a-4f, testphase={phase-III, title, table, math, firstaid}} \documentclass{book} % Edit here to produce cpdfmanual.pdf, cpdflibmanual.pdf, pycpdfmanual.pdf,