From 2caa9de061e1fa813035ee6ffa6caead1e4301c2 Mon Sep 17 00:00:00 2001 From: John Whitington Date: Sun, 13 Nov 2016 18:01:01 +0000 Subject: [PATCH] more --- cpdf.ml | 3 +-- cpdfcommand.ml | 28 +++++----------------------- cpdfmanual.pdf | Bin 224150 -> 224260 bytes cpdfmanual.tex | 6 ++++-- 4 files changed, 10 insertions(+), 27 deletions(-) diff --git a/cpdf.ml b/cpdf.ml index 1a063c8..650068b 100644 --- a/cpdf.ml +++ b/cpdf.ml @@ -2619,7 +2619,6 @@ let scale_pdf ?(fast=false) sxsylist pdf range = process_pages scale_page pdf range (* Scale to fit page of size x * y *) -(* FIXME: Can we do this in terms of scale_contents - and then just fix up the boxes? For 1.8 *) let scale_to_fit_pdf ?(fast=false) input_scale xylist op pdf range = let scale_page_to_fit pnum page = let x, y = List.nth xylist (pnum - 1) in @@ -2642,7 +2641,7 @@ let scale_to_fit_pdf ?(fast=false) input_scale xylist op pdf range = in let page = change_boxes - (function (minx, miny, maxx, maxy) -> 0., 0., x, y (* FIXME: scale boxes properly *)) + (function (minx, miny, maxx, maxy) -> 0., 0., x, y) pdf page in Pdfpage.prepend_operators pdf [Pdfops.Op_cm matrix] ~fast diff --git a/cpdfcommand.ml b/cpdfcommand.ml index 27800a9..6b26957 100644 --- a/cpdfcommand.ml +++ b/cpdfcommand.ml @@ -1,4 +1,3 @@ -(* FIXME DOC Added -relative-to-cropbox for stamps *) (* cpdf command line tools *) let demo = false let noncomp = false @@ -166,7 +165,6 @@ type op = | RemoveDictEntry of string | ListSpotColours | RemoveClipping - | ChangeFontSize of float let string_of_op = function | CopyFont _ -> "CopyFont" @@ -271,7 +269,6 @@ let string_of_op = function | RemoveDictEntry _ -> "RemoveDictEntry" | ListSpotColours -> "ListSpotColours" | RemoveClipping -> "RemoveClipping" - | ChangeFontSize _ -> "ChangeFontSize" (* Inputs: filename, pagespec. *) type input_kind = @@ -382,8 +379,6 @@ type args = mutable creator : string option; mutable producer : string option; mutable embedfonts : bool; - mutable change_font_size_shift : string; - mutable change_font_size_color : float * float * float; mutable extract_text_font_size : float option} let args = @@ -468,8 +463,6 @@ let args = producer = None; creator = None; embedfonts = true; - change_font_size_shift = "0 0"; - change_font_size_color = (0., 0., 0.); extract_text_font_size = None} let reset_arguments () = @@ -548,7 +541,10 @@ let reset_arguments () = args.squeeze <- false; args.producer <- None; args.creator <- None; - args.embedfonts <- true + args.embedfonts <- true; + args.creator <- None; + args.producer <- None; + args.extract_text_font_size <- None (* Do not reset original_filename or cpdflin or was_encrypted or * was_decrypted_with_owner or recrypt, since we want these to work across ANDs. *) @@ -618,7 +614,7 @@ let banned banlist = function AddText _|ScaleContents _|AttachFile _|CopyAnnotations _|SetMetadata _| ThinLines _|SetAuthor _|SetTitle _|SetSubject _|SetKeywords _|SetCreate _| SetModify _|SetCreator _|SetProducer _|SetVersion _|RemoveDictEntry _ | - RemoveClipping | ChangeFontSize _ -> + RemoveClipping -> mem Pdfcrypt.NoEdit banlist let operation_allowed pdf banlist op = @@ -1531,15 +1527,6 @@ let setstayonerror () = let setnoembedfont () = args.embedfonts <- false -let setchangefontsizeto i = - args.op <- Some (ChangeFontSize i) - -let setchangefontsizeshift s = - args.change_font_size_shift <- s - -let setchangefontsizecolor s = - args.change_font_size_color <- parse_color s - (* Parse a control file, make an argv, and then make Arg parse it. *) let rec make_control_argv_and_parse filename = control_args := !control_args @ parse_control_file filename @@ -3949,11 +3936,6 @@ let go () = let pdf = get_single_pdf args.op false in let range = parse_pagespec pdf (get_pagespec ()) in write_pdf false (remove_clipping pdf range) - | Some (ChangeFontSize target_size) -> - let pdf = get_single_pdf args.op false in - let range = parse_pagespec pdf (get_pagespec ()) in - let dx, dy = parse_coordinate pdf args.change_font_size_shift in - write_pdf false (change_font_size pdf range args.change_font_size_color dx dy args.fontsize target_size) let parse_argv () = if args.debug then diff --git a/cpdfmanual.pdf b/cpdfmanual.pdf index b75aa6205b1b486b566d5cbb963d5b0ece916180..55a8deaf24ec21293d51af1d55e9a20872d51a73 100644 GIT binary patch delta 6682 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 PsE`0Y8=JDO3jY5At$5D6 delta 6577 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 HCWrTb=EHxw diff --git a/cpdfmanual.tex b/cpdfmanual.tex index c70a03e..8fbd52f 100644 --- a/cpdfmanual.tex +++ b/cpdfmanual.tex @@ -1202,12 +1202,12 @@ the file using a different page range each time. \index{stamps} \begin{framed} \noindent\small\verb!cpdf -stamp-on source.pdf!\\ - \noindent\small\verb! ([-scale-stamp-to-fit] | []) !\\ + \noindent\small\verb! [-scale-stamp-to-fit] [] [-relative-to-cropbox] !\\ \noindent\small\verb! in.pdf [] -o out.pdf! \vspace{1.5mm} \noindent\small\verb!cpdf -stamp-under source.pdf!\\ - \noindent\small\verb! ([-scale-stamp-to-fit] | []) !\\ + \noindent\small\verb! [-scale-stamp-to-fit] [] [-relative-to-cropbox]!\\ \noindent\small\verb! in.pdf [] -o out.pdf! \vspace{1.5mm} @@ -1264,6 +1264,8 @@ as the length of the ``under'' file. For instance: file. For best results, remove any rotation differences in the two files using \texttt{-upright} first. +\noindent The \texttt{-relative-to-cropbox} option takes the positioning command to be relative to the cro box of each page rather than the media box. + \section{Stamp Text, Dates and Times.} \index{date} \index{time}