wxPdfDocument  0.9.6
Public Member Functions | Protected Member Functions | Friends | List of all members
wxPdfDocument Class Reference

Class representing a PDF document. More...

#include <pdfdocument.h>

Public Member Functions

 wxPdfDocument (int orientation=wxPORTRAIT, const wxString &unit=wxString(wxS("mm")), wxPaperSize format=wxPAPER_A4)
 Constructor. More...
 
 wxPdfDocument (int orientation, double pageWidth, double pageHeight, const wxString &unit=wxString(wxS("mm")))
 
virtual ~wxPdfDocument ()
 
virtual void SetProtection (int permissions, const wxString &userPassword=wxEmptyString, const wxString &ownerPassword=wxEmptyString, wxPdfEncryptionMethod encryptionMethod=wxPDF_ENCRYPTION_RC4V1, int keyLength=0)
 Set permissions as well as user and owner passwords. More...
 
virtual void SetImageScale (double scale)
 Set the image scale. More...
 
virtual double GetImageScale ()
 Returns the image scale. More...
 
virtual double GetPageWidth ()
 Returns the page width in units. More...
 
virtual double GetPageHeight ()
 Returns the page height in units. More...
 
virtual double GetBreakMargin ()
 Returns the page break margin. More...
 
virtual double GetScaleFactor ()
 Returns the scale factor (number of points in user unit). More...
 
virtual void SetMargins (double left, double top, double right=-1)
 Defines the left, top and right margins. More...
 
virtual void SetLeftMargin (double margin)
 Defines the left margin. More...
 
virtual double GetLeftMargin ()
 Returns the left margin. More...
 
virtual void SetTopMargin (double margin)
 Defines the top margin. More...
 
virtual double GetTopMargin ()
 Returns the top margin. More...
 
virtual void SetRightMargin (double margin)
 Defines the right margin. More...
 
virtual double GetRightMargin ()
 Returns the right margin. More...
 
virtual void SetCellMargin (double margin)
 Defines the cell margin. More...
 
virtual double GetCellMargin ()
 Returns the cell margin. More...
 
virtual void SetLineHeight (double height)
 Sets the height of a text line. More...
 
virtual double GetLineHeight ()
 Returns the height of a text line. More...
 
virtual void SetAutoPageBreak (bool autoPageBreak, double margin=0)
 Enables or disables the automatic page breaking mode. More...
 
virtual void SetDisplayMode (wxPdfZoom zoom, wxPdfLayout layout=wxPDF_LAYOUT_CONTINUOUS, double zoomFactor=100.)
 Defines the way the document is to be displayed by the viewer. More...
 
virtual void SetKerning (bool kerning)
 Enable or disable kerning. More...
 
virtual void SetCompression (bool compress)
 Activates or deactivates page compression. More...
 
virtual void SetViewerPreferences (int preferences=0)
 Defines the viewer preferences. More...
 
virtual void SetTitle (const wxString &title)
 Defines the title of the document. More...
 
virtual void SetSubject (const wxString &subject)
 Defines the subject of the document. More...
 
virtual void SetAuthor (const wxString &author)
 Defines the author of the document. More...
 
virtual void SetKeywords (const wxString &keywords)
 Associates keywords with the document,. More...
 
virtual void SetCreator (const wxString &creator)
 Defines the creator of the document. More...
 
virtual void SetCreationDate (const wxDateTime &creationDate)
 Defines the creation timestamp of the document. More...
 
virtual void AliasNbPages (const wxString &alias=wxString(wxS("{nb}")))
 Defines an alias for the total number of pages. More...
 
virtual void Open ()
 This method begins the generation of the PDF document. More...
 
virtual void Close ()
 Terminates the PDF document. More...
 
virtual void AddPage (int orientation=-1)
 Adds a new page to the document. More...
 
virtual void AddPage (int orientation, wxPaperSize format)
 
virtual void AddPage (int orientation, double pageWidth, double pageHeight)
 
virtual void Header ()
 This method is used to render the page header. More...
 
virtual void Footer ()
 This method is used to render the page footer. More...
 
virtual bool IsInFooter ()
 Returns whether footer output is in progress. More...
 
virtual int PageNo ()
 Returns the current page number. More...
 
virtual void AddSpotColour (const wxString &name, double cyan, double magenta, double yellow, double black)
 Add spot colour. More...
 
virtual bool AddPattern (const wxString &patternName, const wxImage &image, double width, double height)
 Add an image pattern. More...
 
virtual void SetDrawColour (const unsigned char grayscale)
 Defines the colour used for all drawing operations. More...
 
virtual void SetDrawColour (const wxColour &colour)
 Defines the colour used for all drawing operations. More...
 
virtual void SetDrawColour (const wxPdfColour &colour)
 Defines the colour used for all drawing operations. More...
 
virtual void SetDrawColour (const unsigned char red, const unsigned char green, const unsigned char blue)
 Defines the colour used for all drawing operations. More...
 
virtual void SetDrawColour (double cyan, double magenta, double yellow, double black)
 Defines the colour used for all drawing operations. More...
 
virtual void SetDrawColour (const wxString &name, double tint=100)
 Defines the spot colour used for all drawing operations. More...
 
virtual void SetDrawPattern (const wxString &name)
 Defines the pattern used for all drawing operations. More...
 
virtual const wxPdfColour GetDrawColour ()
 Gets the colour used for all drawing operations. More...
 
virtual void SetFillColour (const unsigned char grayscale)
 Defines the colour used for all filling operations. More...
 
virtual void SetFillColour (const wxColour &colour)
 Defines the colour used for all filling operations. More...
 
virtual void SetFillColour (const wxPdfColour &colour)
 Defines the colour used for all filling operations. More...
 
virtual void SetFillColour (const unsigned char red, const unsigned char green, const unsigned char blue)
 Defines the colour used for all filling operations. More...
 
virtual void SetFillColour (double cyan, double magenta, double yellow, double black)
 Defines the colour used for all filling operations. More...
 
virtual void SetFillColour (const wxString &name, double tint=100)
 Defines the spot colour used for all filling operations. More...
 
virtual void SetFillPattern (const wxString &name)
 Defines the pattern used for all filling operations. More...
 
virtual const wxPdfColour GetPatternColour (const wxString &patternName)
 Gets the named pattern as a colour. More...
 
virtual const wxPdfColour GetFillColour ()
 Gets the colour used for all filling operations. More...
 
virtual void SetTextColour (const unsigned char grayscale)
 Defines the colour used for text. More...
 
virtual void SetTextColour (const wxColour &colour)
 Defines the colour used for text. More...
 
virtual void SetTextColour (const wxPdfColour &colour)
 Defines the colour used for text. More...
 
virtual void SetTextColour (const unsigned char red, const unsigned char green, const unsigned char blue)
 Defines the colour used for text. More...
 
virtual void SetTextColour (double cyan, double magenta, double yellow, double black)
 Defines the colour used for text. More...
 
virtual void SetTextColour (const wxString &name, double tint=100)
 Defines the spot colour used for text. More...
 
virtual void SetTextPattern (const wxString &name)
 Defines the pattern used for text output. More...
 
virtual const wxPdfColour GetTextColour ()
 Gets the colour used for text output. More...
 
virtual void SetTextRenderMode (wxPdfTextRenderMode mode=wxPDF_TEXT_RENDER_FILL)
 Sets the text render mode. More...
 
virtual wxPdfTextRenderMode GetTextRenderMode () const
 Returns the text render mode. More...
 
virtual double GetStringWidth (const wxString &s)
 Returns the length of a string in user unit. More...
 
virtual void SetLineWidth (double width)
 Defines the line width. More...
 
virtual double GetLineWidth ()
 Gets the current line width. More...
 
virtual void SetLineStyle (const wxPdfLineStyle &linestyle)
 Sets line style. More...
 
virtual const wxPdfLineStyleGetLineStyle ()
 Get current line style. More...
 
virtual void SetFillingRule (int rule=wxWINDING_RULE)
 Set the filling rule. More...
 
virtual int GetFillingRule ()
 Get the current filling rule. More...
 
virtual void Line (double x1, double y1, double x2, double y2)
 Draws a line between two points. More...
 
virtual void Arrow (double x1, double y1, double x2, double y2, double linewidth, double height, double width)
 Draws an arrow line between two points. More...
 
virtual void Rect (double x, double y, double w, double h, int style=wxPDF_STYLE_DRAW)
 Outputs a rectangle. More...
 
virtual void RoundedRect (double x, double y, double w, double h, double r, int roundCorner=wxPDF_CORNER_ALL, int style=wxPDF_STYLE_DRAW)
 Draws a rounded rectangle. More...
 
virtual void Curve (double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3, int style=wxPDF_STYLE_DRAW)
 Draws a Bezier curve. More...
 
virtual void Ellipse (double x0, double y0, double rx, double ry=0, double angle=0, double astart=0, double afinish=360, int style=wxPDF_STYLE_DRAW, int nSeg=8, bool doSector=false)
 Draws an ellipse. More...
 
virtual void Circle (double x0, double y0, double r, double astart=0, double afinish=360, int style=wxPDF_STYLE_DRAW, int nSeg=8)
 Draws a circle. More...
 
virtual void Sector (double x0, double y0, double r, double astart, double afinish, int style=wxPDF_STYLE_FILLDRAW, bool clockwise=true, double origin=90.)
 Draws a sector. More...
 
virtual void Polygon (const wxPdfArrayDouble &x, const wxPdfArrayDouble &y, int style=wxPDF_STYLE_DRAW)
 Draws a polygon. More...
 
virtual void RegularPolygon (double x0, double y0, double r, int ns, double angle=0, bool circle=false, int style=wxPDF_STYLE_DRAW, int circleStyle=wxPDF_STYLE_DRAW, const wxPdfLineStyle &circleLineStyle=wxPdfLineStyle(), const wxPdfColour &circleFillColour=wxPdfColour())
 Draws a regular polygon. More...
 
virtual void StarPolygon (double x0, double y0, double r, int nv, int ng, double angle=0, bool circle=false, int style=wxPDF_STYLE_DRAW, int circleStyle=wxPDF_STYLE_DRAW, const wxPdfLineStyle &circleLineStyle=wxPdfLineStyle(), const wxPdfColour &circleFillColour=wxPdfColour())
 Draws a star polygon. More...
 
virtual void BezierSpline (const wxPdfArrayDouble &x, const wxPdfArrayDouble &y, int style)
 Draws a Bezier spline through a list of points. More...
 
virtual void ClosedBezierSpline (const wxPdfArrayDouble &x, const wxPdfArrayDouble &y, int style)
 Draws a closed Bezier spline through a list of points. More...
 
virtual void Shape (const wxPdfShape &shape, int style=wxPDF_STYLE_DRAW)
 Draws a shape. More...
 
virtual void Rotate (double angle, double x=-1, double y=-1)
 Performs a rotation around a given center. More...
 
virtual void SetFontSubsetting (bool fontSubsetting=true)
 Sets the font embedding mode. More...
 
virtual bool GetFontSubsetting () const
 Returns the font embedding mode. More...
 
virtual bool AddFont (const wxString &family, const wxString &style=wxEmptyString, const wxString &file=wxEmptyString)
 Imports a TrueType, TrueTypeUnicode or Type1 font and makes it available. More...
 
virtual bool AddFontCJK (const wxString &family)
 Imports a CJK (Chinese, Japanese or Korean) font and makes it available. More...
 
virtual bool SetFont (const wxString &family, const wxString &style=wxEmptyString, double size=0)
 Sets the font used to print character strings. More...
 
virtual bool SetFont (const wxString &family, int style, double size=0)
 Sets the font used to print character strings. More...
 
virtual bool SetFont (const wxPdfFont &font, int style=wxPDF_FONTSTYLE_REGULAR, double size=0)
 Sets the font used to print character strings based on a wxFont object. More...
 
virtual bool SetFont (const wxFont &font)
 Sets the font used to print character strings based on a wxFont object. More...
 
virtual void SetFontSize (double size)
 Defines the size of the current font. More...
 
virtual wxPdfFont GetCurrentFont () const
 Returns the current font. More...
 
virtual const wxPdfFontDescriptionGetFontDescription () const
 Returns the current font description instance. More...
 
virtual const wxString GetFontFamily ()
 Gets the font family of the current font. More...
 
virtual const wxString GetFontStyle () const
 Gets the style of the current font. More...
 
virtual int GetFontStyles () const
 Gets the style of the current font. More...
 
virtual double GetFontSize () const
 Gets the size of the current font. More...
 
virtual int AddLink ()
 Creates a new internal link and returns its identifier. More...
 
virtual bool SetLink (int link, double y=0., int page=-1)
 Defines the page and position a link points to. More...
 
virtual void Link (double x, double y, double w, double h, const wxPdfLink &link)
 Puts a link on a rectangular area of the page. More...
 
virtual void Bookmark (const wxString &txt, int level=0, double y=0)
 Adds a bookmark to the document outline. More...
 
virtual void Text (double x, double y, const wxString &txt)
 Prints a character string. More...
 
virtual void RotatedText (double x, double y, const wxString &txt, double angle)
 Prints a rotated text string. More...
 
virtual void RotatedText (double textX, double textY, double rotationX, double rotationY, const wxString &txt, double angle)
 Prints a rotated text string with explicit rotation center. More...
 
virtual bool AcceptPageBreak ()
 Whenever a page break condition is met,. More...
 
virtual void Cell (double w, double h=0., const wxString &txt=wxEmptyString, int border=wxPDF_BORDER_NONE, int ln=0, int align=wxPDF_ALIGN_LEFT, int fill=0, const wxPdfLink &link=wxPdfLink(-1))
 Prints a cell (rectangular area) with optional borders, background colour and character string. More...
 
virtual int MultiCell (double w, double h, const wxString &txt, int border=0, int align=wxPDF_ALIGN_JUSTIFY, int fill=0, int maxline=0)
 This method allows printing text with line breaks. More...
 
virtual int LineCount (double w, const wxString &txt)
 This method counts the number of lines a text would occupy in respect to a given maximal width. More...
 
virtual int TextBox (double w, double h, const wxString &txt, int halign=wxPDF_ALIGN_JUSTIFY, int valign=wxPDF_ALIGN_TOP, int border=0, int fill=0)
 This method counts the number of lines a text will occupy in respect to a given maximal width. More...
 
virtual void Write (double h, const wxString &txt, const wxPdfLink &link=wxPdfLink(-1))
 This method prints text from the current position. More...
 
virtual void WriteCell (double h, const wxString &txt, int border=wxPDF_BORDER_NONE, int fill=0, const wxPdfLink &link=wxPdfLink(-1))
 This method prints text with cell attributes from the current position. More...
 
virtual bool WriteGlyphArray (wxPdfArrayDouble &x, wxPdfArrayDouble &y, wxPdfArrayUint32 &glyphs)
 Prints an array of glyphs identified by glyph numbers from the current position. More...
 
virtual bool Image (const wxString &file, double x, double y, double w=0, double h=0, const wxString &mimeType=wxEmptyString, const wxPdfLink &link=wxPdfLink(-1), int maskImage=0)
 Puts an image in the page. More...
 
virtual bool Image (const wxString &name, const wxImage &image, double x, double y, double w=0, double h=0, const wxPdfLink &link=wxPdfLink(-1), int maskImage=0, bool jpegFormat=false, int jpegQuality=75)
 
virtual bool Image (const wxString &name, wxInputStream &stream, const wxString &mimeType, double x, double y, double w=0, double h=0, const wxPdfLink &link=wxPdfLink(-1), int maskImage=0)
 
virtual int ImageMask (const wxString &file, const wxString &mimeType=wxEmptyString)
 
virtual int ImageMask (const wxString &name, const wxImage &image)
 
virtual int ImageMask (const wxString &name, wxInputStream &stream, const wxString &mimeType)
 
virtual void RotatedImage (const wxString &file, double x, double y, double w, double h, double angle, const wxString &type=wxEmptyString, const wxPdfLink &link=wxPdfLink(-1), int maskImage=0)
 Puts a rotated image in the page. More...
 
virtual double GetLastImageBottomRightX ()
 Get x coordinate of bottom right corner of last inserted image. More...
 
virtual double GetLastImageBottomRightY ()
 Get y coordinate of bottom right corner of last inserted image. More...
 
virtual void Ln (double h=-1)
 Performs a line break. More...
 
virtual double GetX ()
 Returns the abscissa of the current position. More...
 
virtual void SetX (double x)
 Defines the abscissa of the current position. More...
 
virtual double GetY ()
 Returns the ordinate of the current position. More...
 
virtual void SetY (double y)
 Moves the current abscissa back to the left margin and sets the ordinate. More...
 
virtual void SetXY (double x, double y)
 Defines the abscissa and ordinate of the current position. More...
 
virtual bool SaveAsFile (const wxString &name=wxEmptyString)
 Saves the document to a file on disk. More...
 
virtual const wxMemoryOutputStream & CloseAndGetBuffer ()
 Closes the document and returns the memory buffer containing the document. More...
 
virtual void ClippingText (double x, double y, const wxString &txt, bool outline=false)
 Define text as clipping area. More...
 
virtual void ClippingRect (double x, double y, double w, double h, bool outline=false)
 Define rectangle as clipping area. More...
 
virtual void ClippingEllipse (double x, double y, double rx, double ry=0, bool outline=false)
 Define ellipse as clipping area. More...
 
virtual void ClippingPolygon (const wxPdfArrayDouble &x, const wxPdfArrayDouble &y, bool outline=false)
 Define polygon as clipping area. More...
 
virtual void ClippingPath ()
 Start defining a clipping path. More...
 
virtual void MoveTo (double x, double y)
 Begin a new subpath. More...
 
