Extend C docsplits for v2.7
This commit is contained in:
parent
5148a1aacd
commit
e0d0e54fb3
|
@ -3,7 +3,7 @@
|
||||||
% Edit here to produce cpdfmanual.pdf, cpdflibmanual.pdf, pycpdfmanual.pdf,
|
% Edit here to produce cpdfmanual.pdf, cpdflibmanual.pdf, pycpdfmanual.pdf,
|
||||||
% dotnetcpdflibmanual.pdf, jcpdflibmanual.pdf jscpdflibmanual.pdf etc.
|
% dotnetcpdflibmanual.pdf, jcpdflibmanual.pdf jscpdflibmanual.pdf etc.
|
||||||
\usepackage{comment}
|
\usepackage{comment}
|
||||||
\excludecomment{cpdflib}
|
\includecomment{cpdflib}
|
||||||
\excludecomment{pycpdflib}
|
\excludecomment{pycpdflib}
|
||||||
\excludecomment{dotnetcpdflib}
|
\excludecomment{dotnetcpdflib}
|
||||||
\excludecomment{jcpdflib}
|
\excludecomment{jcpdflib}
|
||||||
|
|
|
@ -14,6 +14,14 @@ char *cpdf_version();
|
||||||
void cpdf_setFast();
|
void cpdf_setFast();
|
||||||
void cpdf_setSlow();
|
void cpdf_setSlow();
|
||||||
|
|
||||||
|
/* Calling this function with a true argument sets embedding for the Standard
|
||||||
|
* 14 fonts. You must also set the directory to load them from with the next
|
||||||
|
* function. Default value: false. */
|
||||||
|
void cpdf_embedStd14(int);
|
||||||
|
|
||||||
|
/* Set the directory to load Standard 14 fonts for embedding. */
|
||||||
|
void cpdf_embedStd14Dir(char *);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Errors. cpdf_lastError and cpdf_lastErrorString hold information about the
|
* Errors. cpdf_lastError and cpdf_lastErrorString hold information about the
|
||||||
* last error to have occurred. They should be consulted after each call. If
|
* last error to have occurred. They should be consulted after each call. If
|
||||||
|
@ -24,6 +32,11 @@ void cpdf_setSlow();
|
||||||
extern int cpdf_lastError;
|
extern int cpdf_lastError;
|
||||||
extern char *cpdf_lastErrorString;
|
extern char *cpdf_lastErrorString;
|
||||||
|
|
||||||
|
/* In some contexts, for example, .NET or JNI, constants in DLLs can be
|
||||||
|
* difficult or impossible to access. we provide functions in addition. */
|
||||||
|
int cpdf_fLastError(void);
|
||||||
|
char *cpdf_fLastErrorString(void);
|
||||||
|
|
||||||
/* cpdf_clearError clears the current error state. */
|
/* cpdf_clearError clears the current error state. */
|
||||||
void cpdf_clearError(void);
|
void cpdf_clearError(void);
|
||||||
|
|
||||||
|
|
|
@ -296,3 +296,8 @@ int cpdf_hasPermission(int, enum cpdf_permission);
|
||||||
*/
|
*/
|
||||||
enum cpdf_encryptionMethod cpdf_encryptionKind(int);
|
enum cpdf_encryptionMethod cpdf_encryptionKind(int);
|
||||||
|
|
||||||
|
/* cpdf_loadFont(name, filename) loads a TrueType font from the given file
|
||||||
|
* name, and names it. It may then be used when adding text or drawing, using
|
||||||
|
* the name in place of a standard font name. */
|
||||||
|
void cpdf_loadFont(char *, char *);
|
||||||
|
|
||||||
|
|
|
@ -108,6 +108,12 @@ void cpdf_scaleContents(int, int, struct cpdf_position, double);
|
||||||
*/
|
*/
|
||||||
void cpdf_shiftContents(int, int, double, double);
|
void cpdf_shiftContents(int, int, double, double);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cpdf_shiftContents(pdf, range, dx, dy) shifts the boxes of the pages in
|
||||||
|
* the range.
|
||||||
|
*/
|
||||||
|
void cpdf_shiftBoxes(int, int, double, double);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* cpdf_rotate(pdf, range, rotation) changes the viewing rotation to an
|
* cpdf_rotate(pdf, range, rotation) changes the viewing rotation to an
|
||||||
* absolute value. Appropriate rotations are 0, 90, 180, 270.
|
* absolute value. Appropriate rotations are 0, 90, 180, 270.
|
||||||
|
@ -155,7 +161,8 @@ void cpdf_removeTrim(int, int);
|
||||||
/* cpdf_removeArt(pdf, range) removes any art box from pages in the range. */
|
/* cpdf_removeArt(pdf, range) removes any art box from pages in the range. */
|
||||||
void cpdf_removeArt(int, int);
|
void cpdf_removeArt(int, int);
|
||||||
|
|
||||||
/* cpdf_removeBleed(pdf, range) removes any bleed box from pages in the range. */
|
/* cpdf_removeBleed(pdf, range) removes any bleed box from pages in the range.
|
||||||
|
*/
|
||||||
void cpdf_removeBleed(int, int);
|
void cpdf_removeBleed(int, int);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -47,8 +47,6 @@ int cpdf_combinePages(int, int);
|
||||||
*
|
*
|
||||||
* %EndLabel The page label of the last page
|
* %EndLabel The page label of the last page
|
||||||
*
|
*
|
||||||
* %filename The full file name of the input document
|
|
||||||
*
|
|
||||||
* %a Abbreviated weekday name (Sun, Mon etc.)
|
* %a Abbreviated weekday name (Sun, Mon etc.)
|
||||||
*
|
*
|
||||||
* %A Full weekday name (Sunday, Monday etc.)
|
* %A Full weekday name (Sunday, Monday etc.)
|
||||||
|
|
|
@ -1,22 +1,5 @@
|
||||||
/* 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
|
|
||||||
* page size, scaling pages down. cpdf_twoUpStack does so by doubling the
|
|
||||||
* page size, to fit two pages on one.
|
|
||||||
*/
|
|
||||||
void cpdf_twoUp(int);
|
|
||||||
void cpdf_twoUpStack(int);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* cpdf_padBefore(pdf, range) adds a blank page before each page in the given
|
* cpdf_padBefore(pdf, range) adds a blank page before each page in the given
|
||||||
* range.
|
* range.
|
||||||
|
@ -44,3 +27,29 @@ void cpdf_padMultiple(int, int);
|
||||||
*/
|
*/
|
||||||
void cpdf_padMultipleBefore(int, int);
|
void cpdf_padMultipleBefore(int, int);
|
||||||
|
|
||||||
|
/* 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);
|
||||||
|
|
||||||
|
/* cpdf_chop(pdf, range, x, y, columns, rtl, btt) */
|
||||||
|
void cpdf_chop(int, int, int, int, int, int, int);
|
||||||
|
|
||||||
|
/* cpdf_choph(pdf, range, columns, y) */
|
||||||
|
void cpdf_chopH(int, int, int, double);
|
||||||
|
|
||||||
|
/* cpdf_chopv(pdf, range, columns, x) */
|
||||||
|
void cpdf_chopV(int, int, int, double);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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, to fit two pages on one.
|
||||||
|
*/
|
||||||
|
void cpdf_twoUp(int);
|
||||||
|
void cpdf_twoUpStack(int);
|
||||||
|
|
||||||
|
|
|
@ -4,3 +4,11 @@
|
||||||
*/
|
*/
|
||||||
void *cpdf_annotationsJSON(int, int *);
|
void *cpdf_annotationsJSON(int, int *);
|
||||||
|
|
||||||
|
/* cpdf_removeAnnotations(pdf, range) removes all annotations from pages in the
|
||||||
|
* given range. */
|
||||||
|
void cpdf_removeAnnotations(int, int);
|
||||||
|
|
||||||
|
/* cpdf_setAnnotationsJSON(pdf, data, length) adds the annotations given in
|
||||||
|
* JSON format to the PDF, on top of any exisiting annotations. */
|
||||||
|
void cpdf_setAnnotationsJSON(int, void *, int);
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,20 @@
|
||||||
*/
|
*/
|
||||||
int cpdf_isLinearized(const char[]);
|
int cpdf_isLinearized(const char[]);
|
||||||
|
|
||||||
|
int cpdf_hasObjectStreams(int);
|
||||||
|
|
||||||
|
char *cpdf_id1(int);
|
||||||
|
|
||||||
|
char *cpdf_id2(int);
|
||||||
|
|
||||||
|
int cpdf_hasAcroForm(int);
|
||||||
|
|
||||||
|
int cpdf_startGetSubformats(int);
|
||||||
|
|
||||||
|
char *cpdf_getSubformat(int);
|
||||||
|
|
||||||
|
void cpdf_endGetSubformats(void);
|
||||||
|
|
||||||
/* cpdf_getVersion(pdf) returns the minor version number of a document. */
|
/* cpdf_getVersion(pdf) returns the minor version number of a document. */
|
||||||
int cpdf_getVersion(int);
|
int cpdf_getVersion(int);
|
||||||
|
|
||||||
|
@ -140,6 +154,12 @@ char *cpdf_dateStringOfComponents(int, int, int, int, int, int, int, int);
|
||||||
*/
|
*/
|
||||||
int cpdf_getPageRotation(int, int);
|
int cpdf_getPageRotation(int, int);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cpdf_numAnnots(pdf, pagenumber) returns the number of annotations on
|
||||||
|
* a given page.
|
||||||
|
*/
|
||||||
|
int cpdf_numAnnots(int, int);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* cpdf_hasBox(pdf, pagenumber, boxname) returns true, if that page has the
|
* cpdf_hasBox(pdf, pagenumber, boxname) returns true, if that page has the
|
||||||
* given box. E.g "/CropBox".
|
* given box. E.g "/CropBox".
|
||||||
|
@ -167,6 +187,10 @@ void cpdf_setTrimBox(int, int, double, double, double, double);
|
||||||
void cpdf_setArtBox(int, int, double, double, double, double);
|
void cpdf_setArtBox(int, int, double, double, double, double);
|
||||||
void cpdf_setBleedBox(int, int, double, double, double, double);
|
void cpdf_setBleedBox(int, int, double, double, double, double);
|
||||||
|
|
||||||
|
/* cpdf_pageInfoJSON(pdf, retlen) returns JSON data for the page
|
||||||
|
information, and fills in the return length. */
|
||||||
|
void *cpdf_pageInfoJSON(int, int *);
|
||||||
|
|
||||||
/* cpdf_markTrapped(pdf) marks a document as trapped. */
|
/* cpdf_markTrapped(pdf) marks a document as trapped. */
|
||||||
void cpdf_markTrapped(int);
|
void cpdf_markTrapped(int);
|
||||||
|
|
||||||
|
@ -192,6 +216,8 @@ enum cpdf_layout {
|
||||||
/* cpdf_setPageLayout(pdf, layout) sets the page layout for a document. */
|
/* cpdf_setPageLayout(pdf, layout) sets the page layout for a document. */
|
||||||
void cpdf_setPageLayout(int, enum cpdf_layout);
|
void cpdf_setPageLayout(int, enum cpdf_layout);
|
||||||
|
|
||||||
|
enum cpdf_layout cpdf_getPageLayout(int);
|
||||||
|
|
||||||
/* Document page modes. */
|
/* Document page modes. */
|
||||||
enum cpdf_pageMode {
|
enum cpdf_pageMode {
|
||||||
cpdf_useNone,
|
cpdf_useNone,
|
||||||
|
@ -204,28 +230,60 @@ enum cpdf_pageMode {
|
||||||
/* cpdf_setPageMode(pdf, mode) sets the page mode for a document. */
|
/* cpdf_setPageMode(pdf, mode) sets the page mode for a document. */
|
||||||
void cpdf_setPageMode(int, enum cpdf_pageMode);
|
void cpdf_setPageMode(int, enum cpdf_pageMode);
|
||||||
|
|
||||||
|
/* cpdf_getPageMode(pdf) returns the page mode for a document. */
|
||||||
|
enum cpdf_pageMode cpdf_getPageMode(int);
|
||||||
|
|
||||||
/* cpdf_hideToolbar(pdf, flag) sets the hide toolbar flag. */
|
/* cpdf_hideToolbar(pdf, flag) sets the hide toolbar flag. */
|
||||||
void cpdf_hideToolbar(int, int);
|
void cpdf_hideToolbar(int, int);
|
||||||
|
|
||||||
|
/* cpdf_getHideToolbar(pdf) gets the hide toolbar flag. */
|
||||||
|
int cpdf_getHideToolbar(int);
|
||||||
|
|
||||||
/* cpdf_hideMenubar(pdf, flag) sets the hide menu bar flag. */
|
/* cpdf_hideMenubar(pdf, flag) sets the hide menu bar flag. */
|
||||||
void cpdf_hideMenubar(int, int);
|
void cpdf_hideMenubar(int, int);
|
||||||
|
|
||||||
|
/* cpdf_getHideMenubar(pdf) gets the hide menu bar flag. */
|
||||||
|
int cpdf_getHideMenubar(int);
|
||||||
|
|
||||||
/* cpdf_hideWindowUi(pdf, flag) sets the hide window UI flag. */
|
/* cpdf_hideWindowUi(pdf, flag) sets the hide window UI flag. */
|
||||||
void cpdf_hideWindowUi(int, int);
|
void cpdf_hideWindowUi(int, int);
|
||||||
|
|
||||||
|
/* cpdf_getHideWindowUi(pdf) gets the hide window UI flag. */
|
||||||
|
int cpdf_getHideWindowUi(int);
|
||||||
|
|
||||||
/* cpdf_fitWindow(pdf, flag) sets the fit window flag. */
|
/* cpdf_fitWindow(pdf, flag) sets the fit window flag. */
|
||||||
void cpdf_fitWindow(int, int);
|
void cpdf_fitWindow(int, int);
|
||||||
|
|
||||||
|
/* cpdf_getFitWindow(pdf) gets the fit window flag. */
|
||||||
|
int cpdf_getFitWindow(int);
|
||||||
|
|
||||||
/* cpdf_centerWindow(pdf, flag) sets the center window flag. */
|
/* cpdf_centerWindow(pdf, flag) sets the center window flag. */
|
||||||
void cpdf_centerWindow(int, int);
|
void cpdf_centerWindow(int, int);
|
||||||
|
|
||||||
/* cpdf_displayDocTitle(pdf, flag) sets the display doc title flag. */
|
/* cpdf_getCenterWindow(pdf) gets the center window flag. */
|
||||||
|
int cpdf_getCenterWindow(int);
|
||||||
|
|
||||||
|
/* cpdf_displayDocTitle(pdf, flag) sets the display document title flag. */
|
||||||
void cpdf_displayDocTitle(int, int);
|
void cpdf_displayDocTitle(int, int);
|
||||||
|
|
||||||
|
/* cpdf_getDisplayDocTitle(pdf) gets the display document title flag. */
|
||||||
|
int cpdf_getDisplayDocTitle(int);
|
||||||
|
|
||||||
|
/* cpdf_nonFullScreenPageMode(pdf, page mode) sets the non full screen page
|
||||||
|
* mode. */
|
||||||
|
void cpdf_nonFullScreenPageMode(int, enum cpdf_pageMode);
|
||||||
|
|
||||||
|
/* cpdf_getNonFullScreenPageMode(pdf) gets the non full screen page mode. */
|
||||||
|
enum cpdf_pageMode cpdf_getNonFullScreenPageMode(int);
|
||||||
|
|
||||||
/* cpdf_openAtPage(pdf, fit, pagenumber) sets the PDF to open, possibly with
|
/* cpdf_openAtPage(pdf, fit, pagenumber) sets the PDF to open, possibly with
|
||||||
* zoom-to-fit, at the given page number. */
|
* zoom-to-fit, at the given page number. */
|
||||||
void cpdf_openAtPage(int, int, int);
|
void cpdf_openAtPage(int, int, int);
|
||||||
|
|
||||||
|
/* cpdf_openAtPageCustom(pdf, destination) sets the PDF to open at the
|
||||||
|
* destination described by the string. */
|
||||||
|
void cpdf_openAtPageCustom(int, char *);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* cpdf_setMetadataFromFile(pdf, filename) set the XMP metadata of a
|
* cpdf_setMetadataFromFile(pdf, filename) set the XMP metadata of a
|
||||||
* document, given a file name.
|
* document, given a file name.
|
||||||
|
@ -315,3 +373,7 @@ int cpdf_getPageLabelOffset(int);
|
||||||
int cpdf_getPageLabelRange(int);
|
int cpdf_getPageLabelRange(int);
|
||||||
void cpdf_endGetPageLabels();
|
void cpdf_endGetPageLabels();
|
||||||
|
|
||||||
|
/* cpdf_compositionJSON(filesize, pdf, size returns the composition data in
|
||||||
|
* JSON format. */
|
||||||
|
void *cpdf_compositionJSON(int, int, int *);
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,20 @@
|
||||||
/* CHAPTER 13. Images. */
|
/* CHAPTER 13. Images. */
|
||||||
|
|
||||||
|
/* Get list of images. Call cpdf_startGetImages, which returns the total number
|
||||||
|
* of images. Then serial numbers 0..<total number> - 1 are used to retreive
|
||||||
|
* data. Finally, call cpdf_endGetImages to clean up. */
|
||||||
|
int cpdf_startGetImages(int);
|
||||||
|
int cpdf_getImageObjNum(int);
|
||||||
|
char *cpdf_getImagePages(int);
|
||||||
|
char *cpdf_getImageName(int);
|
||||||
|
int cpdf_getImageWidth(int);
|
||||||
|
int cpdf_getImageHeight(int);
|
||||||
|
int cpdf_getImageSize(int);
|
||||||
|
int cpdf_getImageBPC(int);
|
||||||
|
char *cpdf_getImageColSpace(int);
|
||||||
|
char *cpdf_getImageFilter(int);
|
||||||
|
void cpdf_endGetImages(void);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get image data, including resolution at all points of use. Call
|
* Get image data, including resolution at all points of use. Call
|
||||||
* cpdf_startGetImageResolution(pdf, min_required_resolution) will begin the
|
* cpdf_startGetImageResolution(pdf, min_required_resolution) will begin the
|
||||||
|
@ -9,12 +24,19 @@
|
||||||
* serial number 0..<total number> - 1, to retrieve the data. Finally, call
|
* serial number 0..<total number> - 1, to retrieve the data. Finally, call
|
||||||
* cpdf_endGetImageResolution to clean up.
|
* cpdf_endGetImageResolution to clean up.
|
||||||
*/
|
*/
|
||||||
int cpdf_startGetImageResolution(int, float);
|
int cpdf_startGetImageResolution(int, double);
|
||||||
int cpdf_getImageResolutionPageNumber(int);
|
int cpdf_getImageResolutionPageNumber(int);
|
||||||
char *cpdf_getImageResolutionImageName(int);
|
char *cpdf_getImageResolutionImageName(int);
|
||||||
int cpdf_getImageResolutionXPixels(int);
|
int cpdf_getImageResolutionXPixels(int);
|
||||||
int cpdf_getImageResolutionYPixels(int);
|
int cpdf_getImageResolutionYPixels(int);
|
||||||
double cpdf_getImageResolutionXRes(int);
|
double cpdf_getImageResolutionXRes(int);
|
||||||
double cpdf_getImageResolutionYRes(int);
|
double cpdf_getImageResolutionYRes(int);
|
||||||
|
int cpdf_getImageResolutionObjNum(int);
|
||||||
void cpdf_endGetImageResolution(void);
|
void cpdf_endGetImageResolution(void);
|
||||||
|
|
||||||
|
/* Get image resolution data in JSON format */
|
||||||
|
void *cpdf_imageResolutionJSON(int, int *, float);
|
||||||
|
|
||||||
|
/* Get image data in JSON format */
|
||||||
|
void *cpdf_imagesJSON(int, int *);
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,10 @@ char *cpdf_getFontType(int);
|
||||||
char *cpdf_getFontEncoding(int);
|
char *cpdf_getFontEncoding(int);
|
||||||
void cpdf_endGetFontInfo(void);
|
void cpdf_endGetFontInfo(void);
|
||||||
|
|
||||||
|
/* cpdf_fontsJSON(pdf, retlen) returns JSON data for the font list, and fills
|
||||||
|
* in the return length. */
|
||||||
|
void *cpdf_fontsJSON(int, int *);
|
||||||
|
|
||||||
/* cpdf_removeFonts(pdf) removes all font data from a file. */
|
/* cpdf_removeFonts(pdf) removes all font data from a file. */
|
||||||
void cpdf_removeFonts(int);
|
void cpdf_removeFonts(int);
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
/* CHAPTER 15. PDF and JSON */
|
/* CHAPTER 15. PDF and JSON */
|
||||||
|
|
||||||
|
void cpdf_JSONUTF8(int);
|
||||||
|
|
||||||
/* cpdf_outputJSON(filename, parse_content, no_stream_data, pdf) outputs a PDF
|
/* cpdf_outputJSON(filename, parse_content, no_stream_data, pdf) outputs a PDF
|
||||||
* 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.
|
||||||
|
|
|
@ -21,3 +21,10 @@ int cpdf_textToPDF(double, double, int, double, const char[]);
|
||||||
* ragged right on a page of the given size in the given font and font size. */
|
* ragged right on a page of the given size in the given font and font size. */
|
||||||
int cpdf_textToPDFPaper(int, int, double, const char[]);
|
int cpdf_textToPDFPaper(int, int, double, const char[]);
|
||||||
|
|
||||||
|
/* cpdf_fromPNG(filename) builds a PDF from a 24-bit non-interlaced
|
||||||
|
* non-transparent PNG. */
|
||||||
|
int cpdf_fromPNG(const char[]);
|
||||||
|
|
||||||
|
/* cpdf_fromJPEG(filename) builds a PDF from a JPEG/ */
|
||||||
|
int cpdf_fromJPEG(const char[]);
|
||||||
|
|
||||||
|
|
|
@ -1,70 +1,222 @@
|
||||||
/* CHAPTER 18. Miscellaneous */
|
/* CHAPTER 18. Drawing on PDFs */
|
||||||
|
|
||||||
/*
|
/* cpdf_drawBegin sets up the drawing process. It must be called before any
|
||||||
* cpdf_draft(pdf, range, boxes) removes images on the given pages, replacing
|
* other cpdf_draw* function. */
|
||||||
* them with crossed boxes if 'boxes' is true.
|
void cpdf_drawBegin(void);
|
||||||
*/
|
|
||||||
void cpdf_draft(int, int, int);
|
|
||||||
|
|
||||||
/*
|
/* cpdf_drawEnd(pdf, range) commits the drawing to the given PDF on pages in
|
||||||
* cpdf_removeAllText(pdf, range) removes all text from the given pages in a
|
* the given range. */
|
||||||
* given document.
|
void cpdf_drawEnd(int, int);
|
||||||
*/
|
|
||||||
void cpdf_removeAllText(int, int);
|
|
||||||
|
|
||||||
/* cpdf_blackText(pdf, range) blackens all text on the given pages. */
|
/* cpdf_drawExtended(pdf, range, underneath, bates, filename) is the same as
|
||||||
void cpdf_blackText(int, int);
|
* cpdf_drawEnd, but provides the special parameters which may be required when
|
||||||
|
* using cpdf_drawSText. */
|
||||||
|
void cpdf_drawEndExtended(int, int, int, int, char *);
|
||||||
|
|
||||||
/* cpdf_blackLines(pdf, range) blackens all lines on the given pages. */
|
/* cpdf_drawRect(x, y, w, h) adds a rectangle to the current path. */
|
||||||
void cpdf_blackLines(int, int);
|
void cpdf_drawRect(double, double, double, double);
|
||||||
|
|
||||||
/* cpdf_blackFills(pdf, range) blackens all fills on the given pages. */
|
/* cpdf_drawTo(x, y) moves the current point to (x, y). */
|
||||||
void cpdf_blackFills(int, int);
|
void cpdf_drawTo(double, double);
|
||||||
|
|
||||||
/*
|
/* cpdf_drawLine(x, y) adds a line from the current point to (x, y) to the
|
||||||
* cpdf_thinLines(pdf, range, min_thickness) thickens every line less than
|
* current path. */
|
||||||
* min_thickness to min_thickness. Thickness given in points.
|
void cpdf_drawLine(double, double);
|
||||||
*/
|
|
||||||
void cpdf_thinLines(int, int, double);
|
|
||||||
|
|
||||||
/* cpdf_copyId(from, to) copies the /ID from one document to another. */
|
/* cpdf_drawBez(x1, y1, x2, y2, x3, y3) adds a bezier curve to the current
|
||||||
void cpdf_copyId(int, int);
|
* path. */
|
||||||
|
void cpdf_drawBez(double, double, double, double, double, double);
|
||||||
|
|
||||||
/* cpdf_removeId(pdf) removes a document's /ID. */
|
/* cpdf_drawBez23(x2, y2, x3, y3) add a bezier curve with (x1, y1) = current
|
||||||
void cpdf_removeId(int);
|
* point. */
|
||||||
|
void cpdf_drawBez23(double, double, double, double);
|
||||||
|
|
||||||
/* cpdf_setVersion(pdf, version) sets the minor version number of a document. */
|
/* cpdf_drawBez13(x1, y1, x3, y3) add a bezier curve with (x3, y3) = new
|
||||||
void cpdf_setVersion(int, int);
|
* current point. */
|
||||||
|
void cpdf_drawBez13(double, double, double, double);
|
||||||
|
|
||||||
/* cpdf_setFullVersion(pdf, major_version, minor_version) sets the full version
|
/* cpdf_drawCircle(x, y, r) adds a circle to the current path. */
|
||||||
* number of a document. */
|
void cpdf_drawCircle(double, double, double);
|
||||||
void cpdf_setFullVersion(int, int, int);
|
|
||||||
|
|
||||||
/*
|
/* cpdf_drawStroke() strokes the curent path, and clears it. */
|
||||||
* cpdf_removeDictEntry(pdf, key) removes any dictionary entry with the given
|
void cpdf_drawStroke(void);
|
||||||
* key anywhere in the document.
|
|
||||||
*/
|
|
||||||
void cpdf_removeDictEntry(int, const char[]);
|
|
||||||
|
|
||||||
/* cpdf_removeDictEntrySearch(pdf, key, seachterm) removes any dictionary entry
|
/* cpdf_drawFill() fills the current path with a non-zero winding rule, and
|
||||||
* with the given key whose value matches the given search term. */
|
* clears it. */
|
||||||
void cpdf_removeDictEntrySearch(int, const char[], const char[]);
|
void cpdf_drawFill(void);
|
||||||
|
|
||||||
/* cpdf_replaceDictEntry(pdf, key, newvalue) replaces the value associated with
|
/* cpdf_drawFillEo() fills the current path with an even-odd winding rule, and
|
||||||
* the given key. */
|
* clears it. */
|
||||||
void cpdf_replaceDictEntry(int, const char[], const char[]);
|
void cpdf_drawFillEo(void);
|
||||||
|
|
||||||
/* cpdf_replaceDictEntry(pdf, key, newvalue, searchterm) replaces the value
|
/* cpdf_drawStrokeFill() fills and then strokes the current path with a
|
||||||
* associated with the given key if the existing value matches the search term.
|
* non-zero winding rule, and clears it. */
|
||||||
*/
|
void cpdf_drawStrokeFill(void);
|
||||||
void cpdf_replaceDictEntrySearch(int, const char[], const char[], const char[]);
|
|
||||||
|
|
||||||
/* cpdf_getDictEntries(pdf, key, length) returns a JSON array containing any
|
/* cpdf_drawStrokeFillEo() fills and then strokes the current path with an even
|
||||||
* and all values associated with the given key, and fills in its length. */
|
* odd winding rule, and clears it. */
|
||||||
void *cpdf_getDictEntries(int, const char[], int *retlen);
|
void cpdf_drawStrokeFillEo(void);
|
||||||
|
|
||||||
|
/* cpdf_drawClose closes the current path by appending a straight line segment
|
||||||
|
* from the current point to the starting point of the subpath. */
|
||||||
|
void cpdf_drawClose(void);
|
||||||
|
|
||||||
|
/* cpdf_drawClip uses the current path as a clipping region, using the non-zero
|
||||||
|
* winding rule. */
|
||||||
|
void cpdf_drawClip(void);
|
||||||
|
|
||||||
|
/* cpdf_drawClipEo uses the current path as a clipping region, using the
|
||||||
|
* even-odd winding rule. */
|
||||||
|
void cpdf_drawClipEo(void);
|
||||||
|
|
||||||
|
/* cpdf_drawStrokColGrey(g) changes to a greyscale stroke colourspace and sets
|
||||||
|
* the stroke colour. */
|
||||||
|
void cpdf_drawStrokeColGrey(double);
|
||||||
|
|
||||||
|
/* cpdf_drawStrokeColRGB(r, g, b) changes to an RGB stroke colourspace and sets
|
||||||
|
* the stroke colour. */
|
||||||
|
void cpdf_drawStrokeColRGB(double, double, double);
|
||||||
|
|
||||||
|
/* cpdf_drawStrokeColCYMK(c, y, m, k) changes to a CYMK stroke colourspace and
|
||||||
|
* sets the stroke colour. */
|
||||||
|
void cpdf_drawStrokeColCYMK(double, double, double, double);
|
||||||
|
|
||||||
|
/* cpdf_drawFillColGrey(g) changes to a greyscale fill colourspace and sets the
|
||||||
|
* fill colour. */
|
||||||
|
void cpdf_drawFillColGrey(double);
|
||||||
|
|
||||||
|
/* cpdf_drawFillColRGB(r, g, b) changes to an RGB fill colourspace and sets the
|
||||||
|
* fill colour. */
|
||||||
|
void cpdf_drawFillColRGB(double, double, double);
|
||||||
|
|
||||||
|
/* cpdf_drawFillColCYMK(c, y, m, k) changes to a CYMK fill colourspace and sets
|
||||||
|
* the fill colour. */
|
||||||
|
void cpdf_drawFillColCYMK(double, double, double, double);
|
||||||
|
|
||||||
|
/* cpdf_drawThick(thickness) sets the line thickness. */
|
||||||
|
void cpdf_drawThick(double);
|
||||||
|
|
||||||
|
/* Line caps. */
|
||||||
|
enum cpdf_cap { cpdf_capButt, cpdf_capRound, cpdf_capSquare };
|
||||||
|
|
||||||
|
/* cpdf_drawCap(captype) sets the line cap. */
|
||||||
|
void cpdf_drawCap(enum cpdf_cap);
|
||||||
|
|
||||||
|
/* Line joins. */
|
||||||
|
enum cpdf_join { cpdf_joinMiter, cpdf_joinRound, cpdf_joinBevel };
|
||||||
|
|
||||||
|
/* cpdf_drawJoin(jointype) sets the line join type. */
|
||||||
|
void cpdf_drawJoin(enum cpdf_join);
|
||||||
|
|
||||||
|
/* cpdf_drawMiter(m) sets the miter limit. */
|
||||||
|
void cpdf_drawMiter(double);
|
||||||
|
|
||||||
|
/* cpdf_drawDash(dash description) sets the line dash style. */
|
||||||
|
void cpdf_drawDash(char *);
|
||||||
|
|
||||||
|
/* cpdf_drawPush() saves the current graphics state on the stack. */
|
||||||
|
void cpdf_drawPush(void);
|
||||||
|
|
||||||
|
/* cpdf_drawPop() restores the graphics state from the stack. */
|
||||||
|
void cpdf_drawPop(void);
|
||||||
|
|
||||||
|
/* cpdf_drawMatrix(a, b, c, d, e, f) appends the given matrix to the Current
|
||||||
|
* Transformation Matrix. */
|
||||||
|
void cpdf_drawMatrix(double, double, double, double, double, double);
|
||||||
|
|
||||||
|
/* cpdf_drawMTrans(tx, ty) appends a translation by (tx, ty) to the Current
|
||||||
|
* Transformation Matrix. */
|
||||||
|
void cpdf_drawMTrans(double, double);
|
||||||
|
|
||||||
|
/* cpdf_drawMRot(x, y, a) appends a rotation by a around (a, y) to the Current
|
||||||
|
* Transformation Matrix. */
|
||||||
|
void cpdf_drawMRot(double, double, double);
|
||||||
|
|
||||||
|
/* cpdf_drawMScale(x, y, sx, sy) appends a scaling by (sx, sy) around (x, y) to
|
||||||
|
* the Current Transformation Matrix. */
|
||||||
|
void cpdf_drawMScale(double, double, double, double);
|
||||||
|
|
||||||
|
/* cpdf_drawMShearX(x, y, a) appends an X shearing of angle a around (x, y) to
|
||||||
|
* the Current Transformation Matrix. */
|
||||||
|
void cpdf_drawMShearX(double, double, double);
|
||||||
|
|
||||||
|
/* cpdf_drawMShearY(x, y, a) appends an Y shearing of angle a around (x, y) to
|
||||||
|
* the Current Transformation Matrix. */
|
||||||
|
void cpdf_drawMShearY(double, double, double);
|
||||||
|
|
||||||
|
/* cpdf_drawXObjBBox(x, y, w, h) sets the XObject bounding box. */
|
||||||
|
void cpdf_drawXObjBBox(double, double, double, double);
|
||||||
|
|
||||||
|
/* cpdf_drawXObj(name) begins the storing of an XObject. */
|
||||||
|
void cpdf_drawXObj(char *);
|
||||||
|
|
||||||
|
/* cpdf_drawEndXObj() ends the storing of an XObject. */
|
||||||
|
void cpdf_drawEndXObj(void);
|
||||||
|
|
||||||
|
/* cpdf_drawUse(name) uses the named XObject. */
|
||||||
|
void cpdf_drawUse(char *);
|
||||||
|
|
||||||
|
/* cpdf_drawJPEG(name, filename) loads a JPEG from the given file, storing it
|
||||||
|
* under the given name. */
|
||||||
|
void cpdf_drawJPEG(char *, char *);
|
||||||
|
|
||||||
|
/* cpdf_drawPNG(name, filename) loads a 24 bit non-interlaced non-transparent
|
||||||
|
* PNG from the given file, storing it under the given name. */
|
||||||
|
void cpdf_drawPNG(char *, char *);
|
||||||
|
|
||||||
|
/* cpdf_drawImage(name) draws a stored image. To draw at the expected size, it
|
||||||
|
* is required to scale the Current Transformation Matrix by the width and
|
||||||
|
* height of the image. */
|
||||||
|
void cpdf_drawImage(char *);
|
||||||
|
|
||||||
|
/* cpdf_drawFillOpacity(n) sets the fill opacity. */
|
||||||
|
void cpdf_drawFillOpacity(double);
|
||||||
|
|
||||||
|
/* cpdf_drawStrokeOpacity(n) sets the stroke opacity. */
|
||||||
|
void cpdf_drawStrokeOpacity(double);
|
||||||
|
|
||||||
|
/* cpdf_drawBT() begins a text section. */
|
||||||
|
void cpdf_drawBT(void);
|
||||||
|
|
||||||
|
/* cpdf_drawET() ends a text section. */
|
||||||
|
void cpdf_drawET(void);
|
||||||
|
|
||||||
|
/* cpdf_drawFont(fontname) sets the font. */
|
||||||
|
void cpdf_drawFont(char *);
|
||||||
|
|
||||||
|
/* cpdf_drawFontSize(n) sets the font size. */
|
||||||
|
void cpdf_drawFontSize(double);
|
||||||
|
|
||||||
|
/* cpdf_drawText(text) draws text. */
|
||||||
|
void cpdf_drawText(char *);
|
||||||
|
|
||||||
|
/* cpdf_drawSText(text) draws text with %Specials. You may need to use
|
||||||
|
* cpdf_drawEndExtended instead of cpdf_drawEnd later, to provide the extra
|
||||||
|
* information required. */
|
||||||
|
void cpdf_drawSText(char *);
|
||||||
|
|
||||||
|
/* cpdf_drawLeading(n) sets the leading. */
|
||||||
|
void cpdf_drawLeading(double);
|
||||||
|
|
||||||
|
/* cpdf_drawCharSpace(n) sets the character spacing. */
|
||||||
|
void cpdf_drawCharSpace(double);
|
||||||
|
|
||||||
|
/* cpdf_drawWordSpace(n) sets the word spacing. */
|
||||||
|
void cpdf_drawWordSpace(double);
|
||||||
|
|
||||||
|
/* cpdf_drawTextScale(n) sets the text scaling. */
|
||||||
|
void cpdf_drawTextScale(double);
|
||||||
|
|
||||||
|
/* cpdf_drawRenderMode(n) sets the text rendering mode. */
|
||||||
|
void cpdf_drawRenderMode(int);
|
||||||
|
|
||||||
|
/* cpdf_drawRise(n) sets the text rise. */
|
||||||
|
void cpdf_drawRise(double);
|
||||||
|
|
||||||
|
/* cpdf_drawNL() moves to the next line. */
|
||||||
|
void cpdf_drawNL(void);
|
||||||
|
|
||||||
|
/* cpdf_drawNewPage() moves to the next page, creating it if necessary, and
|
||||||
|
* setting the range to just that new page. */
|
||||||
|
void cpdf_drawNewPage(void);
|
||||||
|
|
||||||
/*
|
|
||||||
* cpdf_removeClipping(pdf, range) removes all clipping from pages in the
|
|
||||||
* given range.
|
|
||||||
*/
|
|
||||||
void cpdf_removeClipping(int, int);
|
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
/* CHAPTER 19. 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 *);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cpdf_removeClipping(pdf, range) removes all clipping from pages in the
|
||||||
|
* given range.
|
||||||
|
*/
|
||||||
|
void cpdf_removeClipping(int, int);
|
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
csplit -k -f splits/c ../cpdflib-source/cpdflibwrapper.h '/CHAPTER/' {18}
|
csplit -k -f splits/c ../../cpdflib-source/cpdflibwrapper.h '/CHAPTER/' {19}
|
||||||
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
|
||||||
|
@ -20,3 +20,4 @@ mv splits/c16 splits/c16.tex
|
||||||
mv splits/c17 splits/c17.tex
|
mv splits/c17 splits/c17.tex
|
||||||
mv splits/c18 splits/c18.tex
|
mv splits/c18 splits/c18.tex
|
||||||
mv splits/c19 splits/c19.tex
|
mv splits/c19 splits/c19.tex
|
||||||
|
mv splits/c20 splits/c20.tex
|
||||||
|
|
Loading…
Reference in New Issue