PowerPdf Reference
Veision 0.9(beta)
copyright (c) 1999-2001 takeshi kanno
Contents
copyright (c) 1999-2001 takeshi kanno
Chapter1 Introduction
copyright (c) 1999-2001 takeshi kanno
1.1 What Is PowerPdf
copyright (c) 1999-2001 takeshi kanno
1.2 Requires
copyright (c) 1999-2001 takeshi kanno
1.3 Installation
copyright (c) 1999-2001 takeshi kanno
copyright (c) 1999-2001 takeshi kanno
Chapter2 Component Reference
copyright (c) 1999-2001 takeshi kanno
2.1 TPReport
copyright (c) 1999-2001 takeshi kanno
2.1.1 TPReport properties
copyright (c) 1999-2001 takeshi kanno
10
2.1.2 TPReport methods
copyright (c) 1999-2001 takeshi kanno
11
2.2.1 TPRPage properties
copyright (c) 1999-2001 takeshi kanno
12
2.2.2 TPRPage events
copyright (c) 1999-2001 takeshi kanno
13
2.2 TPRPage
copyright (c) 1999-2001 takeshi kanno
14
2.3 TPRLayoutPanel
copyright (c) 1999-2001 takeshi kanno
15
2.3.1 TPRLayoutPanel properties
copyright (c) 1999-2001 takeshi kanno
16
2.3.2 TPRLayoutPanel events
copyright (c) 1999-2001 takeshi kanno
17
2.4 TPRGridPanel
copyright (c) 1999-2001 takeshi kanno
18
2.4.1 TPRGridPanel properties
copyright (c) 1999-2001 takeshi kanno
19
2.4.2 TPRGridPanel events
copyright (c) 1999-2001 takeshi kanno
20
2.5 TPRLabel
copyright (c) 1999-2001 takeshi kanno
21
2.5.1 TPRLabel properties
copyright (c) 1999-2001 takeshi kanno
22
2.6 TPRText
copyright (c) 1999-2001 takeshi kanno
23
2.6.1 TPRText properties
copyright (c) 1999-2001 takeshi kanno
24
2.7 TPRImage
copyright (c) 1999-2001 takeshi kanno
25
2.7.1 TPRImage properties
copyright (c) 1999-2001 takeshi kanno
26
2.8 TPRJpegImage
copyright (c) 1999-2001 takeshi kanno
27
2.8.1 TPRJpegImage properties
copyright (c) 1999-2001 takeshi kanno
28
2.9 TPRRect
copyright (c) 1999-2001 takeshi kanno
29
2.9.1 TPRRect properties
copyright (c) 1999-2001 takeshi kanno
30
2.10 TPREllipse
copyright (c) 1999-2001 takeshi kanno
31
2.10.1 TPREllipse properties
copyright (c) 1999-2001 takeshi kanno
32
2.11 TPRAnnotation
copyright (c) 1999-2001 takeshi kanno
33
2.11.1 TPRAnnotation properties
copyright (c) 1999-2001 takeshi kanno
34
2.12 TPROutlineEntry
copyright (c) 1999-2001 takeshi kanno
35
2.12.1 TPROutlineEntry properties
copyright (c) 1999-2001 takeshi kanno
36
2.12.2 TPROutlineEntry methods
copyright (c) 1999-2001 takeshi kanno
37
2.13 TPRDestination
copyright (c) 1999-2001 takeshi kanno
38
2.13.1 TPRDestination properties
copyright (c) 1999-2001 takeshi kanno
39
CHAPTER 1
Introduction
1.1 What Is PowerPdf
PowerPdf is a VCL to create PDF docment visually. Like QuickReport, you can design PDF document easily on Delphi IDE.
1.2 Requires
Delphi3.0 or later. Lazarus 0.9.9 or later (NEW)
1.3 Installation
[Link] the files from [Link]. [Link] Component|Install Component, and install [Link]. NOTE If you want to use FlateDecode/Zlib compression, copy [Link] and *.obj files (these are included in Delphi's CD-ROM) to your librally path.
copyright (c) 1999-2001 takeshi kanno
40
CHAPTER 2
Component Reference
2.1 TPReport
TPReport encapsulates the mechanism for creating pdf document.
Unit
PReport
Description
Use TPReport to create pdf document. Like TPrinter. To start print job, call the BeginDoc [Link] print page, call the Print method. And call the EndDoc method to terminate print [Link] you want to terminate print job unless saving document, call the Abort method.
2.1.1 TPReport properties
property FileName: string; Set FileName to specify the file name to save document. property Author: string; Set Author to specify the author of the document. property CreationDate: TDateTime; Set CreationDate to specify the date and time when the document was created. property Creator string; Set Creator to specify the creator of the document. property Keywords string; Set Keywords to specify keywords of the document. property ModDate: TDateTime; Set Keywords to specify the date and time when the document was last modified. property Subject: string; Set Subject to specify the subject of the document. property Title: string; Set Title to specify the title of the document.
copyright (c) 1999-2001 takeshi kanno
41
property PageMode: TPdfPageMode; PageMode property specifies how the document should be displayed when opened. TPdfPageMode = (pmUseNone, pmUseOutlines, pmUseThumbs, pmFullScreen); pmUseNone pmUseOutlines pmUseThumbs pmFullScreen Both of outline and thumbnail images invisible Document outline visible Thumbnail images visible Full-screen mode, with no menu bar.
property PageLayout: TPdfPageLayout; New! PageLayout specifies the layout for the page when the document is opened. TPRPageLayout = (plSinglePage, plOneColumn, plTwoColumnLeft, plTwoColumnR plSinglePage plOneColumn plTwoColumnLeft plTwoColumnRight Display the pages one page at a time. Display the pages in one column. Display the pages in two columns, with odd-numbered p Display the pages in two columns, with odd-numbered p
property CompressionMethod: TPdfCompressionMethod; Cmpression property specifies the filter to compress contents and images. TPdfCompressionMethod = (cmNone, cmFlateDecode); cmNone No compression method is used cmFlateDecode Compresses data using the zlib/deflate compression method Note: If you want to use FlateDecode, you must do following operations. 1. Add zlib unit and *.obj files(these are included in Delphi's CD-ROM) in your library path. 2. Commentout compile option "{$DEFINE NOZLIB}" in [Link] and [Link]. 3. Rebuiled the package. property PageNumber: integer; PageNumber contains the current page number being printed. property OpenAction: TPRDestination; New! OpenAction determins the location of the display window and zoom level when the first page appears. If null, the top of the first page appears with default zoom level. property OutlineRoot: TPROutlineRoot; New! OutlineRoot returns the root of the outline-entries. If UseOutline property set to false, OutlineRoot peoperty returns null.
copyright (c) 1999-2001 takeshi kanno
42
property UseOutlines: boolean; New! UseOutline determins whether using outlines or not. This property can be set only before BeginDoc method called. property ViewerPreference: TPdfViewerPreferences; New! Specifies the style when the document is opened. TPdfViewerPreference = (vpHideToolbar, vpHideMenubar, vpHideWindowUI, vpFitWindow, vpCenterWindow); vpHideToolbar vpHideMenubar vpHideWindowUI vpFitWindow vpCenterWindow Specifies that the toolbar should be hidden. Specifies that the menubar should be hidden. Specifies that the interfeces of the document window should be hidden. Specifies that the viewer should resize the document-window to the size of the first displayed page of the document. Specifies that the viewer-window positioned in the center of
2.1.2 TPReport methods
procedure BeginDoc; BeginDoc starts to create PDF document. procedure Print(APage: TPRPage); Print add the page that specified APage parameter to the PDF document. procedure EndDoc; EndDoc ends the current print job and outputs PDF document to the file. procedure Abort; Abort terminates the current print job, dropping all data.
copyright (c) 1999-2001 takeshi kanno
43
2.2 TPRPage
TPRPage represents a page to print.
Unit
PReport
Description
Use TPRPage to create a page to print. To create a page, To print a page, call print method of TPReport with TPRPage object. Use Width and Height property to determine the physical size of the page.
2.2.1 TPRPage properties
property MarginTop: integer; Set MarginTop to specify the top margin of the document. property MarginLeft: integer; Set MarginLeft to specify the left margin of the document. property MarginRight: integer; Set MarginLeft to specify the left margin of the document. property MarginBottom: integer; Set MarginBottom to specify the bottom margin of the document. property Height: integer; Set Height to specify the height of the page. property Width: integer; Set Width to specify the width of the page.
2.2.2 TPRPage events
property OnPrintPage: TPRPrintPageEvent; OnPrintPage is called when a page is printed. You can use it to initialize any local variables.
copyright (c) 1999-2001 takeshi kanno
44
2.3 TPRLayoutPanel
TPRLayoutPanel is main building block of a page.
Unit
PReport
Description
To make a page, put TPRPanel on the TPRPage component and put Item component (TPRItem, TPRImage and so on) on the TPRPanel.
2.3.1 TPRLayoutPanel properties
property Align: TAlign; Align determines how the TPRLayoutPanel aligns within TPRPage (or TPRPanel).
2.3.2 TPRLayoutPanel events
property BeforePrint: TPRPrintPanelEvent; BeforePrint is called before a page is about to be printed. Typical use of this event is to set any variables(TPRText, TPRImage). TPRPrintPanelEvent = procedure(Sender: TObject; ACanvas: TPdfCanvas; Rect: TRect) of object; property AfterPrint: TPRPrintPanelEvent; AfterPrint is called after a page was printed.
copyright (c) 1999-2001 takeshi kanno
45
2.4 TPRGridPanel
TPRGridPanel is used to print a table.
Unit
PReport
Description
A typical use of TPRGrid is to print a table(like a database data). set RowCount and ColCount property to define row count and column count.
2.4.1 TPRGridPanel properties
property Align: TAlign; Align determines how the TPRGridPanel aligns within TPRPage (or TPRPanel). property ColCount: integer; ColCount determines how many numbers of columns in this panel. property RowCount: integer; RowCount determines how many numbers of rows in this panel. property PrintDirection: TPrintDirection; PrintDirection determins the direction of printing grid.
2.4.2 TPRGridPanel events
property BeforePrint: TPRPrintPanelEvent; BeforePrint is called before a page is about to be printed. Typical use of this event is to set any variables(TPRText, TPRImage). TPRPrintPanelEvent = procedure(Sender: TObject; ACanvas: TPdfCanvas; Rect: TRect) of object; property AfterPrint: TPRPrintPanelEvent; AfterPrint is called after a page was printed. property BeforePrintChild: TPRPrintChildPanelEvent; BeforePrintChild is called every before child panels are about to be printed. Typical use of this event is to set any variables(TPRText, TPRImage). TPRPrintChildPanelEvent = procedure(Sender: TObject; ACanvas: TPdfCanvas; ACol, ARow: integer; Rect: TRect) of object; property AfterPrintChild: TPRPrintChildPanelEvent; AfterPrint is called every after panels were printed.
copyright (c) 1999-2001 takeshi kanno
46
2.5 TPRLabel
TPRLabel is used to print a single line text.
Unit
PReport
Description
Use TPRLabel to print single line text.
2.5.1 TPRLabel properties
property Align: TAlign; Determines how the control aligns within its container (or parent control). property AlignJustified: Boolean; New! Determines whether adjustment the char width to fit the text to full-justified. property Alignment: TAlignment; Controls the horizontal placement of the text within the label. The samples of the alignment Alignment taLeftJustify
The quick brown fox ate the lazy mouse
Alignment taRightJustify
The quick brown fox ate the lazy mouse
Alignment taCenter
The quick brown fox ate the lazy mouse
AlignJustified
The quick brown fox ate the lazy mouse
property Printable: boolean; Determines whether the control will be printed or not. property FontColor: TColor; Specifies the color of the text.
copyright (c) 1999-2001 takeshi kanno
47
property FontName: TPRFontName; Identifies the typeface of the font. TPRFontName = (fnFixedWidth, fnArial, fnTimesRoman);
Arial
ABCDEFGabcdefg12345
TimesRoman
ABCDEFGabcdefg12345
FixedWidth
ABCDEFGabcdefg12345
property FontSize: Single; Specifies the height of the font in points. property FontBold: boolean; Specifies whether the font is boldfaced or not.
copyright (c) 1999-2001 takeshi kanno
48
2.6 TPRText
TPRText is used to print a text.
Unit
PReport
Description
Use TPRText to print text.
2.6.1 TPRText properties
property Align: TAlign; Determines how the control aligns within its container (or parent control). property Printable: boolean; Determines whether the control will be printed or not. property FontColor: TColor; Specifies the color of the text. property FontName: TPRFontName; Identifies the typeface of the font. See [Link]. property FontSize: Single; Specifies the height of the font in points. property FontBold: boolean; Specifies whether the font is boldfaced or not. property Leading: Single; Specifies the text leading. property Lines: TStrings; Contains the individual lines of text. property WordSpace: Single; Specifies the word spacing of the text. property WordWrap: boolean; Determines whether the text inserts soft carriage returns so text wraps at the right margin.
copyright (c) 1999-2001 takeshi kanno
49
2.7 TPRImage
TPRImage is uses to print a image.
Unit
PReport
Description
Use of TPRImage to print a image. TPRImage only support 24bit bitmap image yet. If program is compiled to use Zlib compression, the image is automatically compressed with Flate-Decode.
2.7.1 TPRImage properties
property Align: TAlign; Determines how the control aligns within its container (or parent control). property Printable: boolean; Determines whether the control will be printed or not. property Picture: TPicture; Specifies the image that appears on the control. property Stretch: boolean; Determines whether resizing the height and width of the image to fit to the client area or not. property SharedImage: boolean; Determines whether the image data will be shared in the document or not. if this property is set true, the PDF file has only one image, This means disk capacity can be saved. But if the image of each page is different, SharedImage property must be set false. See DBImageExample(not shared image)
copyright (c) 1999-2001 takeshi kanno
50
2.8 TPRJpegImage
TPRImage is uses to print a TJpegImage.
Unit
PRJpegImage
Description
Use of TPRJpegImage to print a image with JPEG encoding.
2.8.1 TPRJpegImage properties
property Align: TAlign; Determines how the control aligns within its container (or parent control). property Printable: boolean; Determines whether the control will be printed or not. property Picture: TPicture; Specifies the image that appears on the control. Only TJpegImage is allowed. property SharedImage: boolean; Determines whether the image data will be shared in the document or not. if this property is set true, the PDF file has only one image, This means disk capacity can be saved. But if the image of each page is different, SharedImage property must be set false. See DBImageExample(not shared image)
copyright (c) 1999-2001 takeshi kanno
51
2.9 TPRRect
TPRRect is used to draw rectangles and lines on a report.
Unit
PReport
2.9.1 TPRRect properties
property Align: TAlign; Align determines how the control aligns within container (or parent control). property FillColor: TColor; FillColor determines fill style for the Rectangle. property LineColor: TColor; LineColor determines color of the lines for the Rectangle. property LineStyle: TPenStyle; LineStyle determines the style in which the pen draws lines. TPenStyle = (psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsideFrame);
psSolid psDash psDashDot psDashDotDot psDot psClear(Invisible)
copyright (c) 1999-2001 takeshi kanno
52
2.10 TPREllipse
TPRShape is used to draw ellipse on a report.
Unit
PReport
2.10.1 TPREllipse properties
property Align: TAlign; Align determines how the control aligns within container (or parent control). property FillColor: TColor; FillColor determines fill style for the ellipse. property LineColor: TColor; LineColor determines color of the lines for the ellipse. property LineStyle: TPenStyle; LineStyle determines the style in which the pen draws lines. See [Link]. The samples of the TPREllipse
copyright (c) 1999-2001 takeshi kanno
53
2.11 TPRAnnotation
TPRAnnotation is used to add annotations to a page
Unit
PRAnnotation
2.11.1 TPRAnnotation properties
property Caption: string; Caption determines the title of annotation window. property Lines: TStrings; property Text: string; Lines and Text determines the text to be displayed in a pop-up window. property Opened: boolean; Lines and Text determines the text to be displayed in a pop-up window. TPRAnnotation with Open property set to true. TPRAnnotation with Open property set to false.
copyright (c) 1999-2001 takeshi kanno
54
2.12 TPROutlineEntry
TPRAnnotation is used to make outline tree of the document.
Unit
PReport
2.12.1 TPROutlineEntry properties
property Parent: TPROutlineEntry; Indicates the parent entry of this entry. property Next: TPROutlineEntry; Indicates the next sibiling entry of this entry. property Prev: TPROutlineEntry; Indicates the previous sibiling entry of this entry. If the entry has no previous entry, Prev property indicates null. property First: TPROutlineEntry; Indicates the first entry of the children. If the entry has no child entry, First property indicates null. property Last TPROutlineEntry; Indicates the last entry of the children. If the entry has no child entry, First property indicates null. property Dest: TPRDestination; Dest property is a TPRDestination object which linkes to the entry. property Title string; Use the Title property to modify the name of this entry. property Opened boolean; Use the Opened property to set whether the entry is opened or not when the document is displaied.
2.12.2 TPROutlineEntry methods
function AddChild: TPROutlineEntry; AddChild function add a new outline-entry at the last sibling of the entry and return the new outline-entry.
copyright (c) 1999-2001 takeshi kanno
55
2.13 TPRDestination
Use the TPRDestination class to set the location of the display window on that page, and the zoom level.
Unit
PReport
2.13.1 TPRDestination properties
property DestinationType: TPRDestinationType; The DestinationType property determines the type of destination. TPdfDestinationType = (dtXYZ, dtFit, dtFitH, dtFitV, dtFitR, dtFitB, dtFitBH, dtFitBV); dtXYZ dtFit dtFitH dtFitV dtFitR dtFitB dtFitBH dtFitBV Display the page with position and size indicated by Left,Top and Zoom properties. Fit the page to the window. Fit the width of the page to the window. Only the Top property is used to determine the top position. Fit the height of the page to the window. Only the Left property is used to determine the position of the left edge of the window. Fit the rectangle specified by Left Top, Right,Bottom properties. Fit the pagefs bounding box to the window. Fit the width of the pagefs bounding box to the window. Fit the height of the pagefs bounding box to the window.
property Left: Integer; property Top: Integer; property Right: Integer; property Bottom: Integer; property Zoom: Single;
copyright (c) 1999-2001 takeshi kanno
56
Copyright
Copyright (C) 1999-2001 Takeshi Kanno This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more details.
copyright (c) 1999-2001 takeshi kanno