wxPdfDocument 1.2.0
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.
 
 wxPdfDocument (int orientation, double pageWidth, double pageHeight, const wxString &unit=wxString(wxS("mm")))
 
virtual ~wxPdfDocument ()
 
virtual bool 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.
 
virtual void SetImageScale (double scale)
 Set the image scale.
 
virtual double GetImageScale ()
 Returns the image scale.
 
virtual int GetPageOrientation ()
 Returns the page orientation.
 
virtual int GetDefaultPageOrientation ()
 Returns the default page orientation.
 
virtual double GetPageWidth ()
 Returns the page width in units.
 
virtual double GetPageHeight ()
 Returns the page height in units.
 
virtual double GetBreakMargin ()
 Returns the page break margin.
 
virtual double GetScaleFactor ()
 Returns the scale factor (number of points in user unit).
 
virtual void SetMargins (double left, double top, double right=-1)
 Defines the left, top and right margins.
 
virtual void SetLeftMargin (double margin)
 Defines the left margin.
 
virtual double GetLeftMargin ()
 Returns the left margin.
 
virtual void SetTopMargin (double margin)
 Defines the top margin.
 
virtual double GetTopMargin ()
 Returns the top margin.
 
virtual void SetRightMargin (double margin)
 Defines the right margin.
 
virtual double GetRightMargin ()
 Returns the right margin.
 
virtual void SetCellMargin (double margin)
 Defines the cell margin.
 
virtual double GetCellMargin ()
 Returns the cell margin.
 
virtual void SetLineHeight (double height)
 Sets the height of a text line.
 
virtual double GetLineHeight ()
 Returns the height of a text line.
 
virtual void SetAutoPageBreak (bool autoPageBreak, double margin=0)
 Enables or disables the automatic page breaking mode.
 
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.
 
virtual void SetPaperHandling (wxPdfPaperHandling paperHandling)
 Defines the paper handling when printing (simplex / duplex).
 
virtual void SetKerning (bool kerning)
 Enable or disable kerning.
 
virtual void SetCompression (bool compress)
 Activates or deactivates page compression.
 
virtual void SetViewerPreferences (int preferences=0)
 Defines the viewer preferences.
 
virtual void SetTitle (const wxString &title)
 Defines the title of the document.
 
virtual void SetSubject (const wxString &subject)
 Defines the subject of the document.
 
virtual void SetAuthor (const wxString &author)
 Defines the author of the document.
 
virtual void SetKeywords (const wxString &keywords)
 Associates keywords with the document,.
 
virtual void SetCreator (const wxString &creator)
 Defines the creator of the document.
 
virtual void SetCreationDate (const wxDateTime &creationDate)
 Defines the creation timestamp of the document.
 
virtual void AliasNbPages (const wxString &alias=wxString(wxS("{nb}")))
 Defines an alias for the total number of pages.
 
virtual void Open ()
 This method begins the generation of the PDF document.
 
virtual void Close ()
 Terminates the PDF document.
 
virtual void AddPage (int orientation=-1, bool useDefaultPageSize=true)
 Adds a new page to the document.
 
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.
 
virtual void Footer ()
 This method is used to render the page footer.
 
virtual bool IsInFooter ()
 Returns whether footer output is in progress.
 
virtual int PageNo ()
 Returns the current page number.
 
virtual void AddSpotColour (const wxString &name, double cyan, double magenta, double yellow, double black)
 Add spot colour.
 
virtual bool AddPattern (const wxString &patternName, const wxImage &image, double width, double height)
 Add an image pattern.
 
virtual bool AddPattern (const wxString &patternName, int templateId, double width, double height)
 Add a template based pattern.
 
virtual bool AddPattern (const wxString &patternName, wxPdfPatternStyle patternStyle, double width, double height, const wxColour &drawColour, const wxColour &fillColour=wxColour())
 Add a hatched pattern.
 
virtual void SetDrawColour (const unsigned char grayscale)
 Defines the colour used for all drawing operations.
 
