removal of old things

This commit is contained in:
John Whitington 2023-04-12 19:37:30 +01:00
parent 67ec6268af
commit 4df1f67001
6 changed files with 6 additions and 64 deletions

View File

@ -147,7 +147,6 @@ type op =
| RemoveArt
| RemoveTrim
| RemoveBleed
| CopyCropBoxToMediaBox
| CopyBox
| MediaBox
| HardBox of string
@ -188,7 +187,6 @@ type op =
| ExtractImages
| ImageResolution of float
| MissingFonts
| RemoveUnusedResources
| ExtractFontFile
| ExtractText
| OpenAtPage of string
@ -275,7 +273,6 @@ let string_of_op = function
| Decompress -> "Decompress"
| Crop -> "Crop"
| RemoveCrop -> "RemoveCrop"
| CopyCropBoxToMediaBox -> "CopyCropBoxToMediaBox"
| CopyBox -> "CopyBox"
| MediaBox -> "MediaBox"
| HardBox _ -> "HardBox"
@ -316,7 +313,6 @@ let string_of_op = function
| ExtractImages -> "ExtractImages"
| ImageResolution _ -> "ImageResolution"
| MissingFonts -> "MissingFonts"
| RemoveUnusedResources -> "RemoveUnusedResources"
| ExtractFontFile -> "ExtractFontFile"
| ExtractText -> "ExtractText"
| OpenAtPage _ -> "OpenAtPage"
@ -820,7 +816,7 @@ let banned banlist = function
| ListAttachedFiles | ListAnnotations
| ListBookmarks | ImageResolution _ | MissingFonts
| PrintPageLabels | Clean | Compress | Decompress
| RemoveUnusedResources | ChangeId | CopyId _ | ListSpotColours | Version
| ChangeId | CopyId _ | ListSpotColours | Version
| DumpAttachedFiles | RemoveMetadata | EmbedMissingFonts | BookmarksOpenToLevel _ | CreatePDF
| SetPageMode _ | HideToolbar _ | HideMenubar _ | HideWindowUI _
| FitWindow _ | CenterWindow _ | DisplayDocTitle _
@ -842,7 +838,7 @@ let banned banlist = function
| TwoUp|TwoUpStack|RemoveBookmarks|AddRectangle|RemoveText|
Draft|Shift|Scale|ScaleToFit|RemoveAttachedFiles|
RemoveAnnotations|RemoveFonts|Crop|RemoveCrop|Trim|RemoveTrim|Bleed|RemoveBleed|Art|RemoveArt|
CopyCropBoxToMediaBox|CopyBox|MediaBox|HardBox _|SetTrapped|SetAnnotations _|SetUntrapped|Presentation|
CopyBox|MediaBox|HardBox _|SetTrapped|SetAnnotations _|SetUntrapped|Presentation|
BlackText|BlackLines|BlackFills|CopyFont _|StampOn _|StampUnder _|StampAsXObject _|
AddText _|ScaleContents _|AttachFile _|CopyAnnotations _| ThinLines _ | RemoveClipping | RemoveAllText
| Prepend _ | Postpend _ | Draw ->
@ -2866,19 +2862,15 @@ and specs =
("-draw-png", Arg.String addpng, " Load a PNG from file and name it");
("-image", Arg.String addimage, " Draw an image which has already been loaded");
(* These items are undocumented *)
("-remove-unused-resources", Arg.Unit (setop RemoveUnusedResources), "");
("-stay-on-error", Arg.Unit setstayonerror, "");
("-extract-fontfile", Arg.Unit (setop ExtractFontFile), "");
("-debug", Arg.Unit setdebug, "");
("-debug-crypt", Arg.Unit setdebugcrypt, "");
("-debug-force", Arg.Unit setdebugforce, "");
("-debug-malformed", Arg.Set Pdfread.debug_always_treat_malformed, "");
("-fix-prince", Arg.Unit (setop RemoveUnusedResources), "");
("-stay-on-error", Arg.Unit setstayonerror, "");
(* These items are unfinished *)
("-extract-fontfile", Arg.Unit (setop ExtractFontFile), "");
("-extract-text", Arg.Unit (setop ExtractText), "");
("-extract-text-font-size", Arg.Float setextracttextfontsize, "");
("-copy-cropbox-to-mediabox",
Arg.Unit (setop CopyCropBoxToMediaBox),
""); (* Undocumented now, since /frombox, /tobox now used *)
]
and usage_msg =
@ -3581,14 +3573,6 @@ let go () =
error "Must specify one output and at least one input"
| _ -> assert false
end
| Some RemoveUnusedResources ->
begin match args.inputs, args.out with
| _::_, _ ->
let pdf = get_single_pdf (Some RemoveUnusedResources) false in
let outpdf = Cpdftweak.remove_unused_resources pdf in
write_pdf true outpdf
| _ -> error "RemoveUnusedResources: bad command line"
end
| Some (CopyFont fromfile) ->
begin match args.inputs, args.out with
| (_, pagespec, u, o, _, _)::_, _ ->
@ -3807,15 +3791,6 @@ let go () =
write_pdf false pdf
| _ -> error "remove-crop: bad command line"
end
| Some CopyCropBoxToMediaBox ->
begin match args.inputs, args.out with
| (_, pagespec, _, _, _, _)::_, _ ->
let pdf = get_single_pdf (Some CopyCropBoxToMediaBox) false in
let range = parse_pagespec_allow_empty pdf pagespec in
let pdf = Cpdfpage.copy_cropbox_to_mediabox pdf range in
write_pdf false pdf
| _ -> error "remove-crop: bad command line"
end
| Some (Rotate _) | Some (Rotateby _) ->
begin match args.inputs, args.out with
| (_, pagespec, _, _, _, _)::_, _ ->

