Begin implementation of javascript functions

This commit is contained in:
John Whitington 2025-04-29 18:28:04 +01:00
parent 022bc0b7ad
commit b9c14fcebb
3 changed files with 9 additions and 7 deletions

View File

@ -3,6 +3,7 @@
New features:
o CCITT and CCITTG4 encoders in -process-images
o Detect and remove JavaScript
Extended features:

View File

@ -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 () =

View File

@ -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,