virtual void SetDrawColour (const wxColour &colour)
 Defines the colour used for all drawing operations.
 
virtual void SetDrawColour (const wxPdfColour &colour)
 Defines the colour used for all drawing operations.
 
virtual void SetDrawColour (const unsigned char red, const unsigned char green, const unsigned char blue)
 Defines the colour used for all drawing operations.
 
virtual void SetDrawColour (double cyan, double magenta, double yellow, double black)
 Defines the colour used for all drawing operations.
 
virtual void SetDrawColour (const wxString &name, double tint=100)
 Defines the spot colour used for all drawing operations.
 
virtual void SetDrawPattern (const wxString &name)
 Defines the pattern used for all drawing operations.
 
virtual const wxPdfColour GetDrawColour ()
 Gets the colour used for all drawing operations.
 
virtual void SetFillColour (const unsigned char grayscale)
 Defines the colour used for all filling operations.
 
virtual void SetFillColour (const wxColour &colour)
 Defines the colour used for all filling operations.
 
virtual void SetFillColour (const wxPdfColour &colour)
 Defines the colour used for all filling operations.
 
virtual void SetFillColour (const unsigned char red, const unsigned char green, const unsigned char blue)
 Defines the colour used for all filling operations.
 
virtual void SetFillColour (double cyan, double magenta, double yellow, double black)
 Defines the colour used for all filling operations.
 
virtual void SetFillColour (const wxString &name, double tint=100)
 Defines the spot colour used for all filling operations.
 
virtual void SetFillPattern (const wxString &name)
 Defines the pattern used for all filling operations.
 
virtual const wxPdfColour GetPatternColour (const wxString &patternName)
 Gets the named pattern as a colour.
 
virtual const wxPdfColour GetFillColour ()
 Gets the colour used for all filling operations.
 
virtual void SetTextColour (const unsigned char grayscale)
 Defines the colour used for text.
 
virtual void SetTextColour (const wxColour &colour)
 Defines the colour used for text.
 
virtual void SetTextColour (const wxPdfColour &colour)
 Defines the colour used for text.
 
virtual void SetTextColour (const unsigned char red, const unsigned char green, const unsigned char blue)
 Defines the colour used for text.
 
virtual void SetTextColour (double cyan, double magenta, double yellow, double black)
 Defines the colour used for text.
 
virtual void SetTextColour (const wxString &name, double tint=100)
 Defines the spot colour used for text.
 
virtual void SetTextPattern (const wxString &name)
 Defines the pattern used for text output.
 
virtual const wxPdfColour GetTextColour ()
 Gets the colour used for text output.
 
virtual void SetTextRenderMode (wxPdfTextRenderMode mode=wxPDF_TEXT_RENDER_FILL)
 Sets the text render mode.
 
virtual wxPdfTextRenderMode GetTextRenderMode () const
 Returns the text render mode.
 
virtual double GetStringWidth (const wxString &s, double charSpacing=0)
 Returns the length of a string in user unit.
 
virtual void SetLineWidth (double width)
 Defines the line width.
 
virtual double GetLineWidth ()
 Gets the current line width.
 
virtual void SetLineStyle (const wxPdfLineStyle &linestyle)
 Sets line style.
 
virtual const wxPdfLineStyleGetLineStyle ()
 Get current line style.
 
virtual void SetFillingRule (int rule=wxWINDING_RULE)
 Set the filling rule.
 
virtual int GetFillingRule ()
 Get the current filling rule.
 
virtual void Line (double x1, double y1, double x2, double y2)
 Draws a line between two points.
 
virtual void Arrow (double x1, double y1, double x2, double y2, double linewidth, double height, double width)
 Draws an arrow line between two points.
 
virtual void Rect (double x, double y, double w, double h, int style=wxPDF_STYLE_DRAW)
 Outputs a rectangle.
 
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.
 
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.
 
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.
 
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.
 
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.
 