View File

@ -193,7 +193,7 @@ let add_border linewidth ~fast pdf =
let impose ~x ~y ~fit ~columns ~rtl ~btt ~center ~margin ~spacing ~linewidth ~fast pdf =
let endpage = Pdfpage.endpage pdf in
let pagenums = ilist 1 endpage in
let pdf = Cpdfpage.copy_cropbox_to_mediabox pdf pagenums in
let pdf = Cpdfpage.copy_box "/CropBox" "/MediaBox" true pdf pagenums in
let pdf = Cpdfpage.remove_cropping_pdf pdf pagenums in
let pdf = Cpdfpage.upright pagenums pdf in
let pdf = add_border linewidth ~fast pdf in

View File

@ -325,16 +325,6 @@ let set_mediabox xywhlist pdf range =
in
process_pages (Pdfpage.ppstub crop_page) pdf range
(* If a cropbox exists, make it the mediabox. If not, change nothing. *)
let copy_cropbox_to_mediabox pdf range =
process_pages
(Pdfpage.ppstub (fun _ page ->
match Pdf.lookup_direct pdf "/CropBox" page.Pdfpage.rest with
| Some pdfobject -> {page with Pdfpage.mediabox = Pdf.direct pdf pdfobject}
| None -> page))
pdf
range
let remove_cropping_pdf pdf range =
let remove_cropping_page _ page =
{page with

View File

@ -43,8 +43,6 @@ val scale_contents : ?fast:bool -> Cpdfposition.position -> float -> Pdf.t -> in
(** [set_mediabox xywhlist pdf range] sets the media box on the given pages. *)
val set_mediabox : (float * float * float * float) list -> Pdf.t -> int list -> Pdf.t
val copy_cropbox_to_mediabox : Pdf.t -> int list -> Pdf.t
(** Remove any cropping from the given pages. *)
val remove_cropping_pdf : Pdf.t -> int list -> Pdf.t

View File

@ -307,21 +307,3 @@ let remove_clipping pdf range =
{page with Pdfpage.content = content'}
in
Cpdfpage.process_pages (Pdfpage.ppstub remove_clipping_page) pdf range
let remove_unused_resources_page pdf n page =
let xobjects, all_names =
match Pdf.lookup_direct pdf "/XObject" page.Pdfpage.resources with
| Some (Pdf.Dictionary d) -> Pdf.Dictionary d, map fst d
| _ -> Pdf.Dictionary [], []
in
let names_to_keep =
option_map
(function Pdfops.Op_Do n -> Some n | _ -> None)
(Pdfops.parse_operators pdf page.Pdfpage.resources page.Pdfpage.content)
in
let names_to_remove = lose (mem' names_to_keep) all_names in
let xobjdict = fold_left (Pdf.remove_dict_entry) xobjects names_to_remove in
{page with Pdfpage.resources = Pdf.add_dict_entry page.Pdfpage.resources "/XObject" xobjdict}
let remove_unused_resources pdf =
Cpdfpage.process_pages (Pdfpage.ppstub (remove_unused_resources_page pdf)) pdf (ilist 1 (Pdfpage.endpage pdf))

View File

@ -29,6 +29,3 @@ val get_dict_entries : utf8:bool -> Pdf.t -> string -> Pdfio.bytes
(** Remove clipping. *)
val remove_clipping : Pdf.t -> int list -> Pdf.t
(** Remove unused resources. *)
val remove_unused_resources : Pdf.t -> Pdf.t