ChartDirector PDF Output
Did you know our MBS Xojo ChartDirector Plugin can be used to output charts as PDF files?
Two ways are possible:
Vector Mode
If all parts of the chart can be drawn in a PDF with the PDF support by ChartDirector, you get a vector graphics with lines, rectangles and paths. Text is drawn in PDF, so it can be selected later and copied.
Bitmap Mode
If some features are used, which are not supported for PDF output, you get a picture rendered and this picture is placed inside the PDF wrapper. Not perfect, but it preserves some 3D graphic effects, which can't be drawn natively in the PDF. If you set bitmap flag in the output options, you can enforce the bitmap mode.
Enable PDF
To enable PDF output, please call MakeChart() function and pass the kPDF constant. If you are interested in SVG output, please pass kSVG or kSVGZ constants. The second one is for compressed output.
If you pass an optional FolderItem parameter to MakeChart, you write an image file directly to that location. The file extension on the file name in the FolderItem defines the type, so please use png, jpg, jpeg, gif, wbmp, wmp, pdf, svg or bmp.
For a draw area, you can just ask it for PDF output using the outPDF() function. Either pass a FolderItem to create a PDF file or pass no parameter to get the PDF as text back. To get a draw area, you can for example call MakeChart without parameters.
Options
You can configure the PDF output with various options and the setOutputOptions method. You pass options with key=value separated by semicolons. e.g. you can use "pagewidth=595;pageheight=842" to use A4 paper size.
PDF Option | Type | Description |
---|---|---|
bitmap | Flag | Render the chart as a bitmap and output the bitmap as PDF. |
width | Attribute | The width of the chart in the PDF in pixel unit. By default, ChartDirector will use the pixel width of the chart as the width of the chart in PDF. The "width" attribute can be used to specify an alternative value. The value must be a number. |
height | Attribute | The width of the chart in the PDF in pixel unit. See the description on "width" above for how to use it. |
pagewidth | Attribute | The page width in pixel unit. By default, ChartDirector will set the page width to the same width as the chart. The "pagewidth" attribute can be used to specify an alternative value. The value must be a number. |
pageheight | Attribute | The page height in pixel unit. By default, ChartDirector will set the page height to the same height as the chart. The "pageheight" attribute can be used to specify an alternative value. The value must be a number. |
leftx | Attribute | The x coordinate of the left side of the chart within the page in pixel unit. By default, ChartDirector will center the chart in the page. The "leftx" attribute can be used to specify an alternative horizontal position. The coordinate must be a number. |
topy | Attribute | The y coordinate of the top side of the chart within the page in pixel unit. By default, ChartDirector will center the chart in the page. The "topy" attribute can be used to specify an alternative vertical position. The coordinate must be a number. |
dpi | Attribute | Specify the factor for conversion from pixel to physical unit. The PDF viewer will convert the pixel unit into physical unit (eg. inches) so that it can be layout on paper or other physical media. The default conversion factor for the chart is 96 pixels per inch. The "dpi" attribute can be used to specify an alternative value. The value must be a number. |
The test PDF on the right shown as picture is available here: finance.pdf
Please do not hesitate to contact us with questions.