virtual void LineTo (double x, double y)
 Append a straight line segment to the current (sub)path. More...
 
virtual void CurveTo (double x1, double y1, double x2, double y2, double x3, double y3)
 Append a cubic Bezier curve to the current (sub)path. More...
 
virtual void EndPath (int style=wxPDF_STYLE_DRAW)
 End a graphics path. More...
 
virtual void ClosePath (int style=wxPDF_STYLE_NOOP)
 Close the clipping path. More...
 
virtual void ClippingPath (const wxPdfShape &shape, int style=wxPDF_STYLE_NOOP)
 Define clipping area using a shape. More...
 
virtual void UnsetClipping ()
 Remove clipping area. More...
 
virtual void ClippedCell (double w, double h=0., const wxString &txt=wxEmptyString, int border=wxPDF_BORDER_NONE, int ln=0, int align=wxPDF_ALIGN_LEFT, int fill=0, const wxPdfLink &link=wxPdfLink(-1))
 Prints a cell clipped to a rectangular area. More...
 
virtual void StartTransform ()
 Enters a transformation environment. More...
 
virtual bool ScaleX (double sx, double x=-1, double y=-1)
 Performs scaling in X direction only. More...
 
virtual bool ScaleY (double sy, double x=-1, double y=-1)
 Performs scaling in Y direction only. More...
 
virtual bool ScaleXY (double s, double x=-1, double y=-1)
 Performs equal scaling in X and Y direction. More...
 
virtual bool Scale (double sx, double sy, double x=-1, double y=-1)
 Performs scaling in X and Y direction. More...
 
virtual void MirrorH (double x=-1)
 Performs a horizontal mirroring transformation. More...
 
virtual void MirrorV (double y=-1)
 Performs a vertical mirroring transformation. More...
 
virtual void TranslateX (double tx)
 Moves the X origin. More...
 
virtual void TranslateY (double ty)
 Moves the Y origin. More...
 
virtual void Translate (double tx, double ty)
 Moves the origin. More...
 
virtual bool SkewX (double xAngle, double x=-1, double y=-1)
 Performs a skewing in both X direction only. More...
 
virtual bool SkewY (double yAngle, double x=-1, double y=-1)
 Performs a skewing in Y direction only. More...
 
virtual bool Skew (double xAngle, double yAngle, double x=-1, double y=-1)
 Performs a skewing in both X and Y directions. More...
 
virtual void Transform (double a, double b, double c, double d, double tx, double ty)
 
virtual void StopTransform ()
 Leaves a transformation environment. More...
 
virtual int SetAlpha (double lineAlpha=1, double fillAlpha=1, wxPdfBlendMode blendMode=wxPDF_BLENDMODE_NORMAL)
 Sets alpha values and blend mode. More...
 
virtual void SetAlphaState (int alphaState)
 Sets a previously defined alpha state. More...
 
virtual int LinearGradient (const wxPdfColour &col1, const wxPdfColour &col2, wxPdfLinearGradientType gradientType=wxPDF_LINEAR_GRADIENT_HORIZONTAL)
 Defines a linear gradient shading. More...
 
virtual int AxialGradient (const wxPdfColour &col1, const wxPdfColour &col2, double x1=0, double y1=0, double x2=1, double y2=0, double intexp=1)
 Defines a axial gradient shading. More...
 
virtual int MidAxialGradient (const wxPdfColour &col1, const wxPdfColour &col2, double x1=0, double y1=0, double x2=1, double y2=0, double midpoint=0.5, double intexp=1)
 Defines a axial gradient shading. More...
 
virtual int RadialGradient (const wxPdfColour &col1, const wxPdfColour &col2, double x1=0.5, double y1=0.5, double r1=0, double x2=0.5, double y2=0.5, double r2=1, double intexp=1)
 Defines a radial gradient shading. More...
 
virtual int CoonsPatchGradient (const wxPdfCoonsPatchMesh &mesh, double minCoord=0, double maxCoord=1)
 Defines a coons patch mesh gradient shading. More...
 
virtual void SetFillGradient (double x, double y, double w, double h, int gradient)
 Paints a gradient shading to rectangular area. More...
 
virtual void Marker (double x, double y, wxPdfMarker markerType, double size)
 Draws a graphical marker symbol. More...
 
virtual void Annotate (double x, double y, const wxString &text)
 Adds a text annotation. More...
 
virtual void AppendJavascript (const wxString &javascript)
 Appends Javascript. More...
 
virtual void WriteXml (const wxString &str)
 Prints a string containing simple XML markup. More...
 
virtual void CheckBox (const wxString &name, double width, bool checked=false)
 Adds a check box field at the current position. More...
 
virtual void CheckBox (const wxString &name, double x, double y, double width, bool checked=false)
 Adds a check box field. More...
 
virtual void ComboBox (const wxString &name, double width, double height, const wxArrayString &values)
 Adds a combo box field at the current position. More...
 
virtual void ComboBox (const wxString &name, double x, double y, double width, double height, const wxArrayString &values)
 Adds a combo box field. More...
 
virtual void PushButton (const wxString &name, double width, double height, const wxString &caption, const wxString &action)
 Adds a push button at the current position. More...
 
virtual void PushButton (const wxString &name, double x, double y, double width, double height, const wxString &caption, const wxString &action)
 Adds a push button. More...
 
virtual void RadioButton (const wxString &group, const wxString &name, double width)
 Adds a radio button at the current position. More...
 
virtual void RadioButton (const wxString &group, const wxString &name, double x, double y, double width)
 Adds a radio button. More...
 
virtual void TextField (const wxString &name, double width, double height, const wxString &value=wxEmptyString, bool multiline=false)
 Adds a text field at the current position. More...
 
virtual void TextField (const wxString &name, double x, double y, double width, double height, const wxString &value=wxEmptyString, bool multiline=false)
 Adds a text field. More...
 
virtual void SetFormColours (const wxPdfColour &borderColour=wxPdfColour(), const wxPdfColour &backgroundColour=wxPdfColour(250), const wxPdfColour &textColour=wxPdfColour())
 Sets colours for form fields. More...
 
virtual void SetFormBorderStyle (wxPdfBorderStyle borderStyle=wxPDF_BORDER_SOLID, double borderWidth=-1)
 Sets the border style for form fields. More...
 
virtual int BeginTemplate (double x=0, double y=0, double width=0, double height=0)
 Starts a new Template. More...
 
virtual int EndTemplate ()
 Terminates a template. More...
 
virtual void GetTemplateSize (int templateId, double &width, double &height)
 Get the calculated size of a template. More...
 
virtual void UseTemplate (int templateId, double x=-1, double y=-1, double width=0, double height=0)
 Uses a template in current page or in another template. More...
 
virtual int SetSourceFile (const wxString &filename, const wxString &password=wxEmptyString)
 Sets a source file for the external template feature. More...
 
virtual bool GetSourceInfo (wxPdfInfo &info)
 Gets the document information dictionary of the current external PDF document. More...
 
virtual int ImportPage (unsigned int pageno, wxPdfPageBox pageBox=wxPDF_PAGEBOX_ARTBOX)
 Imports a page from an external PDF document. More...
 
virtual void GetTemplateBBox (int templateId, double &x, double &y, double &width, double &height)
 Gets the bounding box of a template. More...
 
virtual void SetTemplateBBox (int templateId, double x, double y, double width, double height)
 Sets the bounding box of a template. More...
 
virtual void ShapedText (const wxPdfShape &shape, const wxString &text, wxPdfShapedTextMode mode=wxPDF_SHAPEDTEXTMODE_STRETCHTOFIT)
 Prints a text string along a path defined by a shape. More...
 
virtual wxPdfLayerAddLayer (const wxString &layerName)
 Add a layer. More...
 
virtual wxPdfLayerAddLayerTitle (const wxString &layerTitle)
 Add a title layer. More...
 
virtual wxPdfLayerMembershipAddLayerMembership ()
 Add a layer membership container. More...
 
virtual void LockLayer (wxPdfLayer *layer)
 Lock a layer. More...
 
virtual void AddLayerRadioGroup (const wxPdfLayerGroup &radioGroup)
 Add a radio group of layers. More...
 
virtual void EnterLayer (wxPdfLayer *layer)
 Enter a layer. More...
 
virtual void EnterLayer (wxPdfLayerMembership *layer)
 
virtual void LeaveLayer ()
 Leave a layer. More...
 
virtual bool AttachFile (const wxString &fileName, const wxString &attachName=wxEmptyString, const wxString &description=wxEmptyString)
 Attach file. More...
 
void SetMessageTranslateMode (bool translate)
 Set message translation mode. More...
 
bool GetMessageTranslateMode ()
 Get message translation mode. More...
 

Protected Member Functions

virtual void Initialize (int orientation)
 Initialize. More...
 
virtual void SaveGraphicState ()
 Save graphic state. More...
 
virtual void RestoreGraphicState ()
 Restore graphic state. More...
 
virtual void ClearGraphicState ()
 Clear graphic state. More...
 
virtual bool SelectFont (const wxString &family, const wxString &style=wxEmptyString, double size=0, bool setFont=true)
 Select font. More...
 
virtual bool SelectFont (const wxString &family, int style, double size=0, bool setFont=true)
 Select font. More...
 
virtual bool SelectFont (const wxFont &font, bool setFont=true)
 Select font based on wxFont object. More...
 
virtual bool SelectFont (const wxPdfFont &font, int style, double size=0, bool setFont=true)
 Select font based on wxFont object. More...
 
virtual void ForceCurrentFont ()
 Force selecting the current font. More...
 
virtual void SetFontSize (double size, bool setSize)
 Defines the size of the current font. More...
 
virtual wxString ApplyVisualOrdering (const wxString &txt)
 Apply visual ordering. More...
 
virtual double DoGetStringWidth (const wxString &s)
 Returns the length of a string in user unit. More...
 
virtual void DoCell (double w, double h=0., const wxString &txt=wxEmptyString, int border=wxPDF_BORDER_NONE, int ln=0, int align=wxPDF_ALIGN_LEFT, int fill=0, const wxPdfLink &link=wxPdfLink(-1))
 Prints a cell (rectangular area) with optional borders, background colour and character string. More...
 
virtual wxSize GetImageSize (const wxString &file, const wxString &mimeType=wxEmptyString)
 Get size of an image. More...
 
virtual void BeginPage (int orientation, wxSize pageSize)
 Start document. More...
 
virtual void EndPage ()
 End of page contents. More...
 
virtual void EndDoc ()
 End dociment. More...
 
virtual void PutHeader ()
 Add header. More...
 
virtual void PutPages ()
 Add pages. More...
 
virtual void ReplaceNbPagesAlias ()
 Replace page number aliases. More...
 
virtual void PutResources ()
 Add resources. More...
 
virtual void PutBookmarks ()
 Add bookmarks. More...
 
virtual void PutExtGStates ()
 Add extended graphics states. More...
 
virtual void PutShaders ()
 Add shaders. More...
 
virtual void PutFonts ()
 Adds fonts. More...
 
virtual void PutImages ()
 Add images. More...
 
virtual void PutTemplates ()
 Add templates. More...
 
virtual void PutImportedObjects ()
 Add imported objects. More...
 
virtual void WriteObjectValue (wxPdfObject *value, bool newline=true)
 
virtual void PutSpotColours ()
 Add spot colours. More...
 
virtual void PutPatterns ()
 Add patterns. More...
 
virtual void PutLayers ()
 Add layers. More...
 
void PutOCProperties ()
 Add optional content properties. More...
 
void PutOCGOrder (wxPdfLayer *layer)
 Add optional content order. More...
 
void PutASEvent (const wxString &situation, const wxString &category, bool &first)
 Add automatic state event. More...
 
virtual void PutJavaScript ()
 Add Javascript (document level) More...
 
virtual void PutFiles ()
 Add attached files. More...
 
virtual void PutResourceDict ()
 Add resource dictionary. More...
 
virtual void PutEncryption ()
 Add encryption info. More...
 
virtual void PutFormFields ()
 Add form fields. More...
 
virtual void PutInfo ()
 Add info. More...
 
virtual void PutCatalog ()
 Addcatalog. More...
 
virtual void PutXObjectDict ()
 Add object dictionary. More...
 
virtual void PutTrailer ()
 Add trailer. More...
 
size_t CalculateStreamLength (size_t len)
 Calculate stream size. More...
 
size_t CalculateStreamOffset ()
 Calculate stream offset. More...
 
int GetNewObjId ()
 Get new object id. More...
 
void NewObj (int objId=0)
 Begin a new object. More...
 
wxString DoDecoration (double x, double y, const wxString &txt)
 Decorate text. More...
 
void ShowText (const wxString &txt)
 Show text string, with kerning if requested. More...
 
void ShowGlyph (wxUint32 glyph)
 Show a single glyph. More...
 
void TextEscape (const wxString &s, bool newline=true)
 Format a text string. More...
 
void PutStream (wxMemoryOutputStream &s)
 Add byte stream. More...
 
void OutTextstring (const wxString &s, bool newline=true)
 Add a text string to the document. More...
 
void OutRawTextstring (const wxString &s, bool newline=true)
 Add a raw text string to the document (without charset conversion) More...
 
void OutHexTextstring (const wxString &s, bool newline=true)
 Add a hex text string to the document (without charset conversion) More...
 
void OutAsciiTextstring (const wxString &s, bool newline=true)
 Add an ASCII text string to the document. More...
 
void OutEscape (const char *s, size_t len)
 Add \ before \, ( and ) More...
 
void OutAscii (const wxString &s, bool newline=true)
 Add ASCII string. More...
 
void Out (const char *s, bool newline=true)
 Add character string. More...
 
void Out (const char *s, size_t len, bool newline=true)
 Add len characters. More...
 
void OutPoint (double x, double y)
 Sets a draw point. More...
 
void OutPointRelative (double dx, double dy)
 Sets a draw point relative to current position. More...
 
void OutLine (double x, double y)
 Draws a line from last draw point. More...
 
void OutLineRelative (double dx, double dy)
 Draws a line relative from last draw point. More...
 
void OutCurve (double x1, double y1, double x2, double y2, double x3, double y3)
 Draws a Bézier curve from last draw point. More...
 
void Transform (double tm[6])
 Perform transformation. More...
 
void AddFormField (wxPdfAnnotationWidget *field, bool setFormField=true)
 Adds a form field to the document. More...
 
void OutIndirectObject (wxPdfIndirectObject *object)
 Add an indirect object to the document. More...
 
void OutImage (wxPdfImage *currentImage, double x, double y, double w, double h, const wxPdfLink &link)
 Add an image object to the document. More...
 
void WriteXml (wxXmlNode *node)
 Write XML using XML node. More...
 
void PrepareXmlCell (wxXmlNode *node, wxPdfCellContext &context)
 Prepare an XML cell for output. More...
 
void WriteXmlCell (wxXmlNode *node, wxPdfCellContext &context)
 Output a prepared XML cell. More...
 
void DoXmlAlign (wxPdfCellContext &context)
 Take alignment of an XML cell into account. More...
 
void PrepareXmlTable (wxXmlNode *node, wxPdfCellContext &context)
 Prepare an XML table for output. More...
 
void WriteXmlTable (wxPdfCellContext &context)
 Output a prepared XML table. More...
 
void SetScaleFactor (const wxString &unit)
 Set internal scale factor. More...
 
wxSize CalculatePageSize (wxPaperSize format)
 
wxSize CalculatePageSize (double pageWidth, double pageHeight)
 
virtual void AddPage (int orientation, wxSize pageSize)
 
void LoadZapfDingBats ()
 

Friends

class wxPdfImage
 
class wxPdfTable
 

Detailed Description

Class representing a PDF document.

Constructor & Destructor Documentation

◆ wxPdfDocument() [1/2]

wxPdfDocument::wxPdfDocument ( int  orientation = wxPORTRAIT,
const wxString &  unit = wxString(wxS("mm")),
wxPaperSize  format = wxPAPER_A4 
)

Constructor.

Parameters
orientationDefines the default page orientation. Possible values are:
  • wxPORTRAIT portrait layout (default)
  • wxLANDSCAPE landscape layout
unitDefines the user units. Possible values are:
  • "mm" millimeter (1 mm = 0.0394 in = 2.833 pt = 0.1 cm) (default)
  • "cm" centimeter (1 cm = 0.394 in = 28.33 pt = 10 mm)
  • "pt" points (1 pt = 1/72 in = 0.0353 cm = 0.353 mm)
  • "in" inch (1 in = 72 pt = 2.54 cm = 25.4 mm)
formatDefines the page format. All known wxWidgets paper types are allowed. (Default: wxPAPER_A4)

◆ wxPdfDocument() [2/2]

wxPdfDocument::wxPdfDocument ( int  orientation,
double  pageWidth,
double  pageHeight,
const wxString &  unit = wxString(wxS("mm")) 
)

◆ ~wxPdfDocument()

virtual wxPdfDocument::~wxPdfDocument ( )
virtual

Member Function Documentation

◆ AcceptPageBreak()

virtual bool wxPdfDocument::AcceptPageBreak ( )
virtual

Whenever a page break condition is met,.

Whenever a page break condition is met, the method is called, and the break is issued or not depending on the returned value. The default implementation returns a value according to the mode selected by SetAutoPageBreak()

This method is called automatically and should not be called directly by the application.

Returns
boolean
See also
SetAutoPageBreak()

◆ AddFont()

virtual bool wxPdfDocument::AddFont ( const wxString &  family,
const wxString &  style = wxEmptyString,
const wxString &  file = wxEmptyString 
)
virtual

Imports a TrueType, TrueTypeUnicode or Type1 font and makes it available.