virtual void Polygon (const wxPdfArrayDouble &x, const wxPdfArrayDouble &y, int style=wxPDF_STYLE_DRAW)
 Draws a polygon.
 
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.
 
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.
 
virtual void BezierSpline (const wxPdfArrayDouble &x, const wxPdfArrayDouble &y, int style)
 Draws a Bezier spline through a list of points.
 
virtual void ClosedBezierSpline (const wxPdfArrayDouble &x, const wxPdfArrayDouble &y, int style)
 Draws a closed Bezier spline through a list of points.
 
virtual void Shape (const wxPdfShape &shape, int style=wxPDF_STYLE_DRAW)
 Draws a shape.
 
virtual void Rotate (double angle)
 Performs a rotation around the current position.
 
virtual void Rotate (double angle, double x, double y)
 Performs a rotation around a given center.
 
virtual void SetFontSubsetting (bool fontSubsetting=true)
 Sets the font embedding mode.
 
virtual bool GetFontSubsetting () const
 Returns the font embedding mode.
 
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.
 
virtual bool AddFontCJK (const wxString &family)
 Imports a CJK (Chinese, Japanese or Korean) font and makes it available.
 
virtual bool SetFont (const wxString &family, const wxString &style=wxEmptyString, double size=0)
 Sets the font used to print character strings.
 
virtual bool SetFont (const wxString &family, int style, double size=0)
 Sets the font used to print character strings.
 
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.
 
virtual bool SetFont (const wxFont &font)
 Sets the font used to print character strings based on a wxFont object.
 
virtual void SetFontSize (double size)
 Defines the size of the current font.
 
virtual wxPdfFont GetCurrentFont () const
 Returns the current font.
 
virtual const wxPdfFontDescriptionGetFontDescription () const
 Returns the current font description instance.
 
virtual const wxString GetFontFamily ()
 Gets the font family of the current font.
 
virtual const wxString GetFontStyle () const
 Gets the style of the current font.
 
virtual int GetFontStyles () const
 Gets the style of the current font.
 
virtual double GetFontSize () const
 Gets the size of the current font.
 
virtual int AddLink ()
 Creates a new internal link and returns its identifier.
 
virtual bool SetLink (int link, double y=0., int page=-1)
 Defines the page and position a link points to.
 
virtual void Link (double x, double y, double w, double h, const wxPdfLink &link)
 Puts a link on a rectangular area of the page.
 
virtual void Bookmark (const wxString &txt, int level=0, double y=0)
 Adds a bookmark to the document outline.
 
virtual void Text (double x, double y, const wxString &txt)
 Prints a character string.
 
virtual void RotatedText (double x, double y, const wxString &txt, double angle)
 Prints a rotated text string.
 
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.
 
virtual bool AcceptPageBreak ()
 Whenever a page break condition is met,.
 
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.
 
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.
 
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.
 
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.
 
virtual void Write (double h, const wxString &txt, const wxPdfLink &link=wxPdfLink(-1))
 This method prints text from the current position.
 
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.
 
virtual bool WriteGlyphArray (wxPdfArrayDouble &x, wxPdfArrayDouble &y, wxPdfArrayUint32 &glyphs)
 Prints an array of glyphs identified by glyph numbers from the current position.
 
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.
 
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.
 
virtual double GetLastImageBottomRightX ()
 Get x coordinate of bottom right corner of last inserted image.
 
virtual double GetLastImageBottomRightY ()
 Get y coordinate of bottom right corner of last inserted image.
 
virtual void Ln (double h=-1)
 Performs a line break.
 
virtual double GetX ()
 Returns the abscissa of the current position.
 
virtual void SetX (double x)
 Defines the abscissa of the current position.
 
virtual double GetY ()
 Returns the ordinate of the current position.
 
virtual void SetY (double y)
 Moves the current abscissa back to the left margin and sets the ordinate.
 
virtual void SetXY (double x, double y)
 Defines the abscissa and ordinate of the current position.
 
