Update splits for v2.5 cpdflib
This commit is contained in:
parent
2ccf0c797d
commit
d43b510d5d
BIN
cpdfmanual.pdf
BIN
cpdfmanual.pdf
Binary file not shown.
|
@ -3375,7 +3375,7 @@ A basic text to PDF convertor is included in \texttt{cpdf}. It takes a UTF8 text
|
||||||
\clearpage
|
\clearpage
|
||||||
\section*{C Interface}
|
\section*{C Interface}
|
||||||
\begin{small}\tt
|
\begin{small}\tt
|
||||||
\lstinputlisting{splits/c17}
|
\lstinputlisting{splits/c18}
|
||||||
\end{small}
|
\end{small}
|
||||||
\end{cpdflib}
|
\end{cpdflib}
|
||||||
|
|
||||||
|
@ -3636,7 +3636,7 @@ The \texttt{-remove-clipping} operation removes any clipping paths on given page
|
||||||
\clearpage
|
\clearpage
|
||||||
\section*{C Interface}
|
\section*{C Interface}
|
||||||
\begin{small}\tt
|
\begin{small}\tt
|
||||||
\lstinputlisting{splits/c18}
|
\lstinputlisting{splits/c19}
|
||||||
\end{small}
|
\end{small}
|
||||||
\end{cpdflib}
|
\end{cpdflib}
|
||||||
|
|
||||||
|
|
|
@ -29,13 +29,6 @@ int cpdf_fromMemory(void *, int, const char[]);
|
||||||
*/
|
*/
|
||||||
int cpdf_fromMemoryLazy(void *, int, const char[]);
|
int cpdf_fromMemoryLazy(void *, int, const char[]);
|
||||||
|
|
||||||
/*
|
|
||||||
* cpdf_blankDocument(width, height, num_pages) creates a blank document with
|
|
||||||
* pages of the given width (in points), height (in points), and number of
|
|
||||||
* pages.
|
|
||||||
*/
|
|
||||||
int cpdf_blankDocument(double, double, int);
|
|
||||||
|
|
||||||
/* Standard page sizes. */
|
/* Standard page sizes. */
|
||||||
enum cpdf_papersize {
|
enum cpdf_papersize {
|
||||||
cpdf_a0portrait, /* A0 portrait */
|
cpdf_a0portrait, /* A0 portrait */
|
||||||
|
@ -56,12 +49,6 @@ enum cpdf_papersize {
|
||||||
cpdf_uslegallandscape /* US Legal landscape */
|
cpdf_uslegallandscape /* US Legal landscape */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* cpdf_blankDocumentPaper(papersize, num_pages) makes a blank document given
|
|
||||||
* a page size and number of pages.
|
|
||||||
*/
|
|
||||||
int cpdf_blankDocumentPaper(enum cpdf_papersize, int);
|
|
||||||
|
|
||||||
/* Remove a PDF from memory, given its number. */
|
/* Remove a PDF from memory, given its number. */
|
||||||
void cpdf_deletePdf(int);
|
void cpdf_deletePdf(int);
|
||||||
|
|
||||||
|
@ -233,7 +220,7 @@ int cpdf_pagesFast(const char[], const char[]);
|
||||||
void cpdf_toFile(int, const char[], int, int);
|
void cpdf_toFile(int, const char[], int, int);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* cpdf_toFile (pdf, filename, linearize, make_id, preserve_objstm,
|
* cpdf_toFileExt (pdf, filename, linearize, make_id, preserve_objstm,
|
||||||
* generate_objstm, compress_objstm) writes the file to a given filename. If
|
* generate_objstm, compress_objstm) writes the file to a given filename. If
|
||||||
* make_id is true, it will be given a new ID. If preserve_objstm is true,
|
* make_id is true, it will be given a new ID. If preserve_objstm is true,
|
||||||
* existing object streams will be preserved. If generate_objstm is true,
|
* existing object streams will be preserved. If generate_objstm is true,
|
||||||
|
@ -245,9 +232,8 @@ void cpdf_toFile(int, const char[], int, int);
|
||||||
void cpdf_toFileExt(int, const char[], int, int, int, int, int);
|
void cpdf_toFileExt(int, const char[], int, int, int, int, int);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Given a buffer of the correct size, cpdf_toFileMemory (pdf, linearize,
|
* cpdf_toFileMemory (pdf, linearize, make_id, &length) writes a PDF file it
|
||||||
* make_id, &length) writes it and returns the buffer. The buffer length is
|
* and returns the buffer. The buffer length is filled in &length.
|
||||||
* filled in &length.
|
|
||||||
*/
|
*/
|
||||||
void *cpdf_toMemory(int, int, int, int *);
|
void *cpdf_toMemory(int, int, int, int *);
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
void cpdf_scalePages(int, int, double, double);
|
void cpdf_scalePages(int, int, double, double);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* cpdf_scaleToFit(pdf, range, width height, scale) scales the content to fit
|
* cpdf_scaleToFit(pdf, range, width, height, scale) scales the content to fit
|
||||||
* new page dimensions (width x height) multiplied by scale (typically 1.0).
|
* new page dimensions (width x height) multiplied by scale (typically 1.0).
|
||||||
* Other boxed (crop etc. are altered as appropriate)
|
* Other boxed (crop etc. are altered as appropriate)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
void cpdf_compress(int);
|
void cpdf_compress(int);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* cpdf_uncompress(pdf) uncompresses any streams in the given PDF, so long as
|
* cpdf_decompress(pdf) decompresses any streams in the given PDF, so long as
|
||||||
* the compression method is supported.
|
* the compression method is supported.
|
||||||
*/
|
*/
|
||||||
void cpdf_decompress(int);
|
void cpdf_decompress(int);
|
||||||
|
|
|
@ -68,3 +68,16 @@ void cpdf_setBookmarkText(int, const char[]);
|
||||||
*/
|
*/
|
||||||
void cpdf_endSetBookmarkInfo(int);
|
void cpdf_endSetBookmarkInfo(int);
|
||||||
|
|
||||||
|
/* cpdf_getBookmarksJSON(pdf, length) returns the bookmark data and sets the
|
||||||
|
* length. */
|
||||||
|
void *cpdf_getBookmarksJSON(int, int *);
|
||||||
|
|
||||||
|
/* cpdf_setBookmarksJSON(pdf, data, datalength) sets the bookmarks from JSON
|
||||||
|
* bookmark data. */
|
||||||
|
void cpdf_setBookmarksJSON(int, void *, int);
|
||||||
|
|
||||||
|
/* cpdf_tableOfContents(pdf, font, fontsize, title, bookmark) typesets a table
|
||||||
|
* of contents from existing bookmarks and prepends it to the document. If
|
||||||
|
* bookmark is set, the table of contents gets its own bookmark. */
|
||||||
|
void cpdf_tableOfContents(int, int, double, const char[], int);
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
/* CHAPTER 9. Multipage facilities */
|
/* CHAPTER 9. Multipage facilities */
|
||||||
|
|
||||||
|
/* cpdf_impose(pdf, x, y, fit, columns, rtl, btt, center, margin, spacing,
|
||||||
|
* linewidth) imposes a PDF. There are two modes: imposing x * y, or imposing
|
||||||
|
* to fit a page of size x * y. This is controlled by fit. Columns imposes by
|
||||||
|
* columns rather than rows. rtl is right-to-left, btt bottom-to-top. Center is
|
||||||
|
* unused for now. Margin is the margin around the output, spacing the spacing
|
||||||
|
* between imposed inputs. */
|
||||||
|
void cpdf_impose(int, double, double, int, int, int, int, int, double, double,
|
||||||
|
double);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Impose a document two up. cpdf_twoUp does so by retaining the existing
|
* Impose a document two up. cpdf_twoUp does so by retaining the existing
|
||||||
* page size, scaling pages down. cpdf_twoUpStack does so by doubling the
|
* page size, scaling pages down. cpdf_twoUpStack does so by doubling the
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
/* CHAPTER 10. Annotations */
|
/* CHAPTER 10. Annotations */
|
||||||
|
|
||||||
/* Not in the library version */
|
/* Return the annotations from a PDF in JSON format, returning also its length.
|
||||||
|
*/
|
||||||
|
void *cpdf_annotationsJSON(int, int *);
|
||||||
|
|
||||||
|
|
|
@ -147,7 +147,7 @@ int cpdf_getPageRotation(int, int);
|
||||||
int cpdf_hasBox(int, int, const char[]);
|
int cpdf_hasBox(int, int, const char[]);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These functions get a box given the document, page range, min x, max x,
|
* These functions get a box given the document, page number, min x, max x,
|
||||||
* min y, max y in points. Only succeeds if such a box exists, as checked by
|
* min y, max y in points. Only succeeds if such a box exists, as checked by
|
||||||
* cpdf_hasBox.
|
* cpdf_hasBox.
|
||||||
*/
|
*/
|
||||||
|
@ -292,7 +292,21 @@ char *cpdf_getPageLabelStringForPage(int, int);
|
||||||
/*
|
/*
|
||||||
* Get page label data. Call cpdf_startGetPageLabels to find out how many
|
* Get page label data. Call cpdf_startGetPageLabels to find out how many
|
||||||
* there are, then use these serial numbers to get the style, prefix, offset
|
* there are, then use these serial numbers to get the style, prefix, offset
|
||||||
* and range. Call cpdf_endGetPageLabels to clean up.
|
* and start value (note not a range). Call cpdf_endGetPageLabels to clean up.
|
||||||
|
*
|
||||||
|
* For example, a document might have five pages of introduction with roman
|
||||||
|
* numerals, followed by the rest of the pages in decimal arabic, numbered from
|
||||||
|
* one:
|
||||||
|
*
|
||||||
|
* labelstyle = LowercaseRoman
|
||||||
|
* labelprefix = ""
|
||||||
|
* startpage = 1
|
||||||
|
* startvalue = 1
|
||||||
|
*
|
||||||
|
* labelstyle = DecimalArabic
|
||||||
|
* labelprefix = ""
|
||||||
|
* startpage = 6
|
||||||
|
* startvalue = 1
|
||||||
*/
|
*/
|
||||||
int cpdf_startGetPageLabels(int);
|
int cpdf_startGetPageLabels(int);
|
||||||
enum cpdf_pageLabelStyle cpdf_getPageLabelStyle(int);
|
enum cpdf_pageLabelStyle cpdf_getPageLabelStyle(int);
|
||||||
|
|
|
@ -21,7 +21,7 @@ void cpdf_removeFonts(int);
|
||||||
/*
|
/*
|
||||||
* cpdf_copyFont(from, to, range, pagenumber, fontname) copies the given font
|
* cpdf_copyFont(from, to, range, pagenumber, fontname) copies the given font
|
||||||
* from the given page in the 'from' PDF to every page in the 'to' PDF. The
|
* from the given page in the 'from' PDF to every page in the 'to' PDF. The
|
||||||
* new font is stored under it's font name.
|
* new font is stored under its font name.
|
||||||
*/
|
*/
|
||||||
void cpdf_copyFont(int, int, int, int, const char[]);
|
void cpdf_copyFont(int, int, int, int, const char[]);
|
||||||
|
|
||||||
|
|
|
@ -4,5 +4,15 @@
|
||||||
* in JSON format to the given filename. If parse_content is true, page content
|
* in JSON format to the given filename. If parse_content is true, page content
|
||||||
* is parsed. If no_stream_data is true, all stream data is suppressed entirely.
|
* is parsed. If no_stream_data is true, all stream data is suppressed entirely.
|
||||||
* */
|
* */
|
||||||
void cpdf_outputJSON(const char[], int, int, int);
|
void cpdf_outputJSON(const char[], int, int, int, int);
|
||||||
|
|
||||||
|
/* cpdf_outputJSONMemory(parse_content, no_stream_data, pdf, &length) is like
|
||||||
|
* outputJSON, but it write to a buffer in memory. The length is filled in. */
|
||||||
|
void *cpdf_outputJSONMemory(int, int, int, int, int *);
|
||||||
|
|
||||||
|
/* Load a PDF from a JSON file given its filename */
|
||||||
|
int cpdf_fromJSON(const char[]);
|
||||||
|
|
||||||
|
/* Load a PDF from a JSON file in memory, given the buffer and its length */
|
||||||
|
int cpdf_fromJSONMemory(void *, int);
|
||||||
|
|
||||||
|
|
|
@ -1,54 +1,23 @@
|
||||||
/* CHAPTER 17. Miscellaneous */
|
/* CHAPTER 17. Creating New PDFs */
|
||||||
|
|
||||||
|
/* cpdf_blankDocument(width, height, num_pages) creates a blank document with
|
||||||
|
* pages of the given width (in points), height (in points), and number of
|
||||||
|
* pages.
|
||||||
|
*/
|
||||||
|
int cpdf_blankDocument(double, double, int);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* cpdf_draft(pdf, range, boxes) removes images on the given pages, replacing
|
* cpdf_blankDocumentPaper(papersize, num_pages) makes a blank document given
|
||||||
* them with crossed boxes if 'boxes' is true
|
* a page size and number of pages.
|
||||||
*/
|
*/
|
||||||
void cpdf_draft(int, int, int);
|
int cpdf_blankDocumentPaper(enum cpdf_papersize, int);
|
||||||
|
|
||||||
/*
|
/* cpdf_textToPDF(w, h, font, fontsize, filename) typesets a UTF8 text file
|
||||||
* cpdf_removeAllText(pdf, range) removes all text from the given pages in a
|
* ragged right on a page of size w * h in points in the given font and font
|
||||||
* given document.
|
* size. */
|
||||||
*/
|
int cpdf_textToPDF(double, double, int, double, const char[]);
|
||||||
void cpdf_removeAllText(int, int);
|
|
||||||
|
|
||||||
/* cpdf_blackText(pdf, range) blackens all text on the given pages. */
|
/* cpdf_textToPDF(papersize font, fontsize, filename) typesets a UTF8 text file
|
||||||
void cpdf_blackText(int, int);
|
* ragged right on a page of the given size in the given font and font size. */
|
||||||
|
int cpdf_textToPDFPaper(int, int, double, const char[]);
|
||||||
/* cpdf_blackLines(pdf, range) blackens all lines on the given pages. */
|
|
||||||
void cpdf_blackLines(int, int);
|
|
||||||
|
|
||||||
/* cpdf_blackFills(pdf, range) blackens all fills on the given pages. */
|
|
||||||
void cpdf_blackFills(int, int);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* cpdf_thinLines(pdf, range, min_thickness) thickens every line less than
|
|
||||||
* min_thickness to min_thickness. Thickness given in points.
|
|
||||||
*/
|
|
||||||
void cpdf_thinLines(int, int, double);
|
|
||||||
|
|
||||||
/* cpdf_copyId(from, to) copies the /ID from one document to another. */
|
|
||||||
void cpdf_copyId(int, int);
|
|
||||||
|
|
||||||
/* cpdf_removeId(pdf) removes a document's /ID. */
|
|
||||||
void cpdf_removeId(int);
|
|
||||||
|
|
||||||
/* cpdf_setVersion(pdf, version) sets the minor version number of a document. */
|
|
||||||
void cpdf_setVersion(int, int);
|
|
||||||
|
|
||||||
/* cpdf_setFullVersion(pdf, major_version, minor_version) sets the full version
|
|
||||||
* number of a document. */
|
|
||||||
void cpdf_setFullVersion(int, int, int);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* cpdf_removeDictEntry(pdf, key) removes any dictionary entry with the given
|
|
||||||
* key anywhere in the document.
|
|
||||||
*/
|
|
||||||
void cpdf_removeDictEntry(int, const char[]);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* cpdf_removeClipping(pdf, range) removes all clipping from pages in the
|
|
||||||
* given range.
|
|
||||||
*/
|
|
||||||
void cpdf_removeClipping(int, int);
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,74 @@
|
||||||
|
/* CHAPTER 18. Miscellaneous */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cpdf_draft(pdf, range, boxes) removes images on the given pages, replacing
|
||||||
|
* them with crossed boxes if 'boxes' is true
|
||||||
|
*/
|
||||||
|
void cpdf_draft(int, int, int);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cpdf_removeAllText(pdf, range) removes all text from the given pages in a
|
||||||
|
* given document.
|
||||||
|
*/
|
||||||
|
void cpdf_removeAllText(int, int);
|
||||||
|
|
||||||
|
/* cpdf_blackText(pdf, range) blackens all text on the given pages. */
|
||||||
|
void cpdf_blackText(int, int);
|
||||||
|
|
||||||
|
/* cpdf_blackLines(pdf, range) blackens all lines on the given pages. */
|
||||||
|
void cpdf_blackLines(int, int);
|
||||||
|
|
||||||
|
/* cpdf_blackFills(pdf, range) blackens all fills on the given pages. */
|
||||||
|
void cpdf_blackFills(int, int);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cpdf_thinLines(pdf, range, min_thickness) thickens every line less than
|
||||||
|
* min_thickness to min_thickness. Thickness given in points.
|
||||||
|
*/
|
||||||
|
void cpdf_thinLines(int, int, double);
|
||||||
|
|
||||||
|
/* cpdf_copyId(from, to) copies the /ID from one document to another. */
|
||||||
|
void cpdf_copyId(int, int);
|
||||||
|
|
||||||
|
/* cpdf_removeId(pdf) removes a document's /ID. */
|
||||||
|
void cpdf_removeId(int);
|
||||||
|
|
||||||
|
/* cpdf_setVersion(pdf, version) sets the minor version number of a document. */
|
||||||
|
void cpdf_setVersion(int, int);
|
||||||
|
|
||||||
|
/* cpdf_setFullVersion(pdf, major_version, minor_version) sets the full version
|
||||||
|
* number of a document. */
|
||||||
|
void cpdf_setFullVersion(int, int, int);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cpdf_removeDictEntry(pdf, key) removes any dictionary entry with the given
|
||||||
|
* key anywhere in the document.
|
||||||
|
*/
|
||||||
|
void cpdf_removeDictEntry(int, const char[]);
|
||||||
|
|
||||||
|
/* cpdf_removeDictEntrySearch(pdf, key, seachterm) removes any dictionary entry
|
||||||
|
* with the given key whose value matches the given search term. */
|
||||||
|
void cpdf_removeDictEntrySearch(int, const char[], const char[]);
|
||||||
|
|
||||||
|
/* cpdf_replaceDictEntry(pdf, key, newvalue) replaces the value associated with
|
||||||
|
* the given key */
|
||||||
|
void cpdf_replaceDictEntry(int, const char[], const char[]);
|
||||||
|
|
||||||
|
/* cpdf_replaceDictEntry(pdf, key, newvalue, searchterm) replaces the value
|
||||||
|
* associated with the given key if the existing value matches the search term.
|
||||||
|
*/
|
||||||
|
void cpdf_replaceDictEntrySearch(int, const char[], const char[], const char[]);
|
||||||
|
|
||||||
|
/* cpdf_getDictEntries(pdf, key, length) returns a JSON array containing any
|
||||||
|
* and all values associated with the given key, and fills in its length. */
|
||||||
|
void *cpdf_getDictEntries(int, const char[], int *retlen);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cpdf_removeClipping(pdf, range) removes all clipping from pages in the
|
||||||
|
* given range.
|
||||||
|
*/
|
||||||
|
void cpdf_removeClipping(int, int);
|
||||||
|
|
||||||
/* CHAPTER X. Internal or undocumented. */
|
/* CHAPTER X. Internal or undocumented. */
|
||||||
|
|
||||||
/* Internal. Used for demo versions of the commercial version of cpdflib. */
|
/* Internal. Used for demo versions of the commercial version of cpdflib. */
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
csplit -k -f splits/c cpdflibwrapper.h '/CHAPTER/' {18}
|
csplit -k -f splits/c ../cpdflib-source/cpdflibwrapper.h '/CHAPTER/' {18}
|
||||||
mv splits/c00 splits/c00.tex
|
mv splits/c00 splits/c00.tex
|
||||||
mv splits/c01 splits/c01.tex
|
mv splits/c01 splits/c01.tex
|
||||||
mv splits/c02 splits/c02.tex
|
mv splits/c02 splits/c02.tex
|
||||||
|
|
Loading…
Reference in New Issue