It is necessary to generate a font definition file first with the makefont utility. The definition file (and the font file itself when embedding) must be present either in the subdirectory 'fonts' of the current working directory or in the one indicated by WXPDF_FONTPATH if this environment variable is defined.

Parameters
familyFont family. The name can be chosen arbitrarily. If it is a standard family name, it will override the corresponding font.
styleFont style. Possible values are (case insensitive):
  • empty string: regular (default)
  • B: bold
  • I: italic
  • BI or IB: bold italic
fileThe font definition file. By default, the name is built from the family and style, in lower case with no space.
See also
SetFont()
Deprecated:
use the wxPdfFontManager to register fonts for use in creating PDF documents

◆ AddFontCJK()

virtual bool wxPdfDocument::AddFontCJK ( const wxString &  family)
virtual

Imports a CJK (Chinese, Japanese or Korean) font and makes it available.

It is necessary to generate a font definition file first with the makefont utility. The definition file (and the font file itself when embedding) must be present either in the current directory or in the one indicated by WXPDF_FONTPATH if the constant is defined.

Parameters
familyFont family. The name can be chosen arbitrarily. If it is a standard family name, it will override the corresponding font.

All font styles (regular, bold, italic and bold-italic) are made available The font definition file name is built from the family in lower case with no space. There are several predefined font definition files available:

  • BIG5 Chinese (traditional)
  • BIG5-HW Chinese (traditional) half-width ASCII characters
  • GB Chinese (simplified)
  • GB-HW Chinese (simplified) half-width ASCII characters
  • SJIS Japanese
  • SJIS-HW Japanese, half-width ASCII characters
  • UHC Korean
  • UHC-HW Korean, half-width ASCII characters

These fonts require that the Adobe CJK font support is installed

See also
SetFont()
Deprecated:
use the wxPdfFontManager to register fonts for use in creating PDF documents

◆ AddFormField()

void wxPdfDocument::AddFormField ( wxPdfAnnotationWidget field,
bool  setFormField = true 
)
protected

Adds a form field to the document.

◆ AddLayer()

virtual wxPdfLayer* wxPdfDocument::AddLayer ( const wxString &  layerName)
virtual

Add a layer.

An optional content group represents a collection of graphics that can be made visible or invisible dynamically by users of viewer applications. In wxPdfDocument they are referenced as layers.

Parameters
layerNamethe name of the layer
Returns
a reference to the new layer

◆ AddLayerMembership()

virtual wxPdfLayerMembership* wxPdfDocument::AddLayerMembership ( )
virtual

Add a layer membership container.

Content typically belongs to a single optional content group, and is visible when the group is ON and invisible when it is OFF. To express more complex visibility policies, content should not declare itself to belong to an optional content group directly, but rather to an optional content membership container.

Returns
a reference to the new layer membership container

◆ AddLayerRadioGroup()

virtual void wxPdfDocument::AddLayerRadioGroup ( const wxPdfLayerGroup radioGroup)
virtual

Add a radio group of layers.

Use this method to set a collection of optional content groups whose states are intended to follow a "radio button" paradigm. That is, the state of at most one optional content group in the array should be ON at a time: if one group is turned ON, all others must be turned OFF.

Parameters
radioGroupthe radio group

◆ AddLayerTitle()

virtual wxPdfLayer* wxPdfDocument::AddLayerTitle ( const wxString &  layerTitle)
virtual

Add a title layer.

Creates a title layer. A title layer is not really a layer but a collection of layers under the same title heading.

Parameters
layerTitlethe title text
Returns
a reference to the title layer

◆ AddLink()

virtual int wxPdfDocument::AddLink ( )
virtual

Creates a new internal link and returns its identifier.

An internal link is a clickable area which directs to another place within the document. The identifier can then be passed to Cell(), Write(), Image() or Link(). The destination is defined with SetLink().

See also
Cell(), Write(), Image(), Link(), SetLink()

◆ AddPage() [1/4]

virtual void wxPdfDocument::AddPage ( int  orientation = -1)
virtual

Adds a new page to the document.

If a page is already present, the Footer() method is called first to output the footer. Then the page is added, the current position set to the top-left corner according to the left and top margins, and Header() is called to display the header. The font which was set before calling is automatically restored. There is no need to call SetFont() again if you want to continue with the same font. The same is true for colours and line width. The origin of the coordinate system is at the top-left corner and increasing ordinates go downwards.

Parameters
orientationPage orientation. Possible values are:
  • wxPORTRAIT
  • wxLANDSCAPE The default value is the one passed to the constructor.
See also
FPDF(), Header(), Footer(), SetMargins()

◆ AddPage() [2/4]

virtual void wxPdfDocument::AddPage ( int  orientation,
wxPaperSize  format 
)
virtual

◆ AddPage() [3/4]

virtual void wxPdfDocument::AddPage ( int  orientation,
double  pageWidth,
double  pageHeight 
)
virtual

◆ AddPage() [4/4]

virtual void wxPdfDocument::AddPage ( int  orientation,
wxSize  pageSize 
)
protectedvirtual

◆ AddPattern()

virtual bool wxPdfDocument::AddPattern ( const wxString &  patternName,
const wxImage &  image,
double  width,
double  height 
)
virtual

Add an image pattern.

Add a pattern which can be reference in draw or fill pattern methods

Parameters
patternNamethe name of the pattern (case sensitive)
imagethe image to use for the pattern
widththe display width
heightthe display height

◆ AddSpotColour()

virtual void wxPdfDocument::AddSpotColour ( const wxString &  name,
double  cyan,
double  magenta,
double  yellow,
double  black 
)
virtual

Add spot colour.

Add a spot colour which can be referenced in colour setting methods

Parameters
namethe name of the spot colour (case sensitive)
cyanindicates the cyan level. Value between 0 and 100
magentaindicates the magenta level. Value between 0 and 100
yellowindicates the yellow level. Value between 0 and 100
blackindicates the black level. Value between 0 and 100
See also
SetDrawColour(), SetFillColour(), SetTextColour(), Line(), Rect(), Cell(), MultiCell()

◆ AliasNbPages()

virtual void wxPdfDocument::AliasNbPages ( const wxString &  alias = wxString(wxS("{nb}")))
virtual

Defines an alias for the total number of pages.

It will be substituted as the document is closed.

Parameters
aliasThe alias. Default value: {nb}.
See also
PageNo(), Footer()

◆ Annotate()

virtual void wxPdfDocument::Annotate ( double  x,
double  y,
const wxString &  text 
)
virtual

Adds a text annotation.

Parameters
xabscissa of the annotation symbol
yordinate of the annotation symbol
textannotation text

◆ AppendJavascript()

virtual void wxPdfDocument::AppendJavascript ( const wxString &  javascript)
virtual

Appends Javascript.

Allows to append Javascript code to a Javascript object at the document level.

Parameters
javascriptJavascript code to be appended

◆ ApplyVisualOrdering()

virtual wxString wxPdfDocument::ApplyVisualOrdering ( const wxString &  txt)
protectedvirtual

Apply visual ordering.

◆ Arrow()

virtual void wxPdfDocument::Arrow ( double  x1,
double  y1,
double  x2,
double  y2,
double  linewidth,
double  height,
double  width 
)
virtual

Draws an arrow line between two points.

Parameters
x1Abscissa of first point
y1Ordinate of first point
x2Abscissa of second point
y2Ordinate of second point
linewidthline width
heightheight of the arrow head
widthwidth of the arrow head
See also
SetLineWidth(), SetDrawColour(), SetFillColour()

◆ AttachFile()

virtual bool wxPdfDocument::AttachFile ( const wxString &  fileName,
const wxString &  attachName = wxEmptyString,
const wxString &  description = wxEmptyString 
)
virtual

Attach file.

Attaches a file to the PDF document.

Parameters
fileNamepath to the file to attach
attachNamethe name under which the file will be attached (dfeault: filename)
descriptionan optional description

◆ AxialGradient()

virtual int wxPdfDocument::AxialGradient ( const wxPdfColour col1,
const wxPdfColour col2,
double  x1 = 0,
double  y1 = 0,
double  x2 = 1,
double  y2 = 0,
double  intexp = 1 
)
virtual

Defines a axial gradient shading.

Parameters
col1first colour (RGB or CMYK).
col2second colour (RGB or CMYK).
x1start point of gradient vector, default: 0 (range 0 .. 1)
y1start point of gradient vector, default: 0 (range 0 .. 1)
x2end point of gradient vector, default: 1 (range 0 .. 1)
y2end point of gradient vector, default: 0 (range 0 .. 1)
intexpinterpolation exponent, default: 1

◆ BeginPage()

virtual void wxPdfDocument::BeginPage ( int  orientation,
wxSize  pageSize 
)
protectedvirtual

Start document.

◆ BeginTemplate()

virtual int wxPdfDocument::BeginTemplate ( double  x = 0,
double  y = 0,
double  width = 0,
double  height = 0 
)
virtual

Starts a new Template.

Starts a new template, optionally with own dimensions. The margins have to adapted to the new template size. For writing outside the template, for example to build a clipped template, the margins and "cursor" position have to be set manually after the call to BeginTemplate().

If no dimensions are given, the template uses the current page size. The method returns the ID of the current template. The ID is used to reference a template in the UseTemplate() method. Warning: A template once created is embedded in the resulting PDF document at all events, even if it is not used.

Parameters
xThe x-coordinate given in user units
yThe y-coordinate given in user units
widthThe width given in user units
heightThe height given in user units
Returns
int The ID of the created template
See also
EndTemplate(), UseTemplate()

Attention: Calls to BeginTemplate can not be nested!

◆ BezierSpline()

virtual void wxPdfDocument::BezierSpline ( const wxPdfArrayDouble &  x,
const wxPdfArrayDouble &  y,
int  style 
)
virtual

Draws a Bezier spline through a list of points.

Parameters
xArray with abscissa values
yArray with ordinate values
styleStyle of the spline (draw and/or fill)

◆ Bookmark()

virtual void wxPdfDocument::Bookmark ( const wxString &  txt,
int  level = 0,
double  y = 0 
)
virtual

Adds a bookmark to the document outline.

Parameters
txtthe bookmark title.
levelthe bookmark level (0 is top level, 1 is just below, and so on).
ythe y position of the bookmark destination in the current page. -1 means the current position. Default value: 0.

◆ CalculatePageSize() [1/2]

wxSize wxPdfDocument::CalculatePageSize ( wxPaperSize  format)
protected

◆ CalculatePageSize() [2/2]

wxSize wxPdfDocument::CalculatePageSize ( double  pageWidth,
double  pageHeight 
)
protected

◆ CalculateStreamLength()

size_t wxPdfDocument::CalculateStreamLength ( size_t  len)
protected

Calculate stream size.

◆ CalculateStreamOffset()

size_t wxPdfDocument::CalculateStreamOffset ( )
protected

Calculate stream offset.

◆ Cell()

virtual void wxPdfDocument::Cell ( double  w,
double  h = 0.,
const wxString &  txt = wxEmptyString,
int  border = wxPDF_BORDER_NONE,
int  ln = 0,
int  align = wxPDF_ALIGN_LEFT,
int  fill = 0,
const wxPdfLink link = wxPdfLink(-1) 
)
virtual

Prints a cell (rectangular area) with optional borders, background colour and character string.

The upper-left corner of the cell corresponds to the current position. The text can be aligned or centered. After the call, the current position moves to the right or to the next line. It is possible to put a link on the text. If automatic page breaking is enabled and the cell goes beyond the limit, a page break is done before outputting.

Parameters
wCell width. If 0, the cell extends up to the right margin.
hCell height. Default value: 0.
txtString to print. Default value: empty string.
borderIndicates if borders must be drawn around the cell. The value can be
  • wxPDF_BORDER_NONE no border
  • wxPDF_BORDER_LEFT left border
  • wxPDF_BORDER_RIGHT right border
  • wxPDF_BORDER_TOP top border
  • wxPDF_BORDER_BOTTOM bottom border
  • wxPDF_BORDER_FRAME border on all sides
or a combination of them.
lnIndicates where the current position should go after the call. Possible values are:
  • 0: to the right
  • 1: to the beginning of the next line
  • 2: below
Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0.
alignAllows to center or align the text. Possible values are:
  • L or empty string: left align (default value)
  • C: center
  • R: right align
  • wxPDF_ALIGN_LEFT align the text at the left margin
  • wxPDF_ALIGN_CENTER center the text
  • wxPDF_ALIGN_RIGHT align the text at the right margin
  • wxPDF_ALIGN_JUSTIFY justify the text
fillIndicates if the cell background must be painted (1) or transparent (0). Default value: 0.
linkURL or identifier returned by AddLink().
See also
SetFont(), SetDrawColour(), SetFillColour(), SetTextColour(), SetLineWidth(), AddLink(), Ln(), MultiCell(), Write(), SetAutoPageBreak()

◆ CheckBox() [1/2]

virtual void wxPdfDocument::CheckBox ( const wxString &  name,
double  width,
bool  checked = false 
)
virtual

Adds a check box field at the current position.

Adds a check box to the list of form fields at the current position

Parameters
namefield name of the check box
widthwidth of the check box
checkeddefault value of the check box

◆ CheckBox() [2/2]

virtual void wxPdfDocument::CheckBox ( const wxString &  name,
double  x,
double  y,
double  width,
bool  checked = false 
)
virtual

Adds a check box field.

Adds a check box to the list of form fields

Parameters
namefield name of the check box
xabscissa of the check box position
yordinate of the check box position
widthwidth of the check box
checkeddefault value of the check box

◆ Circle()

virtual void wxPdfDocument::Circle ( double  x0,
double  y0,
double  r,
double  astart = 0,
double  afinish = 360,
int  style = wxPDF_STYLE_DRAW,
int  nSeg = 8 
)
virtual

Draws a circle.

Parameters
x0Abscissa of Center point
y0Ordinate of Center point
rRadius
astartStart angle
afinishFinish angle
styleStyle of rectangle (draw and/or fill)
nSegCircle is made up of nSeg Bezier curves

◆ ClearGraphicState()

virtual void wxPdfDocument::ClearGraphicState ( )
protectedvirtual

Clear graphic state.

◆ ClippedCell()

virtual void wxPdfDocument::ClippedCell ( double  w,
double  h = 0.,
const wxString &  txt = wxEmptyString,
int  border = wxPDF_BORDER_NONE,
int  ln = 0,
int  align = wxPDF_ALIGN_LEFT,
int  fill = 0,
const wxPdfLink link = wxPdfLink(-1) 
)
virtual

Prints a cell clipped to a rectangular area.

The upper-left corner of the cell corresponds to the current position. The text can be aligned or centered. After the call, the current position moves to the right or to the next line. It is possible to put a link on the text. If automatic page breaking is enabled and the cell goes beyond the limit, a page break is done before outputting.

Parameters
wCell width.
hCell height.
txtString to print. Default value: empty string.
borderIndicates if borders must be drawn around the cell. The value can be
  • wxPDF_BORDER_NONE no border
  • wxPDF_BORDER_LEFT left border
  • wxPDF_BORDER_RIGHT right border
  • wxPDF_BORDER_TOP top border
  • wxPDF_BORDER_BOTTOM bottom border
  • wxPDF_BORDER_FRAME border on all sides
or a combination of them.
lnIndicates where the current position should go after the call. Possible values are:
  • 0: to the right
  • 1: to the beginning of the next line
  • 2: below
Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0.
alignAllows to center or align the text. Possible values are:
  • L or empty string: left align (default value)
  • C: center
  • R: right align
  • wxPDF_ALIGN_LEFT align the text at the left margin
  • wxPDF_ALIGN_CENTER center the text
  • wxPDF_ALIGN_RIGHT align the text at the right margin
  • wxPDF_ALIGN_JUSTIFY justify the text
fillIndicates if the cell background must be painted (1) or transparent (0). Default value: 0.
linkURL or identifier returned by AddLink().
See also
SetFont(), SetDrawColour(), SetFillColour(), SetTextColour(), SetLineWidth(), AddLink(), Ln(), MultiCell(), Write(), SetAutoPageBreak()

◆ ClippingEllipse()

virtual void wxPdfDocument::ClippingEllipse ( double  x,
double  y,
double  rx,
double  ry = 0,
bool  outline = false 
)
virtual

Define ellipse as clipping area.

A clipping area restricts the display and prevents any elements from showing outside of it.

Parameters
xAbscissa of the Center point
yOrdinate of the Center point
rxHorizontal radius
ryVertical radius (if ry = 0, draws a circle)
outlineDraw the outline or not. (Default false)

◆ ClippingPath() [1/2]

virtual void wxPdfDocument::ClippingPath ( )
virtual

Start defining a clipping path.

A clipping area restricts the display and prevents any elements from showing outside of it. The clipping path may consist of one or more subpaths.

◆ ClippingPath() [2/2]

virtual void wxPdfDocument::ClippingPath ( const wxPdfShape shape,
int  style = wxPDF_STYLE_NOOP 
)
virtual

Define clipping area using a shape.

A clipping area restricts the display and prevents any elements from showing outside of it.

Parameters
shapeshape defining the clipping path
styleStyle of rendering. Possible values are:
  • wxPDF_STYLE_NOOP (default)
  • wxPDF_STYLE_DRAW: draw the outline of the clipping path
  • wxPDF_STYLE_FILL: fill the area enclosed by the clipping path
  • wxPDF_STYLE_FILLDRAW: draw and fill

◆ ClippingPolygon()

virtual void wxPdfDocument::ClippingPolygon ( const wxPdfArrayDouble &  x,
const wxPdfArrayDouble &  y,
bool  outline = false 
)
virtual

Define polygon as clipping area.