virtual bool SaveAsFile (const wxString &name=wxEmptyString)
 Saves the document to a file on disk.
 
virtual const wxMemoryOutputStream & CloseAndGetBuffer ()
 Closes the document and returns the memory buffer containing the document.
 
virtual void ClippingText (double x, double y, const wxString &txt, bool outline=false)
 Define text as clipping area.
 
virtual void ClippingRect (double x, double y, double w, double h, bool outline=false)
 Define rectangle as clipping area.
 
virtual void ClippingEllipse (double x, double y, double rx, double ry=0, bool outline=false)
 Define ellipse as clipping area.
 
virtual void ClippingPolygon (const wxPdfArrayDouble &x, const wxPdfArrayDouble &y, bool outline=false)
 Define polygon as clipping area.
 
virtual void ClippingPath ()
 Start defining a clipping path.
 
virtual void MoveTo (double x, double y)
 Begin a new subpath.
 
virtual void LineTo (double x, double y)
 Append a straight line segment to the current (sub)path.
 
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.
 
virtual void EndPath (int style=wxPDF_STYLE_DRAW)
 End a graphics path.
 
virtual void ClosePath (int style=wxPDF_STYLE_NOOP)
 Close the clipping path.
 
virtual void ClippingPath (const wxPdfShape &shape, int style=wxPDF_STYLE_NOOP)
 Define clipping area using a shape.
 
virtual void UnsetClipping ()
 Remove clipping area.
 
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.
 
virtual void StartTransform ()
 Enters a transformation environment.
 
virtual bool ScaleX (double sx)
 Performs scaling in X direction only with the current position as the scaling center.
 
virtual bool ScaleX (double sx, double x, double y)
 Performs scaling in X direction only.
 
virtual bool ScaleY (double sy)
 Performs scaling in Y direction only with the current position as the scaling center.
 
virtual bool ScaleY (double sy, double x, double y)
 Performs scaling in Y direction only.
 
virtual bool ScaleXY (double s)
 Performs equal scaling in X and Y direction with the current position as the scaling center.
 
virtual bool ScaleXY (double s, double x, double y)
 Performs equal scaling in X and Y direction.
 
virtual bool Scale (double sx, double sy)
 Performs scaling in X and Y direction with the current position as the scaling center.
 
virtual bool Scale (double sx, double sy, double x, double y)
 Performs scaling in X and Y direction.
 
virtual void MirrorH ()
 Performs a horizontal mirroring transformation.
 
virtual void MirrorH (double x)
 Performs a horizontal mirroring transformation.
 
virtual void MirrorV ()
 Performs a vertical mirroring transformation.
 
virtual void MirrorV (double y)
 Performs a vertical mirroring transformation.
 
virtual void TranslateX (double tx)
 Moves the X origin.
 
virtual void TranslateY (double ty)
 Moves the Y origin.
 
virtual void Translate (double tx, double ty)
 Moves the origin.
 
virtual bool SkewX (double xAngle)
 Performs a skewing in X direction only with the current position as the skewing center.
 
virtual bool SkewX (double xAngle, double x, double y)
 Performs a skewing in both X direction only.
 
virtual bool SkewY (double yAngle)
 Performs a skewing in Y direction only with the current position as the skewing center.
 
virtual bool SkewY (double yAngle, double x, double y)
 Performs a skewing in Y direction only.
 
virtual bool Skew (double xAngle, double yAngle)
 Performs a skewing in both X and Y directions with the current position as the skewing center.
 
virtual bool Skew (double xAngle, double yAngle, double x, double y)
 Performs a skewing in both X and Y directions.
 
virtual void Transform (double a, double b, double c, double d, double tx, double ty)
 
virtual void StopTransform ()
 Leaves a transformation environment.
 
virtual int SetAlpha (double lineAlpha=1, double fillAlpha=1, wxPdfBlendMode blendMode=wxPDF_BLENDMODE_NORMAL)
 Sets alpha values and blend mode.
 
virtual void SetAlphaState (int alphaState)
 Sets a previously defined alpha state.
 
virtual int LinearGradient (const wxPdfColour &col1, const wxPdfColour &col2, wxPdfLinearGradientType gradientType=wxPDF_LINEAR_GRADIENT_HORIZONTAL)
 Defines a linear gradient shading.
 
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.
 
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.
 
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.
 
virtual int CoonsPatchGradient (const wxPdfCoonsPatchMesh &mesh, double minCoord=0, double maxCoord=1)
 Defines a coons patch mesh gradient shading.
 
virtual void SetFillGradient (double x, double y, double w, double h, int gradient)
 Paints a gradient shading to rectangular area.
 
virtual void Marker (double x, double y, wxPdfMarker markerType, double size)
 Draws a graphical marker symbol.
 
virtual void Annotate (double x, double y, const wxString &text)
 Adds a text annotation.
 
virtual void AppendJavascript (const wxString &javascript)
 Appends Javascript.
 
virtual void WriteXml (const wxString &str)
 Prints a string containing simple XML markup.
 
virtual void CheckBox (const wxString &name, double width, bool checked=false)
 Adds a check box field at the current position.
 
virtual void CheckBox (const wxString &name, double x, double y, double width, bool checked=false)
 Adds a check box field.
 
virtual void ComboBox (const wxString &name, double width, double height, const wxArrayString &values)
 Adds a combo box field at the current position.
 
virtual void ComboBox (const wxString &name, double x, double y, double width, double height, const wxArrayString &values)
 Adds a combo box field.
 
virtual void PushButton (const wxString &name, double width, double height, const wxString &caption, const wxString &action)
 Adds a push button at the current position.
 
virtual void PushButton (const wxString &name, double x, double y, double width, double height, const wxString &caption, const wxString &action)
 Adds a push button.
 
virtual void RadioButton (const wxString &group, const wxString &name, double width)
 Adds a radio button at the current position.
 
virtual void RadioButton (const wxString &group, const wxString &name, double x, double y, double width)
 Adds a radio button.
 
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.
 
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.
 
virtual void SetFormColours (const wxPdfColour &borderColour=wxPdfColour(), const wxPdfColour &backgroundColour=wxPdfColour(250), const wxPdfColour &textColour=wxPdfColour())
 Sets colours for form fields.
 
virtual void SetFormBorderStyle (wxPdfBorderStyle borderStyle=wxPDF_BORDER_SOLID, double borderWidth=-1)
 Sets the border style for form fields.
 
virtual int BeginTemplate (double x=0, double y=0, double width=0, double height=0)
 Starts a new Template.
 
virtual int EndTemplate ()
 Terminates a template.
 
virtual void GetTemplateSize (int templateId, double &width, double &height)
 Get the calculated size of a template.
 
virtual void UseTemplate (int templateId)
 Uses a template in current page or in another template.
 
virtual void UseTemplate (int templateId, double x, double y, double width=0, double height=0)
 Uses a template in current page or in another template.
 
virtual int SetSourceFile (const wxString &filename, const wxString &password=wxEmptyString)
 Sets a source file for the external template feature.
 
virtual bool GetSourceInfo (wxPdfInfo &info)
 Gets the document information dictionary of the current external PDF document.
 
virtual int ImportPage (unsigned int pageno, wxPdfPageBox pageBox=wxPDF_PAGEBOX_ARTBOX)
 Imports a page from an external PDF document.
 
virtual void GetTemplateBBox (int templateId, double &x, double &y, double &width, double &height)
 Gets the bounding box of a template.
 
virtual void SetTemplateBBox (int templateId, double x, double y, double width, double height)
 Sets the bounding box of a template.
 
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.
 
virtual wxPdfLayerAddLayer (const wxString &layerName)
 Add a layer.
 
virtual wxPdfLayerAddLayerTitle (const wxString &layerTitle)
 Add a title layer.
 
