From 918e35c129f4b733ff661e0919fb212580e10e3c Mon Sep 17 00:00:00 2001 From: John Whitington Date: Sun, 9 Jan 2022 15:43:33 +0000 Subject: [PATCH] more --- cpdfmanual.pdf | Bin 282162 -> 282800 bytes cpdfmanual.tex | 24 ++++++++++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/cpdfmanual.pdf b/cpdfmanual.pdf index a77d7ffcacb7d28511190b221ccb43a0c33f63d7..0635b93f908ea6b10db6726bd6bda2ba654c178b 100644 GIT binary patch delta 15687 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 BHT(bo delta 15018 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\texttt{DUP} to a whole page range duplicates each page of the range \verb!! times. + \item Prepending \verb!!\texttt{DUP} to a whole page range duplicates each page of the range \verb!! times.\index{page!duplicate} \end{itemize} \noindent For example: @@ -881,7 +881,7 @@ the command line escaped (i.e. written \verb!\\!). \section{Text Encodings} -\index{text encodings} +\index{text!encodings} \label{textencodings} Some \texttt{cpdf} commands write text to standard output, or read text from @@ -974,7 +974,7 @@ the input pages in the order specified on the command line. Actually, the PDF features which cannot be merged are retained if they are from the document which first exhibits that feature. -The \texttt{-collate} option collates pages: that is to say, it takes the first page from the first document and its range, then the first page from the second document and its range and so on. When all first pages have been taken, it begins on the second from each range, and so on. +The \texttt{-collate} option collates pages: that is to say, it takes the first page from the first document and its range, then the first page from the second document and its range and so on. When all first pages have been taken, it begins on the second from each range, and so on.\index{pages!collate}\index{collation} The \texttt{-retain-numbering} option keeps the PDF page numbering labels of each document intact, rather than renumbering the output pages from 1. @@ -1606,7 +1606,7 @@ There are two options which turn off parts of the squeezer. They are \texttt{-sq \small\noindent\verb! [-font ] [-font-size ] in.pdf -o out.pdf! \end{framed} -\index{bookmarks} +\index{bookmarks}\index{JSON!add bookmarks from} \index{document outline} PDF bookmarks (properly called the \textit{document outline}) represent a tree of references to parts of the file, typically displayed at the side of the @@ -1616,7 +1616,7 @@ add operations is the same, so you can feed the output of one into the other, for instance to copy bookmarks. \section{List Bookmarks} -\index{bookmarks!listing} +\index{bookmarks!listing}\index{JSON!list bookmarks as} The \texttt{-list-bookmarks} operation prints (to standard output) the bookmarks in a file. The first column gives the level of the tree at which a particular bookmark is. Then the text of the bookmark in quotes. Then the page @@ -2314,7 +2314,7 @@ In all three of these operations, one may specify \texttt{-pad-with} providing a \section{Imposition} -\index{two-up,imposition,impose} +\index{two-up}\index{imposition} Imposition is the act of putting two or more pages of an input document onto each page of the output document. There are two operations provided by \texttt{cpdf}: @@ -2404,7 +2404,7 @@ NB: For all imposition options, see also discussion of \texttt{-fast} in Section \end{framed} \section{Listing Annotations} -\index{annotations!listing} +\index{annotations!listing}\index{JSON!list annotations as} The \texttt{-list-annotations} operation prints the textual content of any annotations on the selected pages to standard output. Each annotation is preceded by the page number and followed by a newline. The output of this operation is always UTF8. \begin{framed} @@ -3009,7 +3009,7 @@ name, the third the type of font (Type1, TrueType etc), the fourth the PDF font name, the fifth the PDF font encoding. \section{Listing characters in a font} - +\index{font!print table for} We can use \texttt{cpdf} to find out which characters are available in a given font, and to print the map between character codes, unicode codepoints, and Adobe glyph names. This is presently a best-effort service, and does not cover all font/encoding types. We find the name of the font by using \texttt{-list-fonts}: @@ -3121,7 +3121,7 @@ recommended when file size is the sole consideration. \end{small} \end{pycpdflib} -\chapter{PDF and JSON}\label{chap:15}\pagestyle{fancy}\index{JSON} +\chapter{PDF and JSON}\label{chap:15}\pagestyle{fancy}\index{JSON}\index{JSON!output to}\index{JSON!input from} {\small\begin{framed} \noindent\verb!cpdf in.pdf -output-json -o out.json!\\ \noindent\verb! [-output-json-parse-content-streams]!\\ @@ -3361,7 +3361,7 @@ We can build a new PDF file, given a number of pages and a paper size. The defau \noindent The standard paper sizes are listed in Section \ref{papersizes}, or you may specify the width and height directly, as described in the same chapter. \section{Convert a text file to PDF} - +\index{text!convert to PDF} A basic text to PDF convertor is included in \texttt{cpdf}. It takes a UTF8 text file (ASCII is a subset of UTF8) and typesets it ragged-right, splitting on whitespace. Both Windows and Unix line endings are allowed. \begin{framed} @@ -3573,6 +3573,10 @@ This operation lists the name of any ``separation'' color space in the given PDF \label{removedictentry} This is for editing data within the PDF's internal representation. Use with caution. +\index{dictionary!print entry} +\index{dictionary!remove entry} +\index{dictionary!replace entry} + To print a dictionary entry: \begin{framed}