From 64e415084a8b4e0cee728ae744565ca6182a4bea Mon Sep 17 00:00:00 2001 From: John Whitington Date: Mon, 4 Nov 2024 16:29:43 +0000 Subject: [PATCH] @b --- Changes | 2 ++ cpdfbookmarks.ml | 8 ++++---- cpdfmanual.pdf | Bin 440408 -> 440682 bytes cpdfmanual.tex | 11 +++++++++++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Changes b/Changes index 6fef52f..c36e1b5 100644 --- a/Changes +++ b/Changes @@ -2,6 +2,8 @@ o New -center-to-fit centres pages on a given paper size o Allow bold, italic, colours for bookmarks +o Clean up @B implementation for -split-on-bookmarks +o Add @b for trimmed bookmarks 2.7.2 (October 2024) diff --git a/cpdfbookmarks.ml b/cpdfbookmarks.ml index eca9ee2..52c7a2a 100644 --- a/cpdfbookmarks.ml +++ b/cpdfbookmarks.ml @@ -143,7 +143,6 @@ let parse_bookmark_file verify pdf input = !currline (Printexc.to_string e)) - let add_bookmarks ~json verify input pdf = let parsed = (if json then parse_bookmark_file_json else parse_bookmark_file) verify pdf input in @@ -273,10 +272,10 @@ let get_bookmark_name encoding pdf marks splitlevel n _ = (* @S means start page of this section *) (* @E means end page of this section *) (* @B means bookmark name at start page *) -(* @b52| means bookmark name at start page truncated to 52 characters using crude UTF8 truncation. *) +(* @b52@ means bookmark name at start page truncated to 52 characters using crude UTF8 truncation. *) let process_others encoding marks pdf splitlevel filename sequence startpage endpage s = let trim_utf8 len l = - Printf.printf "trim_uff input $%S$\n" (implode l); + let l = try take l len with _ -> l in (* This truncator is far from perfect, but it does yield a valid UTF8 string, when given one. *) match rev l with | b2::b1::b0::t -> @@ -327,8 +326,9 @@ let process_others encoding marks pdf splitlevel filename sequence startpage end procss (rev (explode (get_bookmark_name encoding pdf marks splitlevel startpage pdf)) @ prev) t | '@'::'b'::t -> let number, rest = cleavewhile (function '0'..'9' -> true | _ -> false) t in + begin try ignore (int_of_string (implode number)) with _ -> error "Bad @b spec" end; let text = trim_utf8 (int_of_string (implode number)) (explode (get_bookmark_name encoding pdf marks splitlevel startpage pdf)) in - procss ((rev text) @ prev) (tl rest) + procss (rev text @ prev) (if rest = [] then [] else tl rest) | h::t -> procss (h::prev) t in implode (procss [] (explode s)) diff --git a/cpdfmanual.pdf b/cpdfmanual.pdf index 4ac18a6d2f2ee7e7e2b8551cf98835cfae044ec1..7db6b3abc9db92d9245bd7490618fba3c8f0e9f5 100644 GIT binary patch delta 25392 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 & Bookmark name at this page, if any, truncated to \texttt{} characters.\\ \end{tabular} \end{center} @@ -1346,6 +1347,16 @@ one of the output files. \verb! / ? < > \ : * | " ^ + =! \end{framed} +\noindent The bookmark may be truncated by using the \texttt{@b} variant: + + \begin{framed}\small + \noindent\verb!cpdf -split-bookmarks 0 a.pdf -o @b10@.pdf! + + \vspace{2.5mm} + \noindent Split \texttt{a.pdf} on bookmark boundaries, using the first 10 characters of bookmark text as the filename. + + \end{framed} + \section{Splitting to Maximum Size} The \texttt{-split-max} operation splits a file into chunks of no more than the given size, starting at the beginning. The suffixes kB, KiB, MB, MiB, GB, and GiB may be used to give the size. For example: