mirror of
https://github.com/johnwhitington/cpdf-source.git
synced 2025-02-01 19:17:10 +01:00
removal of old things
This commit is contained in:
parent
67ec6268af
commit
4df1f67001
@ -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, _, _, _, _)::_, _ ->
|
||||
|
@ -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
|
||||
|
10
cpdfpage.ml
10
cpdfpage.ml
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
18
cpdftweak.ml
18
cpdftweak.ml
@ -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))
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user