A clipping area restricts the display and prevents any elements from showing outside of it.

Parameters
xArray with abscissa values
yArray with ordinate values
outlineDraw the outline or not. (Default false)

◆ ClippingRect()

virtual void wxPdfDocument::ClippingRect ( double  x,
double  y,
double  w,
double  h,
bool  outline = false 
)
virtual

Define rectangle as clipping area.

A clipping area restricts the display and prevents any elements from showing outside of it.

Parameters
xAbscissa of the upper-left corner
yOrdinate of the upper-left corner
wWidth of the rectangle
hHeight of the rectangle
outlineDraw the outline or not.

◆ ClippingText()

virtual void wxPdfDocument::ClippingText ( double  x,
double  y,
const wxString &  txt,
bool  outline = false 
)
virtual

Define text as clipping area.

A clipping area restricts the display and prevents any elements from showing outside of it.

Parameters
xAbscissa of the origin
yOrdinate of the origin
txtString to print
outlineDraw the outline or not.

◆ Close()

virtual void wxPdfDocument::Close ( )
virtual

Terminates the PDF document.

It is not necessary to call this method explicitly because SaveAsFile() does it automatically. If the document contains no page, AddPage() is called to prevent from getting an invalid document.

See also
Open(), SaveAsFile()

◆ CloseAndGetBuffer()

virtual const wxMemoryOutputStream& wxPdfDocument::CloseAndGetBuffer ( )
virtual

Closes the document and returns the memory buffer containing the document.

The method first calls Close() if necessary to terminate the document.

Returns
const wxMemoryOutputStream reference to the buffer containing the PDF document.
See also
Close()

◆ ClosedBezierSpline()

virtual void wxPdfDocument::ClosedBezierSpline ( const wxPdfArrayDouble &  x,
const wxPdfArrayDouble &  y,
int  style 
)
virtual

Draws a closed Bezier spline through a list of points.

Parameters
xArray with abscissa values
yArray with ordinate values
styleStyle of the spline (draw and/or fill)

◆ ClosePath()

virtual void wxPdfDocument::ClosePath ( int  style = wxPDF_STYLE_NOOP)
virtual

Close the clipping path.

A clipping area restricts the display and prevents any elements from showing outside of it.

Parameters
styleStyle of rendering. Possible values are:
  • wxPDF_STYLE_NOOP (default)
  • wxPDF_STYLE_DRAW: draw the outline of the clipping path
  • wxPDF_STYLE_FILL: fill the area enclosed by the clipping path
  • wxPDF_STYLE_FILLDRAW: draw and fill

◆ ComboBox() [1/2]

virtual void wxPdfDocument::ComboBox ( const wxString &  name,
double  width,
double  height,
const wxArrayString &  values 
)
virtual

Adds a combo box field at the current position.

Adds a combo box to the list of form fields at the current position

Parameters
namefield name of the combo box
widthwidth of the combo box
heightheight of the combo box
valuesarray of option values of the combo box

◆ ComboBox() [2/2]

virtual void wxPdfDocument::ComboBox ( const wxString &  name,
double  x,
double  y,
double  width,
double  height,
const wxArrayString &  values 
)
virtual

Adds a combo box field.

Adds a combo box to the list of form fields

Parameters
namefield name of the combo box
xabscissa of the combo box position
yordinate of the combo box position
widthwidth of the combo box
heightheight of the combo box
valuesarray of option values of the combo box

◆ CoonsPatchGradient()

virtual int wxPdfDocument::CoonsPatchGradient ( const wxPdfCoonsPatchMesh mesh,
double  minCoord = 0,
double  maxCoord = 1 
)
virtual

Defines a coons patch mesh gradient shading.

Parameters
meshcoons patch mesh to be used for the gradient
minCoordminimal coordinate of the mesh
maxCoordmaximal coordinate of the mesh

◆ Curve()

virtual void wxPdfDocument::Curve ( double  x0,
double  y0,
double  x1,
double  y1,
double  x2,
double  y2,
double  x3,
double  y3,
int  style = wxPDF_STYLE_DRAW 
)
virtual

Draws a Bezier curve.

A Bezier curve is tangent to the line between the control points at either end of the curve.

Parameters
x0Abscissa of start point
y0Ordinate of start point
x1Abscissa of control point 1
y1Ordinate of control point 1
x2Abscissa of control point 2
y2Ordinate of control point 2
x3Abscissa of end point
y3Ordinate of end point
styleStyle of rectangle (draw and/or fill)

◆ CurveTo()

virtual void wxPdfDocument::CurveTo ( double  x1,
double  y1,
double  x2,
double  y2,
double  x3,
double  y3 
)
virtual

Append a cubic Bezier curve to the current (sub)path.

Append a cubic Bezier curve to the current path. The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the Bézier control points. The new current point is (x3, y3).

Parameters
x1Abscissa of control point 1
y1Ordinate of control point 1
x2Abscissa of control point 2
y2Ordinate of control point 2
x3Abscissa of end point
y3Ordinate of end point

◆ DoCell()

virtual void wxPdfDocument::DoCell ( double  w,
double  h = 0.,
const wxString &  txt = wxEmptyString,
int  border = wxPDF_BORDER_NONE,
int  ln = 0,
int  align = wxPDF_ALIGN_LEFT,
int  fill = 0,
const wxPdfLink link = wxPdfLink(-1) 
)
protectedvirtual

Prints a cell (rectangular area) with optional borders, background colour and character string.

Note
This method expects the text already to be preprocessed in respect to visual layout.

◆ DoDecoration()

wxString wxPdfDocument::DoDecoration ( double  x,
double  y,
const wxString &  txt 
)
protected

Decorate text.

◆ DoGetStringWidth()

virtual double wxPdfDocument::DoGetStringWidth ( const wxString &  s)
protectedvirtual

Returns the length of a string in user unit.

A font must be selected.

Parameters
sThe string whose length is to be computed
Returns
int
Note
This method expects the text already to be preprocessed in respect to visual layout.

◆ DoXmlAlign()

void wxPdfDocument::DoXmlAlign ( wxPdfCellContext context)
protected

Take alignment of an XML cell into account.

◆ Ellipse()

virtual void wxPdfDocument::Ellipse ( double  x0,
double  y0,
double  rx,
double  ry = 0,
double  angle = 0,
double  astart = 0,
double  afinish = 360,
int  style = wxPDF_STYLE_DRAW,
int  nSeg = 8,
bool  doSector = false 
)
virtual

Draws an ellipse.

Parameters
x0Abscissa of Center point
y0Ordinate of Center point
rxHorizontal radius
ryVertical radius (if ry = 0, draws a circle)
angleOrientation angle (anti-clockwise)
astartStart angle
afinishFinish angle
styleStyle of rectangle (draw and/or fill)
nSegEllipse is made up of nSeg Bezier curves
doSectorconnect end points of elliptic arc with center point

◆ EndDoc()

virtual void wxPdfDocument::EndDoc ( )
protectedvirtual

End dociment.

◆ EndPage()

virtual void wxPdfDocument::EndPage ( )
protectedvirtual

End of page contents.

◆ EndPath()

virtual void wxPdfDocument::EndPath ( int  style = wxPDF_STYLE_DRAW)
virtual

End a graphics path.

Parameters
styleStyle of rendering. Possible values are:
  • wxPDF_STYLE_NOOP
  • wxPDF_STYLE_DRAW: draw the outline of the path (default)
  • wxPDF_STYLE_FILL: fill the area enclosed by the path
  • wxPDF_STYLE_FILLDRAW: draw and fill

◆ EndTemplate()

virtual int wxPdfDocument::EndTemplate ( )
virtual

Terminates a template.

Terminates the creation of a template and reset initiated variables on beginTemplate.

Returns
If a template was under construction, its ID is returned, otherwise a 0 is returned.
See also
BeginTemplate(), UseTemplate()

◆ EnterLayer() [1/2]

virtual void wxPdfDocument::EnterLayer ( wxPdfLayer layer)
virtual

Enter a layer.

Begins a graphic block whose visibility is controlled by the layer. Blocks can be nested. Each block must be terminated by LeaveLayer().

Note that nested layers only require a single call to this method and a single call to LeaveLayer(); all the nesting control is built in.

Parameters
layerthe layer

◆ EnterLayer() [2/2]

virtual void wxPdfDocument::EnterLayer ( wxPdfLayerMembership layer)
virtual

◆ Footer()

virtual void wxPdfDocument::Footer ( )
virtual

This method is used to render the page footer.

It is automatically called by AddPage() and Close() and should not be called directly by the application. The implementation in wxPdfDocument is empty, so you have to subclass it and override the method if you want a specific processing.

See also
Header()

◆ ForceCurrentFont()

virtual void wxPdfDocument::ForceCurrentFont ( )
protectedvirtual

Force selecting the current font.

◆ GetBreakMargin()

virtual double wxPdfDocument::GetBreakMargin ( )
virtual

Returns the page break margin.

Returns
int page break margin.

◆ GetCellMargin()

virtual double wxPdfDocument::GetCellMargin ( )
virtual

Returns the cell margin.

Returns
double cell margin.

◆ GetCurrentFont()

virtual wxPdfFont wxPdfDocument::GetCurrentFont ( ) const
virtual

Returns the current font.

Returns
The current font.
See also
SetFont()

◆ GetDrawColour()

virtual const wxPdfColour wxPdfDocument::GetDrawColour ( )
virtual

Gets the colour used for all drawing operations.

See also
SetDrawColour()

◆ GetFillColour()

virtual const wxPdfColour wxPdfDocument::GetFillColour ( )
virtual

Gets the colour used for all filling operations.

See also
SetFillColour()

◆ GetFillingRule()

virtual int wxPdfDocument::GetFillingRule ( )
virtual

Get the current filling rule.

Returns
the current filling rule

◆ GetFontDescription()

virtual const wxPdfFontDescription& wxPdfDocument::GetFontDescription ( ) const
virtual

Returns the current font description instance.

Returns
The current font description.
See also
SetFont()

◆ GetFontFamily()

virtual const wxString wxPdfDocument::GetFontFamily ( )
virtual

Gets the font family of the current font.

Returns
The font family of the current font
See also
SetFont()

◆ GetFontSize()

virtual double wxPdfDocument::GetFontSize ( ) const
virtual

Gets the size of the current font.

Returns
The size (in points) of the current font
See also
SetFont()

◆ GetFontStyle()

virtual const wxString wxPdfDocument::GetFontStyle ( ) const
virtual

Gets the style of the current font.

Returns
The style of the current font as a string
See also
SetFont()

◆ GetFontStyles()

virtual int wxPdfDocument::GetFontStyles ( ) const
virtual

Gets the style of the current font.

Returns
The style of the current font
See also
SetFont()

◆ GetFontSubsetting()

virtual bool wxPdfDocument::GetFontSubsetting ( ) const
inlinevirtual

Returns the font embedding mode.

Returns
true if font subsetting is enabled, false otherwise

◆ GetImageScale()

virtual double wxPdfDocument::GetImageScale ( )
virtual

Returns the image scale.

Returns
image scale.

◆ GetImageSize()

virtual wxSize wxPdfDocument::GetImageSize ( const wxString &  file,
const wxString &  mimeType = wxEmptyString 
)
protectedvirtual

Get size of an image.

The size of the image is determined from the given graphics file.

Parameters
fileName of the file containing the image.
mimeTypeImage format. Possible values are: image/jpeg, image/png, image/gif, image/wmf.
Returns
width and height of the image

◆ GetLastImageBottomRightX()

virtual double wxPdfDocument::GetLastImageBottomRightX ( )
inlinevirtual

Get x coordinate of bottom right corner of last inserted image.

◆ GetLastImageBottomRightY()

virtual double wxPdfDocument::GetLastImageBottomRightY ( )
inlinevirtual

Get y coordinate of bottom right corner of last inserted image.

◆ GetLeftMargin()

virtual double wxPdfDocument::GetLeftMargin ( )
virtual

Returns the left margin.

Returns
double left margin.

◆ GetLineHeight()

virtual double wxPdfDocument::GetLineHeight ( )
virtual

Returns the height of a text line.

Returns
double line height

◆ GetLineStyle()

virtual const wxPdfLineStyle& wxPdfDocument::GetLineStyle ( )
virtual

Get current line style.

Returns
current line style.

◆ GetLineWidth()

virtual double wxPdfDocument::GetLineWidth ( )
virtual

Gets the current line width.

Returns
current line width
See also
Line(), Rect(), Cell(), MultiCell()

◆ GetMessageTranslateMode()

bool wxPdfDocument::GetMessageTranslateMode ( )
inline

Get message translation mode.

Gets the message translation mode which controls the handling of msg tags in XML output

Returns
TRUE if messages are translated, FALSE otherwise

◆ GetNewObjId()

int wxPdfDocument::GetNewObjId ( )
protected

Get new object id.

◆ GetPageHeight()

virtual double wxPdfDocument::GetPageHeight ( )
virtual

Returns the page height in units.

Returns
int page height.

◆ GetPageWidth()

virtual double wxPdfDocument::GetPageWidth ( )
virtual

Returns the page width in units.

Returns
int page width.

◆ GetPatternColour()

virtual const wxPdfColour wxPdfDocument::GetPatternColour ( const wxString &  patternName)
virtual

Gets the named pattern as a colour.

Parameters
patternNamethe name of the pattern
See also
SetDrawPattern(), SetFillPattern(), AddPattern()

◆ GetRightMargin()

virtual double wxPdfDocument::GetRightMargin ( )
virtual

Returns the right margin.

Returns
double right margin.

◆ GetScaleFactor()

virtual double wxPdfDocument::GetScaleFactor ( )
virtual

Returns the scale factor (number of points in user unit).

Returns
int scale factor.

◆ GetSourceInfo()

virtual bool wxPdfDocument::GetSourceInfo ( wxPdfInfo info)
virtual

Gets the document information dictionary of the current external PDF document.

Gets the values of the Info dictionary of the current external document, if available.

Parameters
infothe info dictionary object receiving the document information
Returns
true if the info dictionary was available, false otherwise
See also
SetSourceFile()

◆ GetStringWidth()

virtual double wxPdfDocument::GetStringWidth ( const wxString &  s)
virtual

Returns the length of a string in user unit.

A font must be selected.

Parameters
sThe string whose length is to be computed
Returns
int

◆ GetTemplateBBox()

virtual void wxPdfDocument::GetTemplateBBox ( int  templateId,
double &  x,
double &  y,
double &  width,
double &  height 
)
virtual

Gets the bounding box of a template.

Especially for pages imported from an external PDF document the size of the bounding box might be of interest. The values returned correspond to the coordinates of the lower left corner and the width and height of the template.

Parameters
templateIdA valid template ID
xThe x coordinate of the lower left corner
yThe y coordinate of the lower left corner
widthThe width of the template
heightThe height of the template
See also
SetTemplateBBox(), BeginTemplate(), ImportPage()

◆ GetTemplateSize()

virtual void wxPdfDocument::GetTemplateSize ( int  templateId,
double &  width,
double &  height 
)
virtual

Get the calculated size of a template.

Retrieves the size of a template.

Parameters
templateIdA valid template ID
widthThe width of the template
heightThe height of the template
See also
BeginTemplate(), EndTemplate(), UseTemplate(), ImportPage()

Attention: The width and/or height parameters have to be set to a value <= 0 prior to calling this method, otherwise they will not be calculated. If one dimension, i.e. width, is passed with a value > 0, the other one, i.e. height, is calculated accordingly.

◆ GetTextColour()

virtual const wxPdfColour wxPdfDocument::GetTextColour ( )
virtual

Gets the colour used for text output.

See also
SetTextColour()

◆ GetTextRenderMode()

virtual wxPdfTextRenderMode wxPdfDocument::GetTextRenderMode ( ) const
virtual

Returns the text render mode.

◆ GetTopMargin()

virtual double wxPdfDocument::GetTopMargin ( )
virtual

Returns the top margin.

Returns
double top margin.

◆ GetX()

virtual double wxPdfDocument::GetX ( )
virtual

Returns the abscissa of the current position.

Returns
float
See also
SetX(), GetY(), SetY()

◆ GetY()

virtual double wxPdfDocument::GetY ( )
virtual

Returns the ordinate of the current position.

Returns
float
See also
SetY(), GetX(), SetX()

◆ Header()

virtual void wxPdfDocument::Header ( )
virtual

This method is used to render the page header.

It is automatically called by AddPage() and should not be called directly by the application. The implementation in wxPdfDocument is empty, so you have to subclass it and override the method if you want a specific processing.

See also
Footer()

◆ Image() [1/3]

virtual bool wxPdfDocument::Image ( const wxString &  file,
double  x,
double  y,
double  w = 0,
double  h = 0,
const wxString &  mimeType = wxEmptyString,
const wxPdfLink link = wxPdfLink(-1),
int  maskImage = 0 
)
virtual

Puts an image in the page.

The upper-left corner must be given. The dimensions can be specified in different ways:

  • explicit width and height (expressed in user unit)
  • one explicit dimension, the other being calculated automatically in order to keep the original proportions
  • no explicit dimension, in which case the image is put at 72 dpi

Supported formats are JPEG, PNG, GIF and WMF. For JPEG, all flavors are allowed:

  • gray scales,
  • true colours (24 bits),
  • CMYK (32 bits)

For PNG, the following flavors are allowed:

  • gray scales on at most 8 bits (256 levels)
  • indexed colours
  • true colours (24 bits)

but the following options are not supported:

  • Interlacing
  • Alpha channel

If a transparent colour is defined, it will be taken into account (but will be only interpreted by Acrobat 4 and above).

For GIF, all flavors the wxWidgets GIF decoder is able to handle are supported