virtual wxPdfLayerMembershipAddLayerMembership ()
 Add a layer membership container.
 
virtual void LockLayer (wxPdfLayer *layer)
 Lock a layer.
 
virtual void AddLayerRadioGroup (const wxPdfLayerGroup &radioGroup)
 Add a radio group of layers.
 
virtual void EnterLayer (wxPdfLayer *layer)
 Enter a layer.
 
virtual void EnterLayer (wxPdfLayerMembership *layer)
 
virtual void LeaveLayer ()
 Leave a layer.
 
virtual bool AttachFile (const wxString &fileName, const wxString &attachName=wxEmptyString, const wxString &description=wxEmptyString)
 Attach file.
 
void SetPdfA1Conformance (bool enable)
 Set PDF/A-1b conformance.
 
bool GetPdfA1Conformance () const
 Get PDF/A-1b conformance.
 
void SetMessageTranslateMode (bool translate)
 Set message translation mode.
 
bool GetMessageTranslateMode ()
 Get message translation mode.
 

Protected Member Functions

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

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,
double pageWidth,
double pageHeight )
virtual

◆ AddPage() [2/4]

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

◆ AddPage() [3/4]

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

◆ AddPage() [4/4]

virtual void wxPdfDocument::AddPage ( int orientation = -1,
bool useDefaultPageSize = true )
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.
useDefaultPageSizeFlag whether to use the default page size or the current page size
See also
FPDF(), Header(), Footer(), SetMargins()

◆ AddPattern() [1/3]

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

Add an image pattern.

Add an image pattern which can be referenced in draw or fill pattern methods

Parameters
patternNamethe name of the pattern (case sensitive)
imagethe image to be used as a pattern
widththe display width of the pattern
heightthe display height of the pattern

◆ AddPattern() [2/3]

virtual bool wxPdfDocument::AddPattern ( const wxString & patternName,
int templateId,
double width,
double height )
virtual

Add a template based pattern.

Add a template based pattern which can be referenced in draw or fill pattern methods

Parameters
patternNamethe name of the pattern (case sensitive)
templateIdthe id of the template to be used as a pattern
widththe display width of the pattern
heightthe display height of the pattern

◆ AddPattern() [3/3]

virtual bool wxPdfDocument::AddPattern ( const wxString & patternName,
wxPdfPatternStyle patternStyle,
double width,
double height,
const wxColour & drawColour,
const wxColour & fillColour = wxColour() )
virtual

Add a hatched pattern.

Add a hatched pattern which can be referenced in draw or fill pattern methods

Parameters
patternNamethe name of the pattern (case sensitive)
patternStylethe pattern style to be used as a pattern
widththe display width
heightthe display height
drawColourthe foreground colour used for hatching
fillColourthe background colour to fill the pattern background (optional)

◆ 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 ( double pageWidth,
double pageHeight )
protected

◆ CalculatePageSize() [2/2]

wxSize wxPdfDocument::CalculatePageSize ( wxPaperSize format)
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,
double charSpacing = 0 )
protectedvirtual

Returns the length of a string in user unit.

A font must be selected.

Parameters
sThe string whose length is to be computed
charSpacingExtra amount of spacing between characters (optional)
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()

◆ GetDefaultPageOrientation()

virtual int wxPdfDocument::GetDefaultPageOrientation ( )
virtual

Returns the default page orientation.

Returns
page orientation.

◆ 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

◆ GetHeaderHeight()

double wxPdfDocument::GetHeaderHeight ( ) const
protected
Returns
Get the height of the header at the top of the page

◆ 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.

◆ GetPageOrientation()

virtual int wxPdfDocument::GetPageOrientation ( )
virtual

Returns the page orientation.

Returns
page orientation.

◆ 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()

◆ GetPdfA1Conformance()

bool wxPdfDocument::GetPdfA1Conformance ( ) const
inline

Get PDF/A-1b conformance.

Gets the document conformance intent for PDF/A-1 Level B

Returns
flag whether PDF/A-1b conformance is enabled

