diff --git a/doc/pdfio.3 b/doc/pdfio.3 index cef00de..50daaa5 100644 --- a/doc/pdfio.3 +++ b/doc/pdfio.3 @@ -1,4 +1,4 @@ -.TH pdfio 3 "pdf read/write library" "2021-07-24" "pdf read/write library" +.TH pdfio 3 "pdf read/write library" "2021-07-26" "pdf read/write library" .SH NAME pdfio \- pdf read/write library .SH Introduction @@ -552,8 +552,234 @@ If you have a JPEG or PNG file, use the pdfioFileCreateImageObjFromFile function .fi .PP Page Dictionary Functions +.PP +PDF pages each have an associated dictionary to specify the images, fonts, and color spaces used by the page. PDFio provides functions to add these resources to the dictionary: +.IP \(bu 5 +.PP +pdfioPageDictAddColorSpace adds a named color space to the page dictionary + +.IP \(bu 5 +.PP +pdfioPageDictAddFont adds a named font to the page dictionary + +.IP \(bu 5 +.PP +pdfioPageDictAddImage adds a named image to the page dictionary + + .PP Page Stream Functions +.PP +PDF page streams contain textual commands for drawing on the page. PDFio provides many functions for writing these commands with the correct format and escaping, as needed: +.IP \(bu 5 +.PP +pdfioContentClip clips future drawing to the current path + +.IP \(bu 5 +.PP +pdfioContentDrawImage draws an image object + +.IP \(bu 5 +.PP +pdfioContentFill fills the current path + +.IP \(bu 5 +.PP +pdfioContentFillAndStroke fills and strokes the current path + +.IP \(bu 5 +.PP +pdfioContentMatrixConcat concatenates a matrix with the current transform matrix + +.IP \(bu 5 +.PP +pdfioContentMatrixRotate concatenates a rotation matrix with the current transform matrix + +.IP \(bu 5 +.PP +pdfioContentMatrixScale concatenates a scaling matrix with the current transform matrix + +.IP \(bu 5 +.PP +pdfioContentMatrixTranslate concatenates a translation matrix with the current transform matrix + +.IP \(bu 5 +.PP +pdfioContentPathClose closes the current path + +.IP \(bu 5 +.PP +pdfioContentPathCurve appends a Bezier curve to the current path + +.IP \(bu 5 +.PP +pdfioContentPathCurve13 appends a Bezier curve with 2 control points to the current path + +.IP \(bu 5 +.PP +pdfioContentPathCurve23 appends a Bezier curve with 2 control points to the current path + +.IP \(bu 5 +.PP +pdfioContentPathLineTo appends a line to the current path + +.IP \(bu 5 +.PP +pdfioContentPathMoveTo moves the current point in the current path + +.IP \(bu 5 +.PP +pdfioContentPathRect appends a rectangle to the current path + +.IP \(bu 5 +.PP +pdfioContentRestore restores a previous graphics state + +.IP \(bu 5 +.PP +pdfioContentSave saves the current graphics state + +.IP \(bu 5 +.PP +pdfioContentSetDashPattern sets the line dash pattern + +.IP \(bu 5 +.PP +pdfioContentSetFillColorDeviceCMYK sets the current fill color using a device CMYK color + +.IP \(bu 5 +.PP +pdfioContentSetFillColorDeviceGray sets the current fill color using a device gray color + +.IP \(bu 5 +.PP +pdfioContentSetFillColorDeviceRGB sets the current fill color using a device RGB color + +.IP \(bu 5 +.PP +pdfioContentSetFillColorGray sets the current fill color using a calibrated gray color + +.IP \(bu 5 +.PP +pdfioContentSetFillColorRGB sets the current fill color using a calibrated RGB color + +.IP \(bu 5 +.PP +pdfioContentSetFillColorSpace sets the current fill color space + +.IP \(bu 5 +.PP +pdfioContentSetFlatness sets the flatness for curves + +.IP \(bu 5 +.PP +pdfioContentSetLineCap sets how the ends of lines are stroked + +.IP \(bu 5 +.PP +pdfioContentSetLineJoin sets how connections between lines are stroked + +.IP \(bu 5 +.PP +pdfioContentSetLineWidth sets the width of stroked lines + +.IP \(bu 5 +.PP +pdfioContentSetMiterLimit sets the miter limit for stroked lines + +.IP \(bu 5 +.PP +pdfioContentSetStrokeColorDeviceCMYK sets the current stroke color using a device CMYK color + +.IP \(bu 5 +.PP +pdfioContentSetStrokeColorDeviceGray sets the current stroke color using a device gray color + +.IP \(bu 5 +.PP +pdfioContentSetStrokeColorDeviceRGB sets the current stroke color using a device RGB color + +.IP \(bu 5 +.PP +pdfioContentSetStrokeColorGray sets the current stroke color using a calibrated gray color + +.IP \(bu 5 +.PP +pdfioContentSetStrokeColorRGB sets the current stroke color using a calibrated RGB color + +.IP \(bu 5 +.PP +pdfioContentSetStrokeColorSpace sets the current stroke color space + +.IP \(bu 5 +.PP +pdfioContentSetTextCharacterSpacing sets the spacing between characters for text + +.IP \(bu 5 +.PP +pdfioContentSetTextFont sets the font and size for text + +.IP \(bu 5 +.PP +pdfioContentSetTextLeading sets the line height for text + +.IP \(bu 5 +.PP +pdfioContentSetTextMatrix concatenates a matrix with the current text matrix + +.IP \(bu 5 +.PP +pdfioContentSetTextRenderingMode sets the text rendering mode + +.IP \(bu 5 +.PP +pdfioContentSetTextRise adjusts the baseline for text + +.IP \(bu 5 +.PP +pdfioContentSetTextWordSpacing sets the spacing between words for text + +.IP \(bu 5 +.PP +pdfioContentSetTextXScaling sets the horizontal scaling for text + +.IP \(bu 5 +.PP +pdfioContentStroke strokes the current path + +.IP \(bu 5 +.PP +pdfioContentTextBegin begins a block of text + +.IP \(bu 5 +.PP +pdfioContentTextEnd ends a block of text + +.IP \(bu 5 +.PP +pdfioContentTextMoveLine moves to the next line with an offset in a text block + +.IP \(bu 5 +.PP +pdfioContentTextMoveTo moves within the current line in a text block + +.IP \(bu 5 +.PP +pdfioContentTextNextLine moves to the beginning of the next line in a text block + +.IP \(bu 5 +.PP +pdfioContentTextShow draws a literal string in a text block + +.IP \(bu 5 +.PP +pdfioContentTextShowf draws a formatted string in a text block + +.IP \(bu 5 +.PP +pdfioContentTextShowJustified draws an array of literal strings with offsets between them + + .SH ENUMERATIONS .SS pdfio_filter_e diff --git a/doc/pdfio.html b/doc/pdfio.html index 6c41d9b..0aee54d 100644 --- a/doc/pdfio.html +++ b/doc/pdfio.html @@ -783,7 +783,123 @@ pdfio_obj_t *img = pdfioFileCreateImageObjFromData(pdf, data, "myphoto.jpg", /*interpolate*/true);
PDF pages each have an associated dictionary to specify the images, fonts, and color spaces used by the page. PDFio provides functions to add these resources to the dictionary:
+pdfioPageDictAddColorSpace adds a named color space to the page dictionary
pdfioPageDictAddFont adds a named font to the page dictionary
pdfioPageDictAddImage adds a named image to the page dictionary
PDF page streams contain textual commands for drawing on the page. PDFio provides many functions for writing these commands with the correct format and escaping, as needed:
+pdfioContentClip clips future drawing to the current path
pdfioContentDrawImage draws an image object
pdfioContentFill fills the current path
pdfioContentFillAndStroke fills and strokes the current path
pdfioContentMatrixConcat concatenates a matrix with the current transform matrix
pdfioContentMatrixRotate concatenates a rotation matrix with the current transform matrix
pdfioContentMatrixScale concatenates a scaling matrix with the current transform matrix
pdfioContentMatrixTranslate concatenates a translation matrix with the current transform matrix
pdfioContentPathClose closes the current path
pdfioContentPathCurve appends a Bezier curve to the current path
pdfioContentPathCurve13 appends a Bezier curve with 2 control points to the current path
pdfioContentPathCurve23 appends a Bezier curve with 2 control points to the current path
pdfioContentPathLineTo appends a line to the current path
pdfioContentPathMoveTo moves the current point in the current path
pdfioContentPathRect appends a rectangle to the current path
pdfioContentRestore restores a previous graphics state
pdfioContentSave saves the current graphics state
pdfioContentSetDashPattern sets the line dash pattern
pdfioContentSetFillColorDeviceCMYK sets the current fill color using a device CMYK color
pdfioContentSetFillColorDeviceGray sets the current fill color using a device gray color
pdfioContentSetFillColorDeviceRGB sets the current fill color using a device RGB color
pdfioContentSetFillColorGray sets the current fill color using a calibrated gray color
pdfioContentSetFillColorRGB sets the current fill color using a calibrated RGB color
pdfioContentSetFillColorSpace sets the current fill color space
pdfioContentSetFlatness sets the flatness for curves
pdfioContentSetLineCap sets how the ends of lines are stroked
pdfioContentSetLineJoin sets how connections between lines are stroked
pdfioContentSetLineWidth sets the width of stroked lines
pdfioContentSetMiterLimit sets the miter limit for stroked lines
pdfioContentSetStrokeColorDeviceCMYK sets the current stroke color using a device CMYK color
pdfioContentSetStrokeColorDeviceGray sets the current stroke color using a device gray color
pdfioContentSetStrokeColorDeviceRGB sets the current stroke color using a device RGB color
pdfioContentSetStrokeColorGray sets the current stroke color using a calibrated gray color
pdfioContentSetStrokeColorRGB sets the current stroke color using a calibrated RGB color
pdfioContentSetStrokeColorSpace sets the current stroke color space
pdfioContentSetTextCharacterSpacing sets the spacing between characters for text
pdfioContentSetTextFont sets the font and size for text
pdfioContentSetTextLeading sets the line height for text
pdfioContentSetTextMatrix concatenates a matrix with the current text matrix
pdfioContentSetTextRenderingMode sets the text rendering mode
pdfioContentSetTextRise adjusts the baseline for text
pdfioContentSetTextWordSpacing sets the spacing between words for text
pdfioContentSetTextXScaling sets the horizontal scaling for text
pdfioContentStroke strokes the current path
pdfioContentTextBegin begins a block of text
pdfioContentTextEnd ends a block of text
pdfioContentTextMoveLine moves to the next line with an offset in a text block
pdfioContentTextMoveTo moves within the current line in a text block
pdfioContentTextNextLine moves to the beginning of the next line in a text block
pdfioContentTextShow draws a literal string in a text block
pdfioContentTextShowf draws a formatted string in a text block
pdfioContentTextShowJustified draws an array of literal strings with offsets between them
Add an array value to an array.
diff --git a/doc/pdfio.md b/doc/pdfio.md index 852d509..113651f 100644 --- a/doc/pdfio.md +++ b/doc/pdfio.md @@ -471,6 +471,90 @@ pdfio_obj_t *img = pdfioFileCreateImageObjFromFile(pdf, "myphoto.jpg", /*interpo ### Page Dictionary Functions +PDF pages each have an associated dictionary to specify the images, fonts, and color spaces used by the page. PDFio provides functions to add these resources +to the dictionary: + +- [`pdfioPageDictAddColorSpace`](@@) adds a named color space to the page dictionary +- [`pdfioPageDictAddFont`](@@) adds a named font to the page dictionary +- [`pdfioPageDictAddImage`](@@) adds a named image to the page dictionary + ### Page Stream Functions +PDF page streams contain textual commands for drawing on the page. PDFio +provides many functions for writing these commands with the correct format and +escaping, as needed: + +- [`pdfioContentClip`](@@) clips future drawing to the current path +- [`pdfioContentDrawImage`](@@) draws an image object +- [`pdfioContentFill`](@@) fills the current path +- [`pdfioContentFillAndStroke`](@@) fills and strokes the current path +- [`pdfioContentMatrixConcat`](@@) concatenates a matrix with the current + transform matrix +- [`pdfioContentMatrixRotate`](@@) concatenates a rotation matrix with the + current transform matrix +- [`pdfioContentMatrixScale`](@@) concatenates a scaling matrix with the + current transform matrix +- [`pdfioContentMatrixTranslate`](@@) concatenates a translation matrix with the + current transform matrix +- [`pdfioContentPathClose`](@@) closes the current path +- [`pdfioContentPathCurve`](@@) appends a Bezier curve to the current path +- [`pdfioContentPathCurve13`](@@) appends a Bezier curve with 2 control points + to the current path +- [`pdfioContentPathCurve23`](@@) appends a Bezier curve with 2 control points + to the current path +- [`pdfioContentPathLineTo`](@@) appends a line to the current path +- [`pdfioContentPathMoveTo`](@@) moves the current point in the current path +- [`pdfioContentPathRect`](@@) appends a rectangle to the current path +- [`pdfioContentRestore`](@@) restores a previous graphics state +- [`pdfioContentSave`](@@) saves the current graphics state +- [`pdfioContentSetDashPattern`](@@) sets the line dash pattern +- [`pdfioContentSetFillColorDeviceCMYK`](@@) sets the current fill color using a + device CMYK color +- [`pdfioContentSetFillColorDeviceGray`](@@) sets the current fill color using a + device gray color +- [`pdfioContentSetFillColorDeviceRGB`](@@) sets the current fill color using a + device RGB color +- [`pdfioContentSetFillColorGray`](@@) sets the current fill color using a + calibrated gray color +- [`pdfioContentSetFillColorRGB`](@@) sets the current fill color using a + calibrated RGB color +- [`pdfioContentSetFillColorSpace`](@@) sets the current fill color space +- [`pdfioContentSetFlatness`](@@) sets the flatness for curves +- [`pdfioContentSetLineCap`](@@) sets how the ends of lines are stroked +- [`pdfioContentSetLineJoin`](@@) sets how connections between lines are stroked +- [`pdfioContentSetLineWidth`](@@) sets the width of stroked lines +- [`pdfioContentSetMiterLimit`](@@) sets the miter limit for stroked lines +- [`pdfioContentSetStrokeColorDeviceCMYK`](@@) sets the current stroke color + using a device CMYK color +- [`pdfioContentSetStrokeColorDeviceGray`](@@) sets the current stroke color + using a device gray color +- [`pdfioContentSetStrokeColorDeviceRGB`](@@) sets the current stroke color + using a device RGB color +- [`pdfioContentSetStrokeColorGray`](@@) sets the current stroke color + using a calibrated gray color +- [`pdfioContentSetStrokeColorRGB`](@@) sets the current stroke color + using a calibrated RGB color +- [`pdfioContentSetStrokeColorSpace`](@@) sets the current stroke color space +- [`pdfioContentSetTextCharacterSpacing`](@@) sets the spacing between + characters for text +- [`pdfioContentSetTextFont`](@@) sets the font and size for text +- [`pdfioContentSetTextLeading`](@@) sets the line height for text +- [`pdfioContentSetTextMatrix`](@@) concatenates a matrix with the current text + matrix +- [`pdfioContentSetTextRenderingMode`](@@) sets the text rendering mode +- [`pdfioContentSetTextRise`](@@) adjusts the baseline for text +- [`pdfioContentSetTextWordSpacing`](@@) sets the spacing between words for text +- [`pdfioContentSetTextXScaling`](@@) sets the horizontal scaling for text +- [`pdfioContentStroke`](@@) strokes the current path +- [`pdfioContentTextBegin`](@@) begins a block of text +- [`pdfioContentTextEnd`](@@) ends a block of text +- [`pdfioContentTextMoveLine`](@@) moves to the next line with an offset in a + text block +- [`pdfioContentTextMoveTo`](@@) moves within the current line in a text block +- [`pdfioContentTextNextLine`](@@) moves to the beginning of the next line in a + text block +- [`pdfioContentTextShow`](@@) draws a literal string in a text block +- [`pdfioContentTextShowf`](@@) draws a formatted string in a text block +- [`pdfioContentTextShowJustified`](@@) draws an array of literal strings with + offsets between them diff --git a/pdfio.vcxproj b/pdfio.vcxproj index 92e93be..0cb5088 100644 --- a/pdfio.vcxproj +++ b/pdfio.vcxproj @@ -87,7 +87,7 @@