For WMF: WMF files contain vector data described in terms of Windows Graphics Device Interface (GDI) commands. There are approximately 80 different GDI commands allowed for in the WMF standard. This method interprets only a small subset of these, but is sufficient to display most WMF images. Please feel free to add further functionality.

The format can be specified explicitly or inferred from the file extension.

It is possible to put a link on the image.

Remark: if an image is used several times, only one copy will be embedded in the file.

Parameters
fileName of the file containing the image.
xAbscissa of the upper-left corner.
yOrdinate of the upper-left corner.
wWidth of the image in the page. If not specified or equal to zero, it is automatically calculated.
hHeight of the image in the page. If not specified or equal to zero, it is automatically calculated.
mimeTypeImage format. Possible values are: image/jpeg, image/png, image/gif, image/wmf. If not specified, the type is inferred from the file extension.
linkURL or identifier returned by AddLink().
maskImageId of an image mask created previously by ImageMask().
See also
AddLink()

◆ Image() [2/3]

virtual bool wxPdfDocument::Image ( const wxString &  name,
const wxImage &  image,
double  x,
double  y,
double  w = 0,
double  h = 0,
const wxPdfLink link = wxPdfLink(-1),
int  maskImage = 0,
bool  jpegFormat = false,
int  jpegQuality = 75 
)
virtual

Puts an image in the page The image is given by an wxImage-Object

Parameters
nameName of the image to be used as an identifier for this image object.
imagewxImage object which will be embedded as PNG
xAbscissa of the upper-left corner.
yOrdinate of the upper-left corner.
wWidth of the image in the page. If not specified or equal to zero, it is automatically calculated.
hHeight of the image in the page. If not specified or equal to zero, it is automatically calculated.
linkURL or identifier returned by AddLink().
maskImageId of an image mask created previously by ImageMask().
jpegFormatSwitch whether to save image as JPEG (true) or PNG (false, default).
jpegQualityQuality in case of JPEG format (0 = poor, 100 = best, default 75).

◆ Image() [3/3]

virtual bool wxPdfDocument::Image ( const wxString &  name,
wxInputStream &  stream,
const wxString &  mimeType,
double  x,
double  y,
double  w = 0,
double  h = 0,
const wxPdfLink link = wxPdfLink(-1),
int  maskImage = 0 
)
virtual

Puts an image in the page The image is given by an wxInputStream-Object containing the raw image data.

Parameters
nameName of the image to be used as an identifier for this image object.
streamwxInputStream object containing the raw image data
mimeTypeImage format. Possible values are: image/jpeg, image/png, image/gif, image/wmf.
xAbscissa of the upper-left corner.
yOrdinate of the upper-left corner.
wWidth of the image in the page. If not specified or equal to zero, it is automatically calculated.
hHeight of the image in the page. If not specified or equal to zero, it is automatically calculated.
linkURL or identifier returned by AddLink().
maskImageId of an image mask created previously by ImageMask().

◆ ImageMask() [1/3]

virtual int wxPdfDocument::ImageMask ( const wxString &  file,
const wxString &  mimeType = wxEmptyString 
)
virtual

Prepares an image for use as an image mask The image is given as the name of the file containing the image

Parameters
fileName of the file containing the image.
mimeTypeImage format. Possible values are: image/jpeg, image/png, image/gif, image/wmf.
Returns
id of the image mask, or 0 in case of an error

◆ ImageMask() [2/3]

virtual int wxPdfDocument::ImageMask ( const wxString &  name,
const wxImage &  image 
)
virtual

Prepares an image for use as an image mask The image is given by an wxImage-Object

Parameters
nameName of the image.
imagewxImage object.
Returns
id of the image mask, or 0 in case of an error

◆ ImageMask() [3/3]

virtual int wxPdfDocument::ImageMask ( const wxString &  name,
wxInputStream &  stream,
const wxString &  mimeType 
)
virtual

Prepares an image for use as an image mask The image is given by an wxInputStream-Object containing the raw image data.

Parameters
nameName of the image.
streamwxInputStream object containing the raw image data
mimeTypeImage format. Possible values are: image/jpeg, image/png, image/gif, image/wmf.
Returns
id of the image mask, or 0 in case of an error

◆ ImportPage()

virtual int wxPdfDocument::ImportPage ( unsigned int  pageno,
wxPdfPageBox  pageBox = wxPDF_PAGEBOX_ARTBOX 
)
virtual

Imports a page from an external PDF document.

Imports a page from the current external PDF document. As the bounding box of the template the ArtBox of the imported page is used. If the page does not have an explicit ArtBox, the CropBox will be used instead; if there is no explicit CropBox then the MediaBox will be used.

Parameters
pagenopage number of the page to be imported
pageBoxpage box which should be used (default: ArtBox)
Returns
Index of imported page - for use in UseTemplate(). A value of 0 is returned if the page number is out of range or no source was selected.
See also
SetSourceFile()

◆ Initialize()

virtual void wxPdfDocument::Initialize ( int  orientation)
protectedvirtual

Initialize.

◆ IsInFooter()

virtual bool wxPdfDocument::IsInFooter ( )
virtual

Returns whether footer output is in progress.

Returns
true if footer output is in progress, false otherwise
See also
Header()

◆ LeaveLayer()

virtual void wxPdfDocument::LeaveLayer ( )
virtual

Leave a layer.

Ends a layer controlled graphic block. It will end the most recent open block.

◆ Line()

virtual void wxPdfDocument::Line ( double  x1,
double  y1,
double  x2,
double  y2 
)
virtual

Draws a line between two points.

Parameters
x1Abscissa of first point
y1Ordinate of first point
x2Abscissa of second point
y2Ordinate of second point
See also
SetLineWidth(), SetDrawColour()

◆ LinearGradient()

virtual int wxPdfDocument::LinearGradient ( const wxPdfColour col1,
const wxPdfColour col2,
wxPdfLinearGradientType  gradientType = wxPDF_LINEAR_GRADIENT_HORIZONTAL 
)
virtual

Defines a linear gradient shading.

Parameters
col1first colour (RGB or CMYK).
col2second colour (RGB or CMYK).
gradientTypeType of the gradient

◆ LineCount()

virtual int wxPdfDocument::LineCount ( double  w,
const wxString &  txt 
)
virtual

This method counts the number of lines a text would occupy in respect to a given maximal width.

Parameters
wWidth of cells. If 0, they extend up to the right margin of the page.
txtString for which the number of lines is to be counted
Returns
Number of lines this text would occupy

◆ LineTo()

virtual void wxPdfDocument::LineTo ( double  x,
double  y 
)
virtual

Append a straight line segment to the current (sub)path.

Append a straight line segment from the current point to the point (x, y). The new current point is (x, y).

Parameters
xabscissa value
yordinate value

◆ Link()

virtual void wxPdfDocument::Link ( double  x,
double  y,
double  w,
double  h,
const wxPdfLink link 
)
virtual

Puts a link on a rectangular area of the page.

Text or image links are generally put via Cell(), Write() or Image(), but this method can be useful for instance to define a clickable area inside an image.

Parameters
xAbscissa of the upper-left corner of the rectangle
yOrdinate of the upper-left corner of the rectangle
wWidth of the rectangle
hHeight of the rectangle
linkURL or identifier returned by AddLink()
See also
AddLink(), Cell(), Write(), Image()

◆ Ln()

virtual void wxPdfDocument::Ln ( double  h = -1)
virtual

Performs a line break.

The current abscissa goes back to the left margin and the ordinate increases by the amount passed in parameter.

Parameters
hThe height of the break. By default, the value equals the height of the last printed cell.
See also
Cell()

◆ LoadZapfDingBats()

void wxPdfDocument::LoadZapfDingBats ( )
protected

◆ LockLayer()

virtual void wxPdfDocument::LockLayer ( wxPdfLayer layer)
virtual

Lock a layer.

Use this method to lock an optional content group. The state of a locked group cannot be changed through the user interface of a viewer application. Producers can use this entry to prevent the visibility of content that depends on these groups from being changed by users.

Parameters
layerthe layer that needs to be added to the array of locked OCGs

◆ Marker()

virtual void wxPdfDocument::Marker ( double  x,
double  y,
wxPdfMarker  markerType,
double  size 
)
virtual

Draws a graphical marker symbol.

Parameters
xabscissa of the marker's center
yordinate of the marker's center
markerTypetype of the marker
sizesize of the marker

◆ MidAxialGradient()

virtual int wxPdfDocument::MidAxialGradient ( const wxPdfColour col1,
const wxPdfColour col2,
double  x1 = 0,
double  y1 = 0,
double  x2 = 1,
double  y2 = 0,
double  midpoint = 0.5,
double  intexp = 1 
)
virtual

Defines a axial gradient shading.

Parameters
col1first colour (RGB or CMYK).
col2second colour (RGB or CMYK).
x1start point of gradient vector, default: 0 (range 0 .. 1)
y1start point of gradient vector, default: 0 (range 0 .. 1)
x2end point of gradient vector, default: 1 (range 0 .. 1)
y2end point of gradient vector, default: 0 (range 0 .. 1)
midpointposition of the mirror point, default: 0.5 (range 0 .. 1)
intexpinterpolation exponent, default: 1

◆ MirrorH()

virtual void wxPdfDocument::MirrorH ( double  x = -1)
virtual

Performs a horizontal mirroring transformation.

Alias for scaling -100% in x-direction

Parameters
xabscissa of the axis of reflection

◆ MirrorV()

virtual void wxPdfDocument::MirrorV ( double  y = -1)
virtual

Performs a vertical mirroring transformation.

Alias for scaling -100% in y-direction

Parameters
yabscissa of the axis of reflection

◆ MoveTo()

virtual void wxPdfDocument::MoveTo ( double  x,
double  y 
)
virtual

Begin a new subpath.

Move to the starting point of a new (sub)path. The new current point is (x, y).

Parameters
xabscissa value
yordinate value
Remarks
This must be the first operation after ClippingPath().

◆ MultiCell()

virtual int wxPdfDocument::MultiCell ( double  w,
double  h,
const wxString &  txt,
int  border = 0,
int  align = wxPDF_ALIGN_JUSTIFY,
int  fill = 0,
int  maxline = 0 
)
virtual

This method allows printing text with line breaks.

They can be automatic (as soon as the text reaches the right border of the cell) or explicit (via the
character). As many cells as necessary are output, one below the other. Text can be aligned, centered or justified. The cell block can be framed and the background painted.

Parameters
wWidth of cells. If 0, they extend up to the right margin of the page.
hHeight of cells.
txtString to print
borderIndicates if borders must be drawn around the cell. The value can be
  • wxPDF_BORDER_NONE no border
  • wxPDF_BORDER_LEFT left border
  • wxPDF_BORDER_RIGHT right border
  • wxPDF_BORDER_TOP top border
  • wxPDF_BORDER_BOTTOM bottom border
  • wxPDF_BORDER_FRAME border on all sides
or a combination of them.
alignAllows to center or align the text. Possible values are:
  • wxPDF_ALIGN_LEFT align the text at the left margin
  • wxPDF_ALIGN_CENTER center the text
  • wxPDF_ALIGN_RIGHT align the text at the right margin
  • wxPDF_ALIGN_JUSTIFY justify the text (default)
fillIndicates if the cell background must be painted (1) or transparent (0). Default value: 0.
maxlineDefines the maximum number of lines which should be printed. If maxline is 0 then the number of lines is not restricted. Default value: 0.
Returns
position in text string txt where output ended due to reaching the maximum number of lines
See also
SetFont(), SetDrawColour(), SetFillColour(), SetTextColour(), SetLineWidth(), Cell(), Write(), SetAutoPageBreak()

◆ NewObj()

void wxPdfDocument::NewObj ( int  objId = 0)
protected

Begin a new object.

◆ Open()

virtual void wxPdfDocument::Open ( )
virtual

This method begins the generation of the PDF document.

It is not necessary to call it explicitly because AddPage() does it automatically. Note: no page is created by this method

See also
AddPage(), Close()

◆ Out() [1/2]

void wxPdfDocument::Out ( const char *  s,
bool  newline = true 
)
protected

Add character string.

◆ Out() [2/2]

void wxPdfDocument::Out ( const char *  s,
size_t  len,
bool  newline = true 
)
protected

Add len characters.

◆ OutAscii()

void wxPdfDocument::OutAscii ( const wxString &  s,
bool  newline = true 
)
protected

Add ASCII string.

◆ OutAsciiTextstring()

void wxPdfDocument::OutAsciiTextstring ( const wxString &  s,
bool  newline = true 
)
protected

Add an ASCII text string to the document.

◆ OutCurve()

void wxPdfDocument::OutCurve ( double  x1,
double  y1,
double  x2,
double  y2,
double  x3,
double  y3 
)
protected

Draws a Bézier curve from last draw point.

◆ OutEscape()

void wxPdfDocument::OutEscape ( const char *  s,
size_t  len 
)
protected

Add \ before \, ( and )

◆ OutHexTextstring()

void wxPdfDocument::OutHexTextstring ( const wxString &  s,
bool  newline = true 
)
protected

Add a hex text string to the document (without charset conversion)

◆ OutImage()

void wxPdfDocument::OutImage ( wxPdfImage currentImage,
double  x,
double  y,
double  w,
double  h,
const wxPdfLink link 
)
protected

Add an image object to the document.

◆ OutIndirectObject()

void wxPdfDocument::OutIndirectObject ( wxPdfIndirectObject object)
protected

Add an indirect object to the document.

◆ OutLine()

void wxPdfDocument::OutLine ( double  x,
double  y 
)
protected

Draws a line from last draw point.

◆ OutLineRelative()

void wxPdfDocument::OutLineRelative ( double  dx,
double  dy 
)
protected

Draws a line relative from last draw point.

◆ OutPoint()

void wxPdfDocument::OutPoint ( double  x,
double  y 
)
protected

Sets a draw point.

◆ OutPointRelative()

void wxPdfDocument::OutPointRelative ( double  dx,
double  dy 
)
protected

Sets a draw point relative to current position.

◆ OutRawTextstring()

void wxPdfDocument::OutRawTextstring ( const wxString &  s,
bool  newline = true 
)
protected

Add a raw text string to the document (without charset conversion)

◆ OutTextstring()

void wxPdfDocument::OutTextstring ( const wxString &  s,
bool  newline = true 
)
protected

Add a text string to the document.

◆ PageNo()

virtual int wxPdfDocument::PageNo ( )
virtual

Returns the current page number.

Returns
page number
See also
AliasNbPages()

◆ Polygon()

virtual void wxPdfDocument::Polygon ( const wxPdfArrayDouble &  x,
const wxPdfArrayDouble &  y,
int  style = wxPDF_STYLE_DRAW 
)
virtual

Draws a polygon.

Parameters
xArray with abscissa values
yArray with ordinate values
styleStyle of polygon (draw and/or fill)

◆ PrepareXmlCell()

void wxPdfDocument::PrepareXmlCell ( wxXmlNode *  node,
wxPdfCellContext context 
)
protected

Prepare an XML cell for output.

◆ PrepareXmlTable()

void wxPdfDocument::PrepareXmlTable ( wxXmlNode *  node,
wxPdfCellContext context 
)
protected

Prepare an XML table for output.

◆ PushButton() [1/2]

virtual void wxPdfDocument::PushButton ( const wxString &  name,
double  width,
double  height,
const wxString &  caption,
const wxString &  action 
)
virtual

Adds a push button at the current position.

Adds a push button to the list of form fields at the current position

Parameters
namefield name of the push button
widthwidth of the push button
heightheight of the push button
captioncaption of the push button
actionassociated Javascript action

◆ PushButton() [2/2]

virtual void wxPdfDocument::PushButton ( const wxString &  name,
double  x,
double  y,
double  width,
double  height,
const wxString &  caption,
const wxString &  action 
)
virtual

Adds a push button.

Adds a push button to the list of form fields

Parameters
namefield name of the push button
xabscissa of the push button position
yordinate of the push button position
widthwidth of the push button
heightheight of the push button
captioncaption of the push button
actionassociated Javascript action

◆ PutASEvent()

void wxPdfDocument::PutASEvent ( const wxString &  situation,
const wxString &  category,
bool &  first 
)
protected

Add automatic state event.

◆ PutBookmarks()

virtual void wxPdfDocument::PutBookmarks ( )
protectedvirtual

Add bookmarks.

◆ PutCatalog()

virtual void wxPdfDocument::PutCatalog ( )
protectedvirtual

Addcatalog.

◆ PutEncryption()

virtual void wxPdfDocument::PutEncryption ( )
protectedvirtual

Add encryption info.

◆ PutExtGStates()

virtual void wxPdfDocument::PutExtGStates ( )
protectedvirtual

Add extended graphics states.

◆ PutFiles()

virtual void wxPdfDocument::PutFiles ( )
protectedvirtual

Add attached files.

◆ PutFonts()

virtual void wxPdfDocument::PutFonts ( )
protectedvirtual

Adds fonts.

◆ PutFormFields()

virtual void wxPdfDocument::PutFormFields ( )
protectedvirtual

Add form fields.

◆ PutHeader()

virtual void wxPdfDocument::PutHeader ( )
protectedvirtual

Add header.

◆ PutImages()

virtual void wxPdfDocument::PutImages ( )
protectedvirtual

Add images.

◆ PutImportedObjects()

virtual void wxPdfDocument::PutImportedObjects ( )
protectedvirtual

Add imported objects.

◆ PutInfo()

virtual void wxPdfDocument::PutInfo ( )
protectedvirtual

Add info.

◆ PutJavaScript()

virtual void wxPdfDocument::PutJavaScript ( )
protectedvirtual