◆ 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,
double charSpacing = 0 )
virtual

Returns the length of a string in user unit.

A font must be selected.

Parameters
sThe string whose length is to be computed
charSpacingExtra amount of spacing between characters (optional)
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.

◆ InitPatternIds()

virtual void wxPdfDocument::InitPatternIds ( )
protectedvirtual

Initialize object ids of patterns.

◆ 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() [1/2]

virtual void wxPdfDocument::MirrorH ( )
virtual

Performs a horizontal mirroring transformation.

Alias for scaling -100% in x-direction

Note
The current position is used as the scaling center.

◆ MirrorH() [2/2]

virtual void wxPdfDocument::MirrorH ( double x)
virtual

Performs a horizontal mirroring transformation.

Alias for scaling -100% in x-direction

Parameters
xabscissa of the axis of reflection

◆ MirrorV() [1/2]

virtual void wxPdfDocument::MirrorV ( )
virtual

Performs a vertical mirroring transformation.

Alias for scaling -100% in y-direction

Note
The current position is used as the scaling center.

◆ MirrorV() [2/2]

virtual void wxPdfDocument::MirrorV ( double y)
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() [1/2]

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

Add \ before \, ( and )

◆ OutEscape() [2/2]

void wxPdfDocument::OutEscape ( const std::string & s)
protected

Add \ before \, ( and )

◆ OutHex() [1/2]

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

Add a hex string to the document.

◆ OutHex() [2/2]

void wxPdfDocument::OutHex ( const std::string & s)
protected

Add a hex string to the document.

◆ 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

Add catalog.

◆ PutColourProfile()

virtual void wxPdfDocument::PutColourProfile ( )
protectedvirtual

Add colour profile.

◆ 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.

◆ PutMetaData()

virtual void wxPdfDocument::PutMetaData ( )
protectedvirtual

Add XMP meta data.

◆ 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() [1/2]

virtual void wxPdfDocument::Rotate ( double angle)
virtual

Performs a rotation around the current position.

Parameters
angleangle in degrees.

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.

◆ Rotate() [2/2]

virtual void wxPdfDocument::Rotate ( double angle,
double x,
double y )
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 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.

◆ RotatedText() [2/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.

◆ 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() [1/2]

virtual bool wxPdfDocument::Scale ( double sx,
double sy )
virtual

Performs scaling in X and Y direction with the current position as the scaling center.

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.

◆ Scale() [2/2]

virtual bool wxPdfDocument::Scale ( double sx,
double sy,
double x,
double y )
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.
yordinate of the scaling center.

◆ ScaleX() [1/2]

virtual bool wxPdfDocument::ScaleX ( double sx)
virtual

Performs scaling in X direction only with the current position as the scaling center.

A scaling transformation is applied for the X direction.

Parameters
sxscaling factor for width as percent. 0 is not allowed.

◆ ScaleX() [2/2]

virtual bool wxPdfDocument::ScaleX ( double sx,
double x,
double y )
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.
yordinate of the scaling center.

◆ ScaleXY() [1/2]

virtual bool wxPdfDocument::ScaleXY ( double s)
virtual

Performs equal scaling in X and Y direction with the current position as the scaling center.

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

Parameters
sscaling factor for width and height as percent. 0 is not allowed.

◆ ScaleXY() [2/2]

virtual bool wxPdfDocument::ScaleXY ( double s,
double x,
double y )
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.
yordinate of the scaling center.

◆ ScaleY() [1/2]

virtual bool wxPdfDocument::ScaleY ( double sy)
virtual

Performs scaling in Y direction only with the current position as the scaling center.

A scaling transformation is applied for the Y direction.

Parameters
syscaling factor for height as percent. 0 is not allowed.

◆ ScaleY() [2/2]

virtual bool wxPdfDocument::ScaleY ( double sy,
double x,
double y )
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.
yordinate of the scaling center.

◆ 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 wxFont & font,
bool setFont = true )
protectedvirtual