Add Javascript (document level)

◆ PutLayers()

virtual void wxPdfDocument::PutLayers ( )
protectedvirtual

Add layers.

◆ PutOCGOrder()

void wxPdfDocument::PutOCGOrder ( wxPdfLayer layer)
protected

Add optional content order.

◆ PutOCProperties()

void wxPdfDocument::PutOCProperties ( )
protected

Add optional content properties.

◆ PutPages()

virtual void wxPdfDocument::PutPages ( )
protectedvirtual

Add pages.

◆ PutPatterns()

virtual void wxPdfDocument::PutPatterns ( )
protectedvirtual

Add patterns.

◆ PutResourceDict()

virtual void wxPdfDocument::PutResourceDict ( )
protectedvirtual

Add resource dictionary.

◆ PutResources()

virtual void wxPdfDocument::PutResources ( )
protectedvirtual

Add resources.

◆ PutShaders()

virtual void wxPdfDocument::PutShaders ( )
protectedvirtual

Add shaders.

◆ PutSpotColours()

virtual void wxPdfDocument::PutSpotColours ( )
protectedvirtual

Add spot colours.

◆ PutStream()

void wxPdfDocument::PutStream ( wxMemoryOutputStream &  s)
protected

Add byte stream.

◆ PutTemplates()

virtual void wxPdfDocument::PutTemplates ( )
protectedvirtual

Add templates.

◆ PutTrailer()

virtual void wxPdfDocument::PutTrailer ( )
protectedvirtual

Add trailer.

◆ PutXObjectDict()

virtual void wxPdfDocument::PutXObjectDict ( )
protectedvirtual

Add object dictionary.

◆ RadialGradient()

virtual int wxPdfDocument::RadialGradient ( const wxPdfColour col1,
const wxPdfColour col2,
double  x1 = 0.5,
double  y1 = 0.5,
double  r1 = 0,
double  x2 = 0.5,
double  y2 = 0.5,
double  r2 = 1,
double  intexp = 1 
)
virtual

Defines a radial gradient shading.

Parameters
col1first colour (RGB or CMYK).
col2second colour (RGB or CMYK).
x1center point of circle 1, default: 0.5 (range 0 .. 1)
y1center point of circle 1, default: 0.5 (range 0 .. 1)
r1radius of circle 1, default: 0
x2center point of circle 2, default: 0.5 (range 0 .. 1)
y2center point of circle 2, default: 0.5 (range 0 .. 1)
r2radius of circle 2, default: 1
intexpinterpolation exponent, default: 1

◆ RadioButton() [1/2]

virtual void wxPdfDocument::RadioButton ( const wxString &  group,
const wxString &  name,
double  width 
)
virtual

Adds a radio button at the current position.

Adds a radio button to the list of form fields at the current position

Parameters
groupname of the radio button group this radio button belongs to
namefield name of the radio button
widthwidth of the radio button

◆ RadioButton() [2/2]

virtual void wxPdfDocument::RadioButton ( const wxString &  group,
const wxString &  name,
double  x,
double  y,
double  width 
)
virtual

Adds a radio button.

Adds a radio button to the list of form fields

Parameters
groupname of the radio button group this radio button belongs to
namefield name of the radio button
xabscissa of the radio button position
yordinate of the radio button position
widthwidth of the radio button

◆ Rect()

virtual void wxPdfDocument::Rect ( double  x,
double  y,
double  w,
double  h,
int  style = wxPDF_STYLE_DRAW 
)
virtual

Outputs a rectangle.

It can be drawn (border only), filled (with no border) or both.

Parameters
xAbscissa of upper-left corner
yOrdinate of upper-left corner
wWidth
hHeight
styleStyle of rendering. Possible values are:
  • wxPDF_STYLE_DRAW (default)
  • wxPDF_STYLE_FILL: fill
  • wxPDF_STYLE_FILLDRAW: draw and fill
See also
SetLineWidth(), SetDrawColour(), SetFillColour()

◆ RegularPolygon()

virtual void wxPdfDocument::RegularPolygon ( double  x0,
double  y0,
double  r,
int  ns,
double  angle = 0,
bool  circle = false,
int  style = wxPDF_STYLE_DRAW,
int  circleStyle = wxPDF_STYLE_DRAW,
const wxPdfLineStyle circleLineStyle = wxPdfLineStyle(),
const wxPdfColour circleFillColour = wxPdfColour() 
)
virtual

Draws a regular polygon.

Parameters
x0Abscissa of Center point
y0Ordinate of Center point
rRadius of circumscribed circle
nsNumber of sides
angleOrientation angle (anti-clockwise)
circleFlag whether to draw circumscribed circle or not
styleStyle of polygon (draw and/or fill)
circleStyleStyle of circumscribed circle (draw and/or fill) (if draw)
circleLineStyleLine style for circumscribed circle. (if draw)
circleFillColourFill colour for circumscribed circle. (if draw fill circle)

◆ ReplaceNbPagesAlias()

virtual void wxPdfDocument::ReplaceNbPagesAlias ( )
protectedvirtual

Replace page number aliases.

◆ RestoreGraphicState()

virtual void wxPdfDocument::RestoreGraphicState ( )
protectedvirtual

Restore graphic state.

◆ Rotate()

virtual void wxPdfDocument::Rotate ( double  angle,
double  x = -1,
double  y = -1 
)
virtual

Performs a rotation around a given center.

Parameters
angleangle in degrees.
xabscissa of the rotation center. Default value: current position.
yordinate of the rotation center. Default value: current position.

The rotation affects all elements which are printed after the method call (with the exception of the clickable areas).

Remarks:

  • Only the display is altered. The GetX() and GetY() methods are not affected, nor the automatic page break mechanism.
  • Rotation is not kept from page to page. Each page begins with a null rotation.

◆ RotatedImage()

virtual void wxPdfDocument::RotatedImage ( const wxString &  file,
double  x,
double  y,
double  w,
double  h,
double  angle,
const wxString &  type = wxEmptyString,
const wxPdfLink link = wxPdfLink(-1),
int  maskImage = 0 
)
virtual

Puts a rotated image in the page.

The upper-left corner must be given.

The format can be specified explicitly or inferred from the file extension.

It is possible to put a link on the image.

Remark: if an image is used several times, only one copy will be embedded in the file.

Parameters
fileName of the file containing the image.
xAbscissa of the upper-left corner.
yOrdinate of the upper-left corner.
wWidth of the image in the page. If not specified or equal to zero, it is automatically calculated.
hHeight of the image in the page. If not specified or equal to zero, it is automatically calculated.
angleAngle of rotation
typeImage format. Possible values are (case insensitive): JPG, JPEG, PNG, GIF, WMF. If not specified, the type is inferred from the file extension.
linkURL or identifier returned by AddLink().
maskImageId of an image mask created previously by ImageMask().
See also
Image(), AddLink()

◆ RotatedText() [1/2]

virtual void wxPdfDocument::RotatedText ( double  x,
double  y,
const wxString &  txt,
double  angle 
)
virtual

Prints a rotated text string.

Parameters
xabscissa of the rotation center.
yordinate of the rotation center.
txtString to print
angleangle in degrees.

◆ RotatedText() [2/2]

virtual void wxPdfDocument::RotatedText ( double  textX,
double  textY,
double  rotationX,
double  rotationY,
const wxString &  txt,
double  angle 
)
virtual

Prints a rotated text string with explicit rotation center.

Parameters
textXAbscissa of the origin
textYOrdinate of the origin
rotationXabscissa of the rotation center.
rotationYordinate of the rotation center.
txtString to print
angleangle in degrees.

◆ RoundedRect()

virtual void wxPdfDocument::RoundedRect ( double  x,
double  y,
double  w,
double  h,
double  r,
int  roundCorner = wxPDF_CORNER_ALL,
int  style = wxPDF_STYLE_DRAW 
)
virtual

Draws a rounded rectangle.

Parameters
xAbscissa of upper-left corner
yOrdinate of upper-left corner
wWidth
hHeight
rRadius of the rounded corners
roundCornerDraws rounded corner or not.
  • wxPDF_CORNER_NONE no rounded corners
  • wxPDF_CORNER_TOP_LEFT top left corner
  • wxPDF_CORNER_TOP_RIGHT top right corner
  • wxPDF_CORNER_BOTTOM_LEFT bottom left corner
  • wxPDF_CORNER_BOTTOM_RIGHT bottom right corner
  • wxPDF_CORNER_ALL all corners
styleStyle of rectangle (draw and/or fill)

◆ SaveAsFile()

virtual bool wxPdfDocument::SaveAsFile ( const wxString &  name = wxEmptyString)
virtual

Saves the document to a file on disk.

The method first calls Close() if necessary to terminate the document.

Parameters
nameThe name of the file. If not given, the document will be named 'doc.pdf'
Returns
true if successful, false otherwise
See also
Close()

◆ SaveGraphicState()

virtual void wxPdfDocument::SaveGraphicState ( )
protectedvirtual

Save graphic state.

◆ Scale()

virtual bool wxPdfDocument::Scale ( double  sx,
double  sy,
double  x = -1,
double  y = -1 
)
virtual

Performs scaling in X and Y direction.

A scaling transformation is applied independently for X and Y direction.

Parameters
sxscaling factor for width in percent. 0 is not allowed.
syscaling factor for height in percent. 0 is not allowed.
xabscissa of the scaling center. Default is current x position
yordinate of the scaling center. Default is current y position

◆ ScaleX()

virtual bool wxPdfDocument::ScaleX ( double  sx,
double  x = -1,
double  y = -1 
)
virtual

Performs scaling in X direction only.

A scaling transformation is applied for the X direction.

Parameters
sxscaling factor for width as percent. 0 is not allowed.
xabscissa of the scaling center. Default is current x position
yordinate of the scaling center. Default is current y position

◆ ScaleXY()

virtual bool wxPdfDocument::ScaleXY ( double  s,
double  x = -1,
double  y = -1 
)
virtual

Performs equal scaling in X and Y direction.

A scaling transformation is applied for both - X and Y - directions.

Parameters
sscaling factor for width and height as percent. 0 is not allowed.
xabscissa of the scaling center. Default is current x position
yordinate of the scaling center. Default is current y position

◆ ScaleY()

virtual bool wxPdfDocument::ScaleY ( double  sy,
double  x = -1,
double  y = -1 
)
virtual

Performs scaling in Y direction only.

A scaling transformation is applied for the Y direction.

Parameters
syscaling factor for height as percent. 0 is not allowed.
xabscissa of the scaling center. Default is current x position
yordinate of the scaling center. Default is current y position

◆ Sector()

virtual void wxPdfDocument::Sector ( double  x0,
double  y0,
double  r,
double  astart,
double  afinish,
int  style = wxPDF_STYLE_FILLDRAW,
bool  clockwise = true,
double  origin = 90. 
)
virtual

Draws a sector.