Select font based on wxFont object.

◆ SelectFont() [2/4]

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

Select font based on wxFont object.

◆ SelectFont() [3/4]

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

Select font.

◆ SelectFont() [4/4]

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

Select font.

◆ 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 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() [3/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() [4/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() [5/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()

◆ SetDrawColour() [6/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()

◆ 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 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() [3/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() [4/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() [5/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()

◆ SetFillColour() [6/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()

◆ 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 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()

◆ SetFont() [2/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() [3/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() [4/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()

◆ 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

◆ SetPaperHandling()

virtual void wxPdfDocument::SetPaperHandling ( wxPdfPaperHandling paperHandling)
virtual

Defines the paper handling when printing (simplex / duplex).

The paper handling option that shall be used when printing the file from the print dialog.

Parameters
paperHandlingCan be one of the following values:
  • wxPDF_PAPERHANDLING_DEFAULT: use the default of the viewer app
  • wxPDF_PAPERHANDLING_SIMPLEX: print single-sided
  • wxPDF_PAPERHANDLING_DUPLEX_FLIP_SHORT_EDGE: duplex and flip at the short edge of the sheet
  • wxPDF_PAPERHANDLING_DUPLEX_FLIP_LONG_EDGE: duplex and flip at the long edge of the sheet

◆ SetPdfA1Conformance()

void wxPdfDocument::SetPdfA1Conformance ( bool enable)

Set PDF/A-1b conformance.

Sets the document conformance to PDF/A-1 Level B

Parameters
enableflag whether PDF/A-1b conformance should be enabled
Note
It is the user's responsibility to use only PDF features that in fact do conform with PDF/A-1b, i.e., all fonts embedded, no transparency/alpha channel, no document protection

◆ SetProtection()

virtual bool 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
  • wxPDF_ENCRYPTION_AESV3 AES method, with 256 bit encryption key
  • wxPDF_ENCRYPTION_AESV3R6 AES method, with 256 bit encryption key (PDF 2.0)
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.
Returns
true, if the provided passwords are valid, false otherwise.

◆ 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 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() [3/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() [4/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() [5/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()

◆ SetTextColour() [6/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()

◆ 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
  • wxPDF_VIEWER_NOPRINTSCALING: Set page scaling to none when printing

◆ 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() [1/2]

virtual bool wxPdfDocument::Skew ( double xAngle,
double yAngle )
virtual

Performs a skewing in both X and Y directions with the current position as the skewing center.

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)

◆ Skew() [2/2]

virtual bool wxPdfDocument::Skew ( double xAngle,
double yAngle,
double x,
double y )
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() [1/2]

virtual bool wxPdfDocument::SkewX ( double xAngle)
virtual

Performs a skewing in X direction only with the current position as the skewing center.

Parameters
xAngleangle in degrees between -90 (skew to the left) and 90 (skew to the right)

◆ SkewX() [2/2]

virtual bool wxPdfDocument::SkewX ( double xAngle,
double x,
double y )
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() [1/2]

virtual bool wxPdfDocument::SkewY ( double yAngle)
virtual

Performs a skewing in Y direction only with the current position as the skewing center.

Parameters
yAngleangle in degrees between -90 (skew to the bottom) and 90 (skew to the top)

◆ SkewY() [2/2]

virtual bool wxPdfDocument::SkewY ( double yAngle,
double x,
double y )
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() [1/2]

virtual void wxPdfDocument::UseTemplate ( int templateId)
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 at the current position with default size.

The width or height is calculated using GetTemplateSize internally.

Parameters
templateIdA valid template ID
See also
BeginTemplate(), EndTemplate(), ImportPage()

◆ UseTemplate() [2/2]

virtual void wxPdfDocument::UseTemplate ( int templateId,
double x,
double y,
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.

Width and height 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 Symbol Documentation

◆ wxPdfImage

friend class wxPdfImage
friend

◆ wxPdfTable

friend class wxPdfTable
friend

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