Parameters
x0Abscissa of Center point
y0Ordinate of Center point
rRadius
astartStart angle
afinishFinish angle
styleStyle of rectangle (draw and/or fill, default: fill&draw)
clockwiseindicates whether to go clockwise (default: true)
originorigin of angles (0 for 3 o'clock, 90 for noon, 180 for 9 o'clock, 270 for 6 o'clock; default: 90)

◆ SelectFont() [1/4]

virtual bool wxPdfDocument::SelectFont ( const wxString &  family,
const wxString &  style = wxEmptyString,
double  size = 0,
bool  setFont = true 
)
protectedvirtual

Select font.

◆ SelectFont() [2/4]

virtual bool wxPdfDocument::SelectFont ( const wxString &  family,
int  style,
double  size = 0,
bool  setFont = true 
)
protectedvirtual

Select font.

◆ SelectFont() [3/4]

virtual bool wxPdfDocument::SelectFont ( const wxFont &  font,
bool  setFont = true 
)
protectedvirtual

Select font based on wxFont object.

◆ SelectFont() [4/4]

virtual bool wxPdfDocument::SelectFont ( const wxPdfFont font,
int  style,
double  size = 0,
bool  setFont = true 
)
protectedvirtual

Select font based on wxFont object.

◆ SetAlpha()

virtual int wxPdfDocument::SetAlpha ( double  lineAlpha = 1,
double  fillAlpha = 1,
wxPdfBlendMode  blendMode = wxPDF_BLENDMODE_NORMAL 
)
virtual

Sets alpha values and blend mode.

Parameters
lineAlphaalpha value for stroking operations, from 0 (transparent) to 1 (opaque)
fillAlphaalpha value for non-stroking operations, from 0 (transparent) to 1 (opaque)
blendModeone of the following: Normal, Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight, SoftLight, Difference, Exclusion, Hue, Saturation, Color, Luminosity

◆ SetAlphaState()

virtual void wxPdfDocument::SetAlphaState ( int  alphaState)
virtual

Sets a previously defined alpha state.

Parameters
alphaStateid of alpha state

◆ SetAuthor()

virtual void wxPdfDocument::SetAuthor ( const wxString &  author)
virtual

Defines the author of the document.

Parameters
authorThe name of the author.
See also
SetCreator(), SetKeywords(), SetSubject(), SetTitle()

◆ SetAutoPageBreak()

virtual void wxPdfDocument::SetAutoPageBreak ( bool  autoPageBreak,
double  margin = 0 
)
virtual

Enables or disables the automatic page breaking mode.

When enabling, the second parameter is the distance from the bottom of the page that defines the triggering limit. By default, the mode is on and the margin is 2 cm.

Parameters
autoPageBreakBoolean indicating if mode should be on or off.
marginDistance from the bottom of the page.
See also
Cell(), MultiCell(), AcceptPageBreak()

◆ SetCellMargin()

virtual void wxPdfDocument::SetCellMargin ( double  margin)
virtual

Defines the cell margin.

The method can be called before creating the first page.

Parameters
marginThe margin.

◆ SetCompression()

virtual void wxPdfDocument::SetCompression ( bool  compress)
virtual

Activates or deactivates page compression.

When activated, the internal representation of each page is compressed, which leads to a compression ratio of about 2 for the resulting document. Compression is on by default.

Parameters
compressBoolean indicating if compression must be enabled.

◆ SetCreationDate()

virtual void wxPdfDocument::SetCreationDate ( const wxDateTime &  creationDate)
virtual

Defines the creation timestamp of the document.

Optionally the creation date can be specified with this method. If this method is not called the default is the current date and time.

Parameters
creationDateThe date and time to be used as the creation timestamp.
See also
SetAuthor(), SetKeywords(), SetSubject(), SetTitle()

◆ SetCreator()

virtual void wxPdfDocument::SetCreator ( const wxString &  creator)
virtual

Defines the creator of the document.

This is typically the name of the application that generates the PDF.

Parameters
creatorThe name of the creator.
See also
SetAuthor(), SetKeywords(), SetSubject(), SetTitle()

◆ SetDisplayMode()

virtual void wxPdfDocument::SetDisplayMode ( wxPdfZoom  zoom,
wxPdfLayout  layout = wxPDF_LAYOUT_CONTINUOUS,
double  zoomFactor = 100. 
)
virtual

Defines the way the document is to be displayed by the viewer.

The zoom level can be set:pages can be displayed entirely on screen, occupy the full width of the window, use real size, be scaled by a specific zooming factor or use viewer default (configured in the Preferences menu of Acrobat). The page layout can be specified too: single at once, continuous display, two columns or viewer default. By default, documents use the full width mode with continuous display.

Parameters
zoomThe zoom to use. It can be one of the following string values or a number indicating the zooming factor to use.
  • wxPDF_ZOOM_FULLPAGE: displays the entire page on screen
  • wxPDF_ZOOM_FULLWIDTH: uses maximum width of window
  • wxPDF_ZOOM_REAL: uses real size (equivalent to 100% zoom)
  • wxPDF_ZOOM_DEFAULT: uses viewer default mode
  • wxPDF_ZOOM_FACTOR: uses viewer default mode
layoutThe page layout. Possible values are:
  • wxPDF_LAYOUT_SINGLE: displays one page at once
  • wxPDF_LAYOUT_CONTINUOUS: displays pages continuously (default)
  • wxPDF_LAYOUT_TWO: displays two pages on two columns
  • wxPDF_LAYOUT_DEFAULT: uses viewer default mode
zoomFactorspecifies the zoom factor in percent if layout is wxPDF_ZOOM_FACTOR

◆ SetDrawColour() [1/6]

virtual void wxPdfDocument::SetDrawColour ( const unsigned char  grayscale)
virtual

Defines the colour used for all drawing operations.

Affected drawing operations are: lines, rectangles and cell borders. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
grayscaleindicates the gray level. Value between 0 and 255
See also
SetFillColour(), SetTextColour(), Line(), Rect(), Cell(), MultiCell()

◆ SetDrawColour() [2/6]

virtual void wxPdfDocument::SetDrawColour ( const wxColour &  colour)
virtual

Defines the colour used for all drawing operations.

Affected drawing operations are: lines, rectangles and cell borders. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
colourdefines a colour composed of a red, green and blue component
See also
SetFillColour(), SetTextColour(), Line(), Rect(), Cell(), MultiCell()

◆ SetDrawColour() [3/6]

virtual void wxPdfDocument::SetDrawColour ( const wxPdfColour colour)
virtual

Defines the colour used for all drawing operations.

Affected drawing operations are: lines, rectangles and cell borders. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
colourdefines a colour using the class wxPdfColour
See also
SetFillColour(), SetTextColour(), Line(), Rect(), Cell(), MultiCell()

◆ SetDrawColour() [4/6]

virtual void wxPdfDocument::SetDrawColour ( const unsigned char  red,
const unsigned char  green,
const unsigned char  blue 
)
virtual

Defines the colour used for all drawing operations.

Affected drawing operations are: lines, rectangles and cell borders. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
redindicates the red level. Value between 0 and 255
greenindicates the green level. Value between 0 and 255
blueindicates the blue level. Value between 0 and 255
See also
SetFillColour(), SetTextColour(), Line(), Rect(), Cell(), MultiCell()

◆ SetDrawColour() [5/6]

virtual void wxPdfDocument::SetDrawColour ( double  cyan,
double  magenta,
double  yellow,
double  black 
)
virtual

Defines the colour used for all drawing operations.

Affected drawing operations are: lines, rectangles and cell borders. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
cyanindicates the cyan level. Value between 0 and 100
magentaindicates the magenta level. Value between 0 and 100
yellowindicates the yellow level. Value between 0 and 100
blackindicates the black level. Value between 0 and 100
See also
SetFillColour(), SetTextColour(), Line(), Rect(), Cell(), MultiCell()

◆ SetDrawColour() [6/6]

virtual void wxPdfDocument::SetDrawColour ( const wxString &  name,
double  tint = 100 
)
virtual

Defines the spot colour used for all drawing operations.

Affected drawing operations are: lines, rectangles and cell borders. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
namethe name of the spot colour
tintindicates the tint level. Value between 0 and 100. Default: 100.
See also
SetFillColour(), SetTextColour(), Line(), Rect(), Cell(), MultiCell()

◆ SetDrawPattern()

virtual void wxPdfDocument::SetDrawPattern ( const wxString &  name)
virtual

Defines the pattern used for all drawing operations.

The given pattern is used for all drawing operations instead of a colour. Affected drawing operations are: lines, rectangles and cell borders. The method can be called before the first page is created and the value is retained from page to page.

Parameters
namethe name of the pattern
See also
SetFillPattern()

◆ SetFillColour() [1/6]

virtual void wxPdfDocument::SetFillColour ( const unsigned char  grayscale)
virtual

Defines the colour used for all filling operations.

Affected filling operations are: filled rectangles and cell backgrounds. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
grayscaleindicates the gray level. Value between 0 and 255
See also
SetDrawColour(), SetTextColour(), Rect(), Cell(), MultiCell()

◆ SetFillColour() [2/6]

virtual void wxPdfDocument::SetFillColour ( const wxColour &  colour)
virtual

Defines the colour used for all filling operations.

Affected filling operations are: filled rectangles and cell backgrounds. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
colourdefines a colour composed of a red, green and blue component
See also
SetDrawColour(), SetTextColour(), Rect(), Cell(), MultiCell()

◆ SetFillColour() [3/6]

virtual void wxPdfDocument::SetFillColour ( const wxPdfColour colour)
virtual

Defines the colour used for all filling operations.

Affected filling operations are: filled rectangles and cell backgrounds. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
colourdefines a colour using the class wxPdfColour
See also
SetDrawColour(), SetTextColour(), Rect(), Cell(), MultiCell()

◆ SetFillColour() [4/6]

virtual void wxPdfDocument::SetFillColour ( const unsigned char  red,
const unsigned char  green,
const unsigned char  blue 
)
virtual

Defines the colour used for all filling operations.

Affected filling operations are: filled rectangles and cell backgrounds. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
redindicates the red level. Value between 0 and 255
greenindicates the green level. Value between 0 and 255
blueindicates the blue level. Value between 0 and 255
See also
SetDrawColour(), SetTextColour(), Rect(), Cell(), MultiCell()

◆ SetFillColour() [5/6]

virtual void wxPdfDocument::SetFillColour ( double  cyan,
double  magenta,
double  yellow,
double  black 
)
virtual

Defines the colour used for all filling operations.

Affected filling operations are: filled rectangles and cell backgrounds. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
cyanindicates the cyan level. Value between 0 and 100
magentaindicates the magenta level. Value between 0 and 100
yellowindicates the yellow level. Value between 0 and 100
blackindicates the black level. Value between 0 and 100
See also
SetDrawColour(), SetTextColour(), Rect(), Cell(), MultiCell()

◆ SetFillColour() [6/6]

virtual void wxPdfDocument::SetFillColour ( const wxString &  name,
double  tint = 100 
)
virtual

Defines the spot colour used for all filling operations.

Affected filling operations are: filled rectangles and cell backgrounds. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
nameis the name of the spot colour
tintindicates the tint level. Value between 0 and 100. Default: 100.
See also
SetDrawColour(), SetTextColour(), Rect(), Cell(), MultiCell()

◆ SetFillGradient()

virtual void wxPdfDocument::SetFillGradient ( double  x,
double  y,
double  w,
double  h,
int  gradient 
)
virtual

Paints a gradient shading to rectangular area.

Parameters
xabscissa of the top left corner of the rectangle.
yordinate of the top left corner of the rectangle.
wwidth of the rectangle.
hheight of the rectangle.
gradientid of the gradient.

◆ SetFillingRule()

virtual void wxPdfDocument::SetFillingRule ( int  rule = wxWINDING_RULE)
virtual

Set the filling rule.

Parameters
ruleThe filling rule to be used in complex filling operations. Possible values are:
  • wxWINDING_RULE (default)
  • wxODDEVEN_RULE

◆ SetFillPattern()

virtual void wxPdfDocument::SetFillPattern ( const wxString &  name)
virtual

Defines the pattern used for all filling operations.

The given pattern is used for all filling operations instead of a colour. Affected filling operations are: filled rectangles and cell backgrounds. The method can be called before the first page is created and the value is retained from page to page.

Parameters
namethe name of the pattern
See also
SetDrawPattern()

◆ SetFont() [1/4]

virtual bool wxPdfDocument::SetFont ( const wxString &  family,
const wxString &  style = wxEmptyString,
double  size = 0 
)
virtual

Sets the font used to print character strings.

It is mandatory to call a variant of this method at least once before printing text or the resulting document would not be valid. The font can be either a standard one or a font added via the AddFont() method. Standard fonts use Windows encoding cp1252 (Western Europe). The method can be called before the first page is created and the font is retained from page to page. If you just wish to change the current font size, it is simpler to call SetFontSize().

Parameters
familyFamily font. It can be either a name defined by AddFont() or one of the standard families (case insensitive):
  • Courier (fixed-width)
  • Helvetica or Arial (synonymous; sans serif)
  • Times (serif)
  • Symbol (symbolic)
  • ZapfDingbats (symbolic)
It is also possible to pass an empty string. In that case, the current family is retained.
styleFont style. Possible values are (case insensitive):
  • empty string: regular (default)
  • B: bold
  • I: italic
  • BI or IB: bold italic
  • U: underline or any combination. The default value is regular. Bold and italic styles do not apply to Symbol and ZapfDingbats
sizeFont size in points. The default value is the current size. If no size has been specified since the beginning of the document, the value taken is 12
See also
AddFont(), SetFontSize(), Cell(), MultiCell(), Write()

◆ SetFont() [2/4]

virtual bool wxPdfDocument::SetFont ( const wxString &  family,
int  style,
double  size = 0 
)
virtual

Sets the font used to print character strings.

It is mandatory to call a variant of this method at least once before printing text or the resulting document would not be valid. The font can be either a standard one or a font added via the AddFont() method. Standard fonts use Windows encoding cp1252 (Western Europe). The method can be called before the first page is created and the font is retained from page to page. If you just wish to change the current font size, it is simpler to call SetFontSize().

Parameters
familyFamily font. It can be either a name defined by AddFont() or one of the standard families (case insensitive):
  • Courier (fixed-width)
  • Helvetica or Arial (synonymous; sans serif)
  • Times (serif)
  • Symbol (symbolic)
  • ZapfDingbats (symbolic)
It is also possible to pass an empty string. In that case, the current family is retained.
styleFont style. Possible values are (case insensitive):
  • wxPDF_FONTSTYLE_REGULAR : regular (default)
  • wxPDF_FONTSTYLE_ITALIC : italic
  • wxPDF_FONTSTYLE_BOLD : bold
  • wxPDF_FONTSTYLE_UNDERLINE : underline
  • wxPDF_FONTSTYLE_OVERLINE : overline
  • wxPDF_FONTSTYLE_STRIKEOUT : strike through or any combination.
sizeFont size in points. The default value is the current size. If no size has been specified since the beginning of the document, the value taken is 12
See also
AddFont(), SetFontSize(), Cell(), MultiCell(), Write()

◆ SetFont() [3/4]

virtual bool wxPdfDocument::SetFont ( const wxPdfFont font,
int  style = wxPDF_FONTSTYLE_REGULAR,
double  size = 0 
)
virtual

Sets the font used to print character strings based on a wxFont object.

The font referenced by the wxFont object will be added to the document if necessary.

Parameters
fontThe font to be set.
styleFont style. Possible values are (case insensitive):
  • empty string: regular (default)
  • B: bold
  • I: italic
  • BI or IB: bold italic
  • U: underline or any combination. The default value is regular. Bold and italic styles do not apply to Symbol and ZapfDingbats
sizeFont size in points. The default value is the current size. If no size has been
See also
AddFont(), SetFont(), SetFontSize(), Cell(), MultiCell(), Write()

◆ SetFont() [4/4]

virtual bool wxPdfDocument::SetFont ( const wxFont &  font)
virtual

Sets the font used to print character strings based on a wxFont object.

The font referenced by the wxFont object will be added to the document if necessary.

Parameters
fontThe font to be set.
See also
AddFont(), SetFont(), SetFontSize(), Cell(), MultiCell(), Write()

◆ SetFontSize() [1/2]

virtual void wxPdfDocument::SetFontSize ( double  size)
virtual

Defines the size of the current font.

Parameters
sizeThe size (in points)
See also
SetFont()

◆ SetFontSize() [2/2]

virtual void wxPdfDocument::SetFontSize ( double  size,
bool  setSize 
)
protectedvirtual

Defines the size of the current font.

Parameters
sizeThe size (in points)
setSizeflag whether to actually set the font size in PDF output
See also
SetFont()

◆ SetFontSubsetting()

virtual void wxPdfDocument::SetFontSubsetting ( bool  fontSubsetting = true)
inlinevirtual

Sets the font embedding mode.

If other fonts than the 14 Adobe core fonts are used in a document, they are usually embedded into the PDF file, often resulting in rather large PDF files. This is especially true for Unicode fonts with thousands of glyphs. To reduce the size of the resulting PDF file fonts may be subsetted, that is, only those glyphs actually used in the document are embedded.

Currently wxPdfDocument supports font subsetting for TrueType Unicode fonts only.

Parameters
fontSubsettingBoolean indicating whether font subsetting should be used or not.

◆ SetFormBorderStyle()

virtual void wxPdfDocument::SetFormBorderStyle ( wxPdfBorderStyle  borderStyle = wxPDF_BORDER_SOLID,
double  borderWidth = -1 
)
virtual

Sets the border style for form fields.

Sets the border width and style to be used for all subsequent form field additions until this method is called again with different values.

Parameters
borderStylestyle of the form field's border
  • wxPDF_BORDER_SOLID - solid border
  • wxPDF_BORDER_DASHED - dashed border
  • wxPDF_BORDER_BEVELED - beveled border
  • wxPDF_BORDER_INSET - inset border
  • wxPDF_BORDER_UNDERLINE - border on the bottom side only
borderWidthwidth of the form field's border

◆ SetFormColours()

virtual void wxPdfDocument::SetFormColours ( const wxPdfColour borderColour = wxPdfColour(),
const wxPdfColour backgroundColour = wxPdfColour(250),
const wxPdfColour textColour = wxPdfColour() 
)
virtual

Sets colours for form fields.

Sets the border, background and text colour to be used for all subsequent form field additions until this method is called again with different values.

Parameters
borderColourcolour of the form field's border
backgroundColourcolour of the form field's background
textColourcolour of the form field's font

◆ SetImageScale()

virtual void wxPdfDocument::SetImageScale ( double  scale)
virtual

Set the image scale.

Parameters
[in]scaleimage scale.

◆ SetKerning()

virtual void wxPdfDocument::SetKerning ( bool  kerning)
virtual

Enable or disable kerning.

When enabled, kerning is applied to text output. Kerning is disabled by default.

Parameters
kerningBoolean indicating if kerning should be enabled.

◆ SetKeywords()

virtual void wxPdfDocument::SetKeywords ( const wxString &  keywords)
virtual

Associates keywords with the document,.

Generally keywords are in the form 'keyword1 keyword2 ...'.

Parameters
keywordsThe list of keywords.
See also
SetAuthor(), SetCreator(), SetSubject(), SetTitle()

◆ SetLeftMargin()

virtual void wxPdfDocument::SetLeftMargin ( double  margin)
virtual

Defines the left margin.

The method can be called before creating the first page. If the current abscissa gets out of page, it is brought back to the margin.

Parameters
marginThe margin.
See also
SetTopMargin(), SetRightMargin(), SetAutoPageBreak(), SetMargins()

◆ SetLineHeight()

virtual void wxPdfDocument::SetLineHeight ( double  height)
virtual

Sets the height of a text line.

Parameters
heightThe line height.

◆ SetLineStyle()

virtual void wxPdfDocument::SetLineStyle ( const wxPdfLineStyle linestyle)
virtual

Sets line style.

Parameters
linestyleLine style.
See also
wxPdfLineStale

◆ SetLineWidth()

virtual void wxPdfDocument::SetLineWidth ( double  width)
virtual

Defines the line width.

By default, the value equals 0.2 mm. The method can be called before the first page is created and the value is retained from page to page.

Parameters
widthThe width.
See also
Line(), Rect(), Cell(), MultiCell()

◆ SetLink()

virtual bool wxPdfDocument::SetLink ( int  link,
double  y = 0.,
int  page = -1 
)
virtual

Defines the page and position a link points to.

Parameters
linkThe link identifier returned by AddLink()
yOrdinate of target position; -1 indicates the current position. The default value is 0 (top of page)
pageNumber of target page; -1 indicates the current page. This is the default value
See also
AddLink()

◆ SetMargins()

virtual void wxPdfDocument::SetMargins ( double  left,
double  top,
double  right = -1 
)
virtual

Defines the left, top and right margins.

By default, they equal 1 cm. Call this method to change them.

Parameters
leftLeft margin.
topTop margin.
rightRight margin. Default value is the left one.
See also
SetLeftMargin(), SetTopMargin(), SetRightMargin(), SetAutoPageBreak()

◆ SetMessageTranslateMode()

void wxPdfDocument::SetMessageTranslateMode ( bool  translate)
inline

Set message translation mode.

Sets the message translation mode which controls the handling of msg tags in XML output

Parameters
translateflag specifying whether messages translation should be enabled

◆ SetProtection()

virtual void wxPdfDocument::SetProtection ( int  permissions,
const wxString &  userPassword = wxEmptyString,
const wxString &  ownerPassword = wxEmptyString,
wxPdfEncryptionMethod  encryptionMethod = wxPDF_ENCRYPTION_RC4V1,
int  keyLength = 0 
)
virtual

Set permissions as well as user and owner passwords.

Parameters
permissionsflag indicating permissions. Flags from the following list may be combined as needed If a value is present it means that the permission is granted
userPassworduser password if applicable. If a user password is set, user will be prompted before document is opened
ownerPasswordowner password.if applicable If an owner password is set, the document can be opened in privilege mode with no restriction if that password is entered
encryptionMethodselects the encryption method. Possible values are:
  • wxPDF_ENCRYPTION_RC4V1 RC4 method, version 1, with 40 bit encryption key (default)
  • wxPDF_ENCRYPTION_RC4V2 RC4 method, version 2, with 40..128 bit encryption key
  • wxPDF_ENCRYPTION_AESV2 AES method, with 128 bit encryption key
keyLengthLength of the key used for encryption (Default: 0) The default value selects the standard encryption method revision 2 with a key length of 40 bits. Specifying a value > 0 selects the standard encryption method revision 3 with the given key length, the key length has to be in the range 40..128 and has to be dividable by 8. The key length is adjusted accordingly if these conditions are not met. NOTE: Adobe Reader supports only 40- and 128-bit encryption keys.

◆ SetRightMargin()

virtual void wxPdfDocument::SetRightMargin ( double  margin)
virtual

Defines the right margin.

The method can be called before creating the first page.

Parameters
marginThe margin.
See also
SetLeftMargin(), SetTopMargin(), SetAutoPageBreak(), SetMargins()

◆ SetScaleFactor()

void wxPdfDocument::SetScaleFactor ( const wxString &  unit)
protected

Set internal scale factor.

◆ SetSourceFile()

virtual int wxPdfDocument::SetSourceFile ( const wxString &  filename,
const wxString &  password = wxEmptyString 
)
virtual

Sets a source file for the external template feature.

Selects the source for the external template feature. A parser is setup for importing pages from the PDF document. Although wxPdfDocument usually creates PDF documents conforming to version 1.3 of the PDF standard, parsing of documents conforming to versions up to 1.6 is supported. If pages are aimported from documents conforming to a higher version than 1.3 the version used by wxPdDocument is updated accordingly.

Parameters
filenamea valid filename
passworda valid user or owner password if the PDF document is encrypted
Returns
the number of available pages, or 0 if the document could not be opened
See also
ImportPage(), UseTemplate()

Attention: Access permissions for printing, copying and extracting text or graphics are required. If a PDF document does not have these access permissions, it cannot be used as a source for the external template feature.

◆ SetSubject()

virtual void wxPdfDocument::SetSubject ( const wxString &  subject)
virtual

Defines the subject of the document.

Parameters
subjectThe subject.
See also
SetAuthor(), SetCreator(), SetKeywords(), SetTitle()

◆ SetTemplateBBox()

virtual void wxPdfDocument::SetTemplateBBox ( int  templateId,
double  x,
double  y,
double  width,
double  height 
)
virtual

Sets the bounding box of a template.

As long as a template hasn't been used it is possible to change the bounding box of the template. This may be useful for pages imported from an external PDF document allowing to set the visible portion of the template. Note: Setting the bounding box influences only the visible area of the template, not the real size it occupies.

Parameters
templateIdA valid template ID
xThe x coordinate of the lower left corner
yThe y coordinate of the lower left corner
widthThe width of the template
heightThe height of the template
See also
GetTemplateBBox(), BeginTemplate(), ImportPage()

◆ SetTextColour() [1/6]

virtual void wxPdfDocument::SetTextColour ( const unsigned char  grayscale)
virtual

Defines the colour used for text.

It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
grayscaleindicates the gray level. Value between 0 and 255
See also
SetDrawColour(), SetFillColour(), Text(), Cell(), MultiCell()

◆ SetTextColour() [2/6]

virtual void wxPdfDocument::SetTextColour ( const wxColour &  colour)
virtual

Defines the colour used for text.

It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
colourdefines a colour composed of a red, green and blue component
See also
SetDrawColour(), SetFillColour(), Text(), Cell(), MultiCell()

◆ SetTextColour() [3/6]

virtual void wxPdfDocument::SetTextColour ( const wxPdfColour colour)
virtual

Defines the colour used for text.

It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
colourdefines a colour using the class wxPdfColour
See also
SetDrawColour(), SetFillColour(), Text(), Cell(), MultiCell()

◆ SetTextColour() [4/6]

virtual void wxPdfDocument::SetTextColour ( const unsigned char  red,
const unsigned char  green,
const unsigned char  blue 
)
virtual

Defines the colour used for text.

It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
redindicates the red level. Value between 0 and 255
greenindicates the green level. Value between 0 and 255
blueindicates the blue level. Value between 0 and 255
See also
SetDrawColour(), SetFillColour(), Text(), Cell(), MultiCell()

◆ SetTextColour() [5/6]

virtual void wxPdfDocument::SetTextColour ( double  cyan,
double  magenta,
double  yellow,
double  black 
)
virtual

Defines the colour used for text.

It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
cyanindicates the cyan level. Value between 0 and 100
magentaindicates the magenta level. Value between 0 and 100
yellowindicates the yellow level. Value between 0 and 100
blackindicates the black level. Value between 0 and 100
See also
SetDrawColour(), SetFillColour(), Text(), Cell(), MultiCell()

◆ SetTextColour() [6/6]

virtual void wxPdfDocument::SetTextColour ( const wxString &  name,
double  tint = 100 
)
virtual

Defines the spot colour used for text.

It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

Parameters
namethe name of the spot colour
tintindicates the tint level. Value between 0 and 100. Default: 100.
See also
SetDrawColour(), SetFillColour(), Text(), Cell(), MultiCell()

◆ SetTextPattern()

virtual void wxPdfDocument::SetTextPattern ( const wxString &  name)
virtual

Defines the pattern used for text output.

The given pattern is used for text output instead of a colour. The method can be called before the first page is created and the value is retained from page to page.

Parameters
namethe name of the pattern
See also
SetDrawPattern()

◆ SetTextRenderMode()

virtual void wxPdfDocument::SetTextRenderMode ( wxPdfTextRenderMode  mode = wxPDF_TEXT_RENDER_FILL)
virtual

Sets the text render mode.

Parameters
modethe text render mode

◆ SetTitle()

virtual void wxPdfDocument::SetTitle ( const wxString &  title)
virtual

Defines the title of the document.

Parameters
titleThe title.
See also
SetAuthor(), SetCreator(), SetKeywords(), SetSubject()

◆ SetTopMargin()

virtual void wxPdfDocument::SetTopMargin ( double  margin)
virtual

Defines the top margin.

The method can be called before creating the first page.

Parameters
marginThe margin.
See also
SetLeftMargin(), SetRightMargin(), SetAutoPageBreak(), SetMargins()

◆ SetViewerPreferences()

virtual void wxPdfDocument::SetViewerPreferences ( int  preferences = 0)
virtual

Defines the viewer preferences.

Parameters
preferencesA set of viewer preferences options.
  • wxPDF_VIEWER_HIDETOOLBAR: Hide tool bar
  • wxPDF_VIEWER_HIDEMENUBAR: Hide menu bar
  • wxPDF_VIEWER_HIDEWINDOWUI: Hide user interface
  • wxPDF_VIEWER_FITWINDOW: Fit window to page size
  • wxPDF_VIEWER_CENTERWINDOW: Center window on screen
  • wxPDF_VIEWER_DISPLAYDOCTITLE: Display document title in title bar

◆ SetX()

virtual void wxPdfDocument::SetX ( double  x)
virtual

Defines the abscissa of the current position.

If the passed value is negative, it is relative to the right of the page.

Parameters
xThe value of the abscissa.
See also
GetX(), GetY(), SetY(), SetXY()

◆ SetXY()

virtual void wxPdfDocument::SetXY ( double  x,
double  y 
)
virtual

Defines the abscissa and ordinate of the current position.

If the passed values are negative, they are relative respectively to the right and bottom of the page.

Parameters
xThe value of the abscissa
yThe value of the ordinate
See also
SetX(), SetY()

◆ SetY()

virtual void wxPdfDocument::SetY ( double  y)
virtual

Moves the current abscissa back to the left margin and sets the ordinate.

If the passed value is negative, it is relative to the bottom of the page.

Parameters
yThe value of the ordinate.
See also
GetX(), GetY(), SetY(), SetXY()

◆ Shape()

virtual void wxPdfDocument::Shape ( const wxPdfShape shape,
int  style = wxPDF_STYLE_DRAW 
)
virtual

Draws a shape.

Parameters
shapeshape to be drawn
styleStyle of rendering. Possible values are:
  • wxPDF_STYLE_DRAW (default)
  • wxPDF_STYLE_FILL: fill
  • wxPDF_STYLE_FILLDRAW: draw and fill
  • wxPDF_STYLE_DRAWCLOSE: close path and draw (can be combined with wxPDF_STYLE_FILL

◆ ShapedText()

virtual void wxPdfDocument::ShapedText ( const wxPdfShape shape,
const wxString &  text,
wxPdfShapedTextMode  mode = wxPDF_SHAPEDTEXTMODE_STRETCHTOFIT 
)
virtual

Prints a text string along a path defined by a shape.

Parameters
shapeshape defining a path along which the text is printed
texttext string to be printed
modeflag how to handle the text string
  • wxPDF_SHAPEDTEXTMODE_ONETIME: the text should be printed at most one time depending on the path length
  • wxPDF_SHAPEDTEXTMODE_STRETCHTOFIT: the text should be stretched to fit exactly along the given path (default)
  • wxPDF_SHAPEDTEXTMODE_REPEAT: the text should be repeated if the text length is shorter than the path length

◆ ShowGlyph()

void wxPdfDocument::ShowGlyph ( wxUint32  glyph)
protected

Show a single glyph.

◆ ShowText()

void wxPdfDocument::ShowText ( const wxString &  txt)
protected

Show text string, with kerning if requested.

◆ Skew()

virtual bool wxPdfDocument::Skew ( double  xAngle,
double  yAngle,
double  x = -1,
double  y = -1 
)
virtual

Performs a skewing in both X and Y directions.

Parameters
xAngleangle in degrees between -90 (skew to the left) and 90 (skew to the right)
yAngleangle in degrees between -90 (skew to the bottom) and 90 (skew to the top)
xabscissa of the skewing center. default is current x position
yordinate of the skewing center. default is current y position

◆ SkewX()

virtual bool wxPdfDocument::SkewX ( double  xAngle,
double  x = -1,
double  y = -1 
)
virtual

Performs a skewing in both X direction only.

Parameters
xAngleangle in degrees between -90 (skew to the left) and 90 (skew to the right)
xabscissa of the skewing center. default is current x position
yordinate of the skewing center. default is current y position

◆ SkewY()

virtual bool wxPdfDocument::SkewY ( double  yAngle,
double  x = -1,
double  y = -1 
)
virtual

Performs a skewing in Y direction only.

Parameters
yAngleangle in degrees between -90 (skew to the bottom) and 90 (skew to the top)
xabscissa of the skewing center. default is current x position
yordinate of the skewing center. default is current y position

◆ StarPolygon()

virtual void wxPdfDocument::StarPolygon ( double  x0,
double  y0,
double  r,
int  nv,
int  ng,
double  angle = 0,
bool  circle = false,
int  style = wxPDF_STYLE_DRAW,
int  circleStyle = wxPDF_STYLE_DRAW,
const wxPdfLineStyle circleLineStyle = wxPdfLineStyle(),
const wxPdfColour circleFillColour = wxPdfColour() 
)
virtual

Draws a star polygon.

Parameters
x0Abscissa of Center point
y0Ordinate of Center point
rRadius of circumscribed circle
nvNumber of vertices
ngNumber of gaps (ng % nv = 1 => regular polygon)
angleOrientation angle (anti-clockwise)
circleFlag whether to draw circumscribed circle or not
styleStyle of polygon (draw and/or fill)
circleStyleStyle of circumscribed circle (draw and/or fill) (if draw)
circleLineStyleLine style for circumscribed circle. (if draw)
circleFillColourFill colour for circumscribed circle. (if draw fill circle)

◆ StartTransform()

virtual void wxPdfDocument::StartTransform ( )
virtual

Enters a transformation environment.

Before applying any transformation this method should be invoked. All transformation method invoke it implicitly if necessary. All open transformation environments are closed implicitly on page end.

◆ StopTransform()

virtual void wxPdfDocument::StopTransform ( )
virtual

Leaves a transformation environment.

This method should be invoked to cancel a transformation environment opened by StartTransform. All open transformation environments are closed implicitly on page end.

◆ Text()

virtual void wxPdfDocument::Text ( double  x,
double  y,
const wxString &  txt 
)
virtual

Prints a character string.

The origin is on the left of the first charcter, on the baseline. This method allows to place a string precisely on the page, but it is usually easier to use Cell(), MultiCell() or Write() which are the standard methods to print text.

Parameters
xAbscissa of the origin
yOrdinate of the origin
txtString to print
See also
SetFont(), SetTextColour(), Cell(), MultiCell(), Write()

◆ TextBox()

virtual int wxPdfDocument::TextBox ( double  w,
double  h,
const wxString &  txt,
int  halign = wxPDF_ALIGN_JUSTIFY,
int  valign = wxPDF_ALIGN_TOP,
int  border = 0,
int  fill = 0 
)
virtual

This method counts the number of lines a text will occupy in respect to a given maximal width.

Parameters
wWidth of cells. If 0, they extend up to the right margin of the page.
hHeight of cells.
txtString to print
halignAllows to center or align the text. Possible values are:
  • wxPDF_ALIGN_LEFT align the text at the left margin
  • wxPDF_ALIGN_CENTER center the text
  • wxPDF_ALIGN_RIGHT align the text at the right margin
  • wxPDF_ALIGN_JUSTIFY justify the text (default)
valignAllows to vertical align the text. Possible values are:
  • wxPDF_ALIGN_TOP align the text at the top of the box
  • wxPDF_ALIGN_MIDDLE center the text vertically in the box
  • wxPDF_ALIGN_BOTTOM align the text at the bottom of the box
borderIndicates if borders must be drawn around the text box. The value can be
  • wxPDF_BORDER_NONE no border
  • wxPDF_BORDER_LEFT left border
  • wxPDF_BORDER_RIGHT right border
  • wxPDF_BORDER_TOP top border
  • wxPDF_BORDER_BOTTOM bottom border
  • wxPDF_BORDER_FRAME border on all sides
or a combination of them.
fillIndicates if the cell background must be painted (1) or transparent (0). Default value: 0.

◆ TextEscape()

void wxPdfDocument::TextEscape ( const wxString &  s,
bool  newline = true 
)
protected

Format a text string.

◆ TextField() [1/2]

virtual void wxPdfDocument::TextField ( const wxString &  name,
double  width,
double  height,
const wxString &  value = wxEmptyString,
bool  multiline = false 
)
virtual

Adds a text field at the current position.

Adds a text field to the list of form fields at the current position

Parameters
namefield name of the text field
widthwidth of the text field
heightheight of the text field
valuedefault value of the text field
multilineflag whether the text field is a multiline field or not

◆ TextField() [2/2]

virtual void wxPdfDocument::TextField ( const wxString &  name,
double  x,
double  y,
double  width,
double  height,
const wxString &  value = wxEmptyString,
bool  multiline = false 
)
virtual

Adds a text field.

Adds a text field to the list of form fields

Parameters
namefield name of the text field
xabscissa of the text field position
yordinate of the text field position
widthwidth of the text field
heightheight of the text field
valuedefault value of the text field
multilineflag whether the text field is a multiline field or not

◆ Transform() [1/2]

virtual void wxPdfDocument::Transform ( double  a,
double  b,
double  c,
double  d,
double  tx,
double  ty 
)
virtual

◆ Transform() [2/2]

void wxPdfDocument::Transform ( double  tm[6])
protected

Perform transformation.

◆ Translate()

virtual void wxPdfDocument::Translate ( double  tx,
double  ty 
)
virtual

Moves the origin.

Parameters
txmovement to the right
tymovement to the bottom

◆ TranslateX()

virtual void wxPdfDocument::TranslateX ( double  tx)
virtual

Moves the X origin.

Parameters
txmovement to the right

◆ TranslateY()

virtual void wxPdfDocument::TranslateY ( double  ty)
virtual

Moves the Y origin.

Parameters
tymovement to the bottom

◆ UnsetClipping()

virtual void wxPdfDocument::UnsetClipping ( )
virtual

Remove clipping area.

Once you have finished using the clipping, you must remove it with UnsetClipping().

◆ UseTemplate()

virtual void wxPdfDocument::UseTemplate ( int  templateId,
double  x = -1,
double  y = -1,
double  width = 0,
double  height = 0 
)
virtual

Uses a template in current page or in another template.

Uses the specified template just like an image in the current page or in another template.

All parameters are optional. The width or height is calculated using GetTemplateSize internally. By default the size as defined by BeginTemplate is used.

Parameters
templateIdA valid template ID
xThe x coordinate
yThe y coordinate
widthThe new width of the template
heightThe new height of the template
See also
BeginTemplate(), EndTemplate(), ImportPage()

Attention: The template may be displayed distorted, if both width and height are given with values > 0 and do not correspond to the dimensions of the template.

◆ Write()

virtual void wxPdfDocument::Write ( double  h,
const wxString &  txt,
const wxPdfLink link = wxPdfLink(-1) 
)
virtual

This method prints text from the current position.

When the right margin is reached (or the
character is met) a line break occurs and text continues from the left margin. Upon method exit, the current position is left just at the end of the text. It is possible to put a link on the text.

Parameters
hLine height
txtString to print
linkURL or identifier returned by AddLink()
See also
SetFont(), SetTextColour(), AddLink(), MultiCell(), SetAutoPageBreak()

◆ WriteCell()

virtual void wxPdfDocument::WriteCell ( double  h,
const wxString &  txt,
int  border = wxPDF_BORDER_NONE,
int  fill = 0,
const wxPdfLink link = wxPdfLink(-1) 
)
virtual

This method prints text with cell attributes from the current position.

When the right margin is reached (or the
character is met) a line break occurs and text continues from the left margin. Upon method exit, the current position is left just at the end of the text. It is possible to put a link on the text.

Parameters
hLine height
txtString to print
borderIndicates if borders must be drawn around the cell. The value can be
  • wxPDF_BORDER_NONE no border
  • wxPDF_BORDER_LEFT left border
  • wxPDF_BORDER_RIGHT right border
  • wxPDF_BORDER_TOP top border
  • wxPDF_BORDER_BOTTOM bottom border
  • wxPDF_BORDER_FRAME border on all sides
or a combination of them.
fillIndicates if the cell background must be painted (1) or transparent (0). Default value: 0.
linkURL or identifier returned by AddLink()
See also
SetFont(), SetTextColour(), AddLink(), MultiCell(), SetAutoPageBreak()

◆ WriteGlyphArray()

virtual bool wxPdfDocument::WriteGlyphArray ( wxPdfArrayDouble &  x,
wxPdfArrayDouble &  y,
wxPdfArrayUint32 &  glyphs 
)
virtual

Prints an array of glyphs identified by glyph numbers from the current position.

The glyphs are positioned according to the given offsets in horizontal (x) and vertical (y) direction.

Note
This method only works for dynamically loaded TrueType and OpenType Unicode fonts.

◆ WriteObjectValue()

virtual void wxPdfDocument::WriteObjectValue ( wxPdfObject value,
bool  newline = true 
)
protectedvirtual

◆ WriteXml() [1/2]

virtual void wxPdfDocument::WriteXml ( const wxString &  str)
virtual

Prints a string containing simple XML markup.

Output starts at the current position.

Parameters
strstring containing text with simple XML markup
See also
Styling text using a simple markup language

◆ WriteXml() [2/2]

void wxPdfDocument::WriteXml ( wxXmlNode *  node)
protected

Write XML using XML node.

◆ WriteXmlCell()

void wxPdfDocument::WriteXmlCell ( wxXmlNode *  node,
wxPdfCellContext context 
)
protected

Output a prepared XML cell.

◆ WriteXmlTable()

void wxPdfDocument::WriteXmlTable ( wxPdfCellContext context)
protected

Output a prepared XML table.

Friends And Related Function Documentation

◆ wxPdfImage

friend class wxPdfImage
friend

◆ wxPdfTable

friend class wxPdfTable
friend

The documentation for this class was generated from the following file: