PowerPDF Check In

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@585 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
jesusr
2008-10-06 15:02:30 +00:00
parent ce8ee9bb1f
commit 87fdff01a2
125 changed files with 34954 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,75 @@
[Compiler]
A=1
B=0
C=1
D=1
E=0
F=0
G=1
H=1
I=1
J=1
K=0
L=1
M=0
N=1
O=1
P=1
Q=0
R=0
S=0
T=0
U=0
V=1
W=0
X=1
Y=0
Z=1
ShowHints=1
ShowWarnings=1
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
[Linker]
MapFile=0
OutputObjs=0
ConsoleApp=1
DebugInfo=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=
UnitOutputDir=
SearchPath=
Packages=
Conditionals=
DebugSourceDirs=
UsePackages=0
[Parameters]
RunParams=
HostApplication=
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1041
CodePage=932
[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=

View File

@ -0,0 +1,241 @@
{*
*
* BatchPdf.dpr
*
* To run this program, open command-prompt window and run this program with
* filename parameter
*
* ex) BatchPdf.exe batchpdf.pdf
*}
program BatchPdf;
{$APPTYPE CONSOLE}
uses
SysUtils,
Classes,
PdfDoc,
PdfTypes,
PdfFonts,
DB,
DBTables;
var
FDoc: TPdfDoc;
FFileName: string;
FOutFile: TFileStream;
FPage: integer;
FQuery: TQuery;
procedure TextOut(X, Y: Single; S: string);
begin
with FDoc.Canvas do
begin
BeginText;
MoveTextPoint(X, Y);
ShowText(S);
EndText;
end;
end;
procedure DrawLine(X1, Y1, X2, Y2, Width: Single);
begin
with FDoc.Canvas do
begin
MoveTo(X1, Y1);
LineTo(X2, Y2);
Stroke;
end;
end;
procedure WriteHeader;
var
s: string;
w: integer;
begin
// writing the headline of the pages
with FDoc.Canvas do
begin
// setting font
SetFont('Arial-BoldItalic', 16);
// printing text.
TextOut(90, 770, 'Customer.DB');
SetFont('Arial-BoldItalic', 9);
S := FormatDateTime('YYYY/MM/DD', Date);
w := Round(TextWidth(S));
// writing header text.
TextOut(530 - w, 770, S);
SetRGBStrokeColor($00008800);
DrawLine(90, 765, 530, 765, 1.5);
end;
end;
procedure WriteFooter;
var
w: Single;
s: string;
begin
with FDoc.Canvas do
begin
// Setting font and print text with center align
SetFont('Times-Roman', 8);
DrawLine(90, 70, 530, 70, 1.5);
s := 'Page ' + IntToStr(FPage);
w := TextWidth(s);
TextOut((PageWidth - w) / 2, 55, S);
end;
end;
procedure WriteRow(YPos: Single);
var
i: integer;
s: string;
begin
// printing the detail lines
with FDoc.Canvas do
begin
if not FQuery.Eof then
begin
TextOut(95, YPos - 15, FQuery.FieldByName('CustNo').AsString);
s := FQuery.FieldByName('Company').AsString;
// calculate the number of the charactor which can be contained in the
// width of the frame.
i := MeasureText(s, 130);
TextOut(135, YPos - 15, Copy(s, 1, i));
s := FQuery.FieldByName('State').AsString +
FQuery.FieldByName('City').AsString +
FQuery.FieldByName('Addr1').AsString;
i := MeasureText(s, 175);
TextOut(275, YPos - 15, Copy(s, 1, i));
TextOut(455, YPos - 15, FQuery.FieldByName('Phone').AsString);
FQuery.Next;
end;
end;
end;
procedure WritePage;
var
i: integer;
XPos, YPos: Single;
begin
with FDoc.Canvas do
begin
// writing the outline
SetLineWidth(1.5);
Rectangle(90, 80, 440, 680);
Stroke;
// writing the horizontal lines.
YPos := 760;
SetLineWidth(0.75);
for i := 0 to 32 do
begin
YPos := YPos - 20;
MoveTo(90, YPos);
LineTo(530, YPos);
Stroke;
end;
// writing the header of the text.
SetLineWidth(1);
SetFont('Times-Roman', 10.5);
XPos := 90;
TextOut(XPos + 5, 745, 'NO.');
XPos := 130;
DrawLine(XPos, 760, XPos, 80, 1);
TextOut(XPos + 5, 745, 'Company');
XPos := 270;
DrawLine(XPos, 760, XPos, 80, 1);
TextOut(XPos + 5, 745, 'Address');
XPos := 450;
DrawLine(XPos, 760, XPos, 80, 1);
TextOut(XPos + 5, 745, 'Phone');
XPos := 530;
DrawLine(XPos, 760, XPos, 80, 1);
// setting the font for the detail lines.
SetFont('Arial', 10.5);
end;
// printing the detail lines with 20 dot height.
YPos := 740;
for i := 0 to 32 do
begin
WriteRow(YPos);
YPos := YPos - 20;
end;
end;
begin
if ParamCount > 0 then
FFileName := ParamStr(1)
else
begin
Writeln('Usage: bachpdf <pdf-filename>');
Halt(2);
end;
// create output-filestream.
FOutFile := TFileStream.Create(FFileName, fmCreate);
FPage := 1;
// create TQuery object and set properties.
FQuery := TQuery.Create(nil);
with FQuery do
try
Writeln('BatchPdf opening database..');
DatabaseName := 'DBDEMOS';
SQL.Text := 'SELECT CustNo, Company, State, City, Addr1, Phone from Customer';
Open;
// create TPdfDoc object.
Writeln('BatchPdf creating document..');
FDoc := TPdfDoc.Create;
with FDoc do
try
// create a new document.
NewDoc;
// printind page from the result of the query.
while not FQuery.Eof do
begin
AddPage;
WriteHeader;
WritePage;
WriteFooter;
inc(FPage);
end;
// save the pdf-document to the file-stream.
Writeln('BatchPdf saving document..');
FDoc.SaveToStream(FOutFile);
finally
FDoc.Free;
end;
Close;
Writeln('BatchPdf end..');
finally
Free;
FOutFile.Free;
end;
end.

View File

@ -0,0 +1,13 @@
program DBExample;
uses
Forms,
UDBExample in 'UDBExample.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,285 @@
[Closed Files]
File_0=SourceModule,'D:\Werk\GlueIQ\Components\PowerPdf\PRJpegImage.pas',0,1,1,1,1,0,0
File_1=SourceModule,'D:\Werk\GlueIQ\Components\PowerPdf\PdfDoc.pas',0,1,1,1,1,0,0
File_2=SourceModule,'D:\Werk\GlueIQ\Components\PowerPdf\PdfFonts.pas',0,1,1,1,1,0,0
File_3=SourceModule,'D:\Werk\GlueIQ\Components\PowerPdf\PdfGBFonts.pas',0,1,1,1,1,0,0
File_4=SourceModule,'D:\Werk\GlueIQ\Components\PowerPdf\PdfImages.pas',0,1,1,1,1,0,0
File_5=SourceModule,'D:\Werk\GlueIQ\Components\PowerPdf\PdfJpCMap.pas',0,1,1,1,1,0,0
File_6=SourceModule,'D:\Werk\GlueIQ\Components\PowerPdf\PdfJpegImage.pas',0,1,1,1,1,0,0
File_7=SourceModule,'D:\Werk\GlueIQ\Components\PowerPdf\PdfJPFonts.pas',0,1,1,1,1,0,0
File_8=SourceModule,'D:\Werk\GlueIQ\Components\PowerPdf\PdfTypes.pas',0,1,1,1,1,0,0
File_9=SourceModule,'D:\Werk\GlueIQ\Components\PowerPdf\PowerPdf.pas',0,1,1,1,1,0,0
[Modules]
Module0=D:\Werk\GlueIQ\Components\PowerPdf\Example\DBExample\UDBExample.pas
Module1=D:\Werk\GlueIQ\Components\PowerPdf\PReport.pas
Count=2
EditWindowCount=1
[D:\Werk\GlueIQ\Components\PowerPdf\Example\DBExample\UDBExample.pas]
ModuleType=SourceModule
FormState=1
FormOnTop=0
[D:\Werk\GlueIQ\Components\PowerPdf\PReport.pas]
ModuleType=SourceModule
FormState=0
FormOnTop=0
[C:\Program Files\Borland\Delphi6\Projects\ProjectGroup1.bpg]
FormState=0
FormOnTop=0
[D:\Werk\GlueIQ\Components\PowerPdf\Example\DBExample\DBExample.dpr]
FormState=0
FormOnTop=0
[EditWindow0]
ViewCount=2
CurrentView=0
View0=0
View1=1
CodeExplorer=CodeExplorer@EditWindow0
MessageView=MessageView@EditWindow0
Create=1
Visible=1
State=0
Left=271
Top=136
Width=870
Height=502
MaxLeft=-1
MaxTop=-1
ClientWidth=862
ClientHeight=468
LeftPanelSize=140
LeftPanelClients=CodeExplorer@EditWindow0
LeftPanelData=000004000000000000000000000000000000000000000000000100000000000000000C000000436F64654578706C6F726572FFFFFFFF
RightPanelSize=0
BottomPanelSize=0
BottomPanelClients=MessageView@EditWindow0
BottomPanelData=00000400010000000B0000004D657373616765566965770000000000000000000000000000000000FFFFFFFF
[View0]
Module=D:\Werk\GlueIQ\Components\PowerPdf\Example\DBExample\UDBExample.pas
CursorX=1
CursorY=128
TopLine=126
LeftCol=1
[View1]
Module=D:\Werk\GlueIQ\Components\PowerPdf\PReport.pas
CursorX=33
CursorY=1091
TopLine=1083
LeftCol=1
[Watches]
Count=0
[Breakpoints]
Count=0
[AddressBreakpoints]
Count=0
[Main Window]
Create=1
Visible=1
State=2
Left=313
Top=74
Width=967
Height=112
MaxLeft=-1
MaxTop=-1
MaxWidth=1288
MaxHeight=112
ClientWidth=1280
ClientHeight=78
[ProjectManager]
Create=1
Visible=1
State=0
Left=941
Top=106
Width=339
Height=591
MaxLeft=-1
MaxTop=-1
ClientWidth=331
ClientHeight=565
TBDockHeight=303
LRDockWidth=471
Dockable=1
[CPUWindow]
Create=1
Visible=0
State=0
Left=436
Top=133
Width=531
Height=351
MaxLeft=-1
MaxTop=-1
ClientWidth=523
ClientHeight=317
DumpPane=79
DisassemblyPane=187
RegisterPane=231
FlagPane=64
[AlignmentPalette]
Create=1
Visible=0
State=0
Left=200
Top=107
Width=156
Height=84
MaxLeft=-1
MaxTop=-1
ClientWidth=150
ClientHeight=60
[PropertyInspector]
Create=1
Visible=1
State=0
Left=0
Top=150
Width=261
Height=575
MaxLeft=-1
MaxTop=-1
ClientWidth=253
ClientHeight=549
TBDockHeight=521
LRDockWidth=190
Dockable=1
SplitPos=110
ArrangeBy=Name
SelectedItem=Name
ExpandedItems=Options
HiddenCategories=
[WatchWindow]
Create=1
Visible=0
State=0
Left=11
Top=133
Width=339
Height=536
MaxLeft=-1
MaxTop=-1
ClientWidth=331
ClientHeight=510
TBDockHeight=594
LRDockWidth=471
Dockable=1
[CallStackWindow]
Create=1
Visible=0
State=0
Left=0
Top=0
Width=431
Height=784
MaxLeft=-1
MaxTop=-1
ClientWidth=423
ClientHeight=758
TBDockHeight=161
LRDockWidth=294
Dockable=1
[ThreadStatusWindow]
Create=1
Visible=0
State=0
Left=488
Top=524
Width=624
Height=152
MaxLeft=-1
MaxTop=-1
ClientWidth=616
ClientHeight=126
TBDockHeight=152
LRDockWidth=624
Dockable=1
Column0Width=145
Column1Width=100
Column2Width=115
Column3Width=250
[ObjectTree]
Create=1
Visible=0
State=0
Left=0
Top=178
Width=98
Height=547
MaxLeft=-1
MaxTop=-1
ClientWidth=90
ClientHeight=521
TBDockHeight=354
LRDockWidth=190
Dockable=1
[FPUWindow]
Create=1
Visible=0
State=0
Left=271
Top=248
Width=457
Height=250
MaxLeft=-1
MaxTop=-1
ClientWidth=449
ClientHeight=216
RegisterPane=121
FlagPane=59
[CodeExplorer@EditWindow0]
Create=1
Visible=1
State=0
Left=0
Top=12
Width=140
Height=456
MaxLeft=-1
MaxTop=-1
ClientWidth=140
ClientHeight=456
TBDockHeight=305
LRDockWidth=140
Dockable=1
[MessageView@EditWindow0]
Create=1
Visible=0
State=0
Left=-77
Top=-527
Width=443
Height=52
MaxLeft=-1
MaxTop=-1
ClientWidth=443
ClientHeight=52
TBDockHeight=52
LRDockWidth=443
Dockable=1
[DockHosts]
DockHostCount=0

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,136 @@
unit UDBExample;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
PReport, ExtCtrls, PdfDoc, Menus, ComCtrls, Db, DBTables, PdfTypes;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
ScrollBox1: TScrollBox;
MainMenu1: TMainMenu;
File1: TMenuItem;
CreatePDF1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
PReport1: TPReport;
SaveDialog1: TSaveDialog;
PRPage1: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
PRGridPanel1: TPRGridPanel;
PRText1: TPRText;
Table1: TTable;
PRLayoutPanel2: TPRLayoutPanel;
PRText2: TPRText;
PRRect1: TPRRect;
PRText3: TPRText;
PRText4: TPRText;
PRText5: TPRText;
PRText6: TPRText;
TxtCustNo: TPRText;
TxtCompany: TPRText;
TxtAddr: TPRText;
TxtCity: TPRText;
TxtState: TPRText;
PRRect2: TPRRect;
Table1CustNo: TFloatField;
Table1Company: TStringField;
Table1Addr1: TStringField;
Table1City: TStringField;
Table1State: TStringField;
procedure CreatePDF1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure PRGridPanel1BeforePrintChild(Sender: TObject;
ACanvas: TPRCanvas; ACol, ARow: Integer; Rect: TRect);
procedure About1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.CreatePDF1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
Screen.Cursor := crHourGlass;
Application.ProcessMessages;
TxtCustNo.Printable := true;
TxtCompany.Printable := true;
TxtAddr.Printable := true;
TxtCity.Printable := true;
TxtState.Printable := true;
try
with PReport1 do
begin
FileName := SaveDialog1.FileName;
// starting printing document.
BeginDoc;
Table1.Open;
while not Table1.Eof do
Print(PRPage1);
// save document.
EndDoc;
Table1.Close;
end;
finally
Screen.Cursor := crDefault;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
PRPage1.Visible := false;
end;
procedure TForm1.PRGridPanel1BeforePrintChild(Sender: TObject;
ACanvas: TPRCanvas; ACol, ARow: Integer; Rect: TRect);
begin
with Table1 do
if not Table1.Eof then
begin
// setting text from current record.
TxtCustNo.Text := Table1CustNo.AsString;
TxtCompany.Text := Table1Company.AsString;
TxtAddr.Text := Table1Addr1.AsString;
TxtCity.Text := Table1City.AsString;
TxtState.Text := Table1State.AsString;
// move next current record.
Table1.Next;
end
else
begin
TxtCustNo.Printable := false;
TxtCompany.Printable := false;
TxtAddr.Printable := false;
TxtCity.Printable := false;
TxtState.Printable := false;
end;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage(POWER_PDF_VERSION_STR + #13#10 + POWER_PDF_COPYRIGHT);
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
end.

Binary file not shown.

View File

@ -0,0 +1,13 @@
program DBImage;
uses
Forms,
UDbImage in 'UDbImage.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,178 @@
{*
* << P o w e r P d f >> -- UDbImage.pas
* << DBImage sample program >>
*
* Copyright (c) 1999-2001 Takezou. <takeshi_kanno@est.hi-ho.ne.jp>
*
* 2000.09.10 create.
* 2001.09.08 change .
*}
unit UDbImage;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
PReport, ExtCtrls, Menus, ComCtrls, Db, DBTables,
// to use outline, PdfDoc and PdfTypes must be inclueded.
PdfDoc, PdfTypes;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
ScrollBox1: TScrollBox;
MainMenu1: TMainMenu;
File1: TMenuItem;
CreatePDF1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
PReport1: TPReport;
SaveDialog1: TSaveDialog;
PRPage1: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
PRGridPanel1: TPRGridPanel;
PRText1: TPRText;
PRRect1: TPRRect;
PRRect2: TPRRect;
PRText2: TPRText;
PRText3: TPRText;
PRText4: TPRText;
PRImage1: TPRImage;
Table1: TTable;
Table1Common_Name: TStringField;
Table1SpeciesName: TStringField;
Table1Length_In: TFloatField;
Table1Graphic: TGraphicField;
PRRect3: TPRRect;
procedure CreatePDF1Click(Sender: TObject);
procedure PRPage1PrintPage(Sender: TObject; ACanvas: TPRCanvas);
procedure FormCreate(Sender: TObject);
procedure PRGridPanel1BeforePrintChild(Sender: TObject;
ACanvas: TPRCanvas; ACol, ARow: Integer; Rect: TRect);
procedure About1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
FPage: integer;
FOutline: TPROutLineEntry;
public
{ Public }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.CreatePDF1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
Screen.Cursor := crHourGlass;
Application.ProcessMessages;
try
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
FPage := 0;
Table1.Open;
while not Table1.Eof do
Print(PRPage1);
StatusBar1.Panels[0].Text := 'writing document..';
StatusBar1.Repaint;
EndDoc;
StatusBar1.Panels[0].Text := 'end..';
Table1.Close;
end;
finally
Screen.Cursor := crDefault;
end;
end;
end;
procedure TForm1.PRPage1PrintPage(Sender: TObject; ACanvas: TPRCanvas);
begin
// creating outlines (the destination set to the top of the page).
with PReport1 do
begin
// if the first page, create open-action.
if PageNumber = 1 then
begin
OpenAction := CreateDestination;
with OpenAction do
begin
DestinationType := dtXYZ;
Zoom := 1;
end;
end;
FOutline := OutlineRoot.AddChild;
FOutline.Dest := CreateDestination;
FOutline.Dest.Top := 0;
FOutline.Title := 'Page ' + IntToStr(PReport1.PageNumber);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
PRPage1.Visible := false;
end;
procedure TForm1.PRGridPanel1BeforePrintChild(Sender: TObject;
ACanvas: TPRCanvas; ACol, ARow: Integer; Rect: TRect);
begin
with Table1 do
if not Table1.Eof then
begin
inc(FPage);
// setting status bar text.
StatusBar1.Panels[0].Text := 'creating page ' + IntToStr(FPage);
StatusBar1.Repaint;
// setting text from current record.
PRText2.Text := Table1Common_Name.AsString;
PRText3.Text := Table1SpeciesName.AsString;
PRText4.Text := 'Length_In: ' + FormatFloat('##0.#0', Table1Length_In.AsFloat);
// creating outline entry
with PReport1 do
begin
with FOutline.AddChild do
begin
// create destination and set the properties.
Dest := CreateDestination;
Dest.Top := Rect.Top;
Dest.Left := Rect.Left;
Title := PRText2.Text;
end;
end;
// setting image..
PRImage1.Picture.Assign(Table1Graphic);
Table1.Next;
end
else
begin
PRText2.Text := '';
PRText3.Text := '';
PRText4.Text := '';
PRRect2.Printable := false;
PRImage1.Printable := false;
end;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage(POWER_PDF_VERSION_STR + #13#10 + POWER_PDF_COPYRIGHT);
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
program FontExample;
uses
Forms,
UFontExample in 'UFontExample.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,127 @@
unit UFontExample;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, PReport, PdfDoc, Menus, ComCtrls{$IFDEF FPC}, LResources{$ENDIF};
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
ScrollBox1: TScrollBox;
MainMenu1: TMainMenu;
File1: TMenuItem;
CreatePDF1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
PReport1: TPReport;
PRPage1: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
SaveDialog1: TSaveDialog;
PRRect1: TPRRect;
PRText3: TPRText;
PRText4: TPRText;
PRText5: TPRText;
PRText6: TPRText;
PRText7: TPRText;
PRText8: TPRText;
PRText9: TPRText;
PRText10: TPRText;
PRText11: TPRText;
PRText12: TPRText;
PRText13: TPRText;
PRText14: TPRText;
PRText15: TPRText;
PRText16: TPRText;
PRText17: TPRText;
PRText18: TPRText;
PRText19: TPRText;
PRText20: TPRText;
PRText21: TPRText;
PRText22: TPRText;
PRText23: TPRText;
PRText24: TPRText;
PRText25: TPRText;
PRText26: TPRText;
PRRect2: TPRRect;
PRText27: TPRText;
PRText28: TPRText;
PRText29: TPRText;
PRText30: TPRText;
PRText31: TPRText;
PRText32: TPRText;
PRText33: TPRText;
PRText34: TPRText;
PRText35: TPRText;
PRText36: TPRText;
PRText37: TPRText;
PRText38: TPRText;
PRText39: TPRText;
PRText40: TPRText;
PRRect3: TPRRect;
PRText41: TPRText;
PRText42: TPRText;
PRText43: TPRText;
PRText44: TPRText;
PRText45: TPRText;
PRText46: TPRText;
PRText47: TPRText;
PRText48: TPRText;
PRText49: TPRText;
PRText50: TPRText;
PRLabel1: TPRLabel;
PRLabel3: TPRLabel;
PRLabel2: TPRLabel;
PRLabel4: TPRLabel;
PRLabel5: TPRLabel;
PRLabel6: TPRLabel;
PRLabel7: TPRLabel;
PRLabel8: TPRLabel;
PRLabel9: TPRLabel;
PRLabel10: TPRLabel;
procedure CreatePDF1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
private
{ Private �錾 }
public
{ Public �錾 }
end;
var
Form1: TForm1;
implementation
{$IFNDEF FPC}{$R *.DFM}{$ENDIF}
procedure TForm1.CreatePDF1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
Print(PRPage1);
EndDoc;
end;
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage(POWER_PDF_VERSION_STR + #13#10 + POWER_PDF_COPYRIGHT);
end;
{$IFDEF FPC}
initialization
{$I UFontExample.lrs}
{$ENDIF}
end.

View File

@ -0,0 +1,610 @@
%PDF-1.2
1 0 obj
<<
/Type /Catalog
/Pages 3 0 R
/PageMode /UseNone
/PageLayout /SinglePage
>>
endobj
2 0 obj
<<
/Producer (PowerPdf version 0.9)
/Author ()
/CreationDate (D:20010912201616)
/Creator ()
/Keywords ()
/Subject ()
/Title ()
/ModDate (D:20010912201616)
>>
endobj
3 0 obj
<<
/Type /Pages
/Kids [4 0 R ]
/Count 1
>>
endobj
4 0 obj
<<
/Type /Page
/Parent 3 0 R
/MediaBox [0 0 600 700 ]
/Resources <<
/Font <<
/F0 6 0 R
/F1 7 0 R
/F2 8 0 R
/F3 9 0 R
/F4 10 0 R
/F5 11 0 R
/F6 12 0 R
/F7 13 0 R
/F8 14 0 R
/F9 15 0 R
/F10 16 0 R
/F11 17 0 R
>>
/XObject <<
>>
/ProcSet [/PDF /Text /ImageC ]
>>
/Contents 5 0 R
>>
endobj
5 0 obj
<<
/Length 3948
/Filter []
>>
stream
/F0 10 Tf
[] 0 d
33 627 m
293 627 l
293 187 l
33 187 l
0 0 0 RG
0 w
s
/F0 9 Tf
0 0 0 rg
14 TL
BT
42 611.35 Td
(Arial) Tj
ET
0 0 0 rg
BT
42 575.35 Td
(TimesRoman) Tj
ET
/F0 16 Tf
0 0 0 rg
BT
42 593.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F1 16 Tf
0 0 0 rg
BT
42 557.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
42 539.35 Td
(FixedWidth) Tj
ET
/F2 16 Tf
0 0 0 rg
BT
42 521.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
42 503.35 Td
(Arial-Bold) Tj
ET
/F3 16 Tf
0 0 0 rg
BT
42 485.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
42 467.35 Td
(Times-Bold) Tj
ET
/F4 16 Tf
0 0 0 rg
BT
42 449.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
42 431.35 Td
(FixedWidth-Bold) Tj
ET
/F5 16 Tf
0 0 0 rg
BT
42 413.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
42 395.35 Td
(Arial-Italic) Tj
ET
/F6 16 Tf
0 0 0 rg
BT
42 377.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
42 359.35 Td
(Times-Italic) Tj
ET
/F7 16 Tf
0 0 0 rg
BT
42 341.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
42 323.35 Td
(FixedWidth-Italic) Tj
ET
/F8 16 Tf
0 0 0 rg
BT
42 305.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
42 287.35 Td
(Arial-BoldItalic) Tj
ET
/F9 16 Tf
0 0 0 rg
BT
42 269.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
42 251.35 Td
(Times-BoldItalic) Tj
ET
/F10 16 Tf
0 0 0 rg
BT
42 233.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
42 215.35 Td
(FixedWidth-BoldItalic) Tj
ET
/F11 16 Tf
0 0 0 rg
BT
42 197.4 Td
(ABCDEFGabcdefg12345) Tj
ET
[] 0 d
305 627 m
565 627 l
565 187 l
305 187 l
0 0 0 RG
0 w
s
/F0 9 Tf
0 0 0 rg
BT
314 611.35 Td
(FontSize 8) Tj
ET
/F0 8 Tf
0 0 0 rg
BT
314 600.2 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
314 583.35 Td
(FontSize 10) Tj
ET
/F0 10 Tf
0 0 0 rg
BT
314 570.5 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
314 551.35 Td
(FontSize 14) Tj
ET
/F0 14 Tf
0 0 0 rg
BT
314 535.1 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
314 515.35 Td
(FontSize 18) Tj
ET
/F0 18 Tf
0 0 0 rg
BT
314 495.7 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
314 475.35 Td
(FontSize 24) Tj
ET
/F0 24 Tf
0 0 0 rg
BT
314 450.6 Td
(ABCDEFGabcdefg123) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
314 427.35 Td
(FontColor Red) Tj
ET
/F0 18 Tf
1 0 0 rg
BT
314 407.7 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
314 387.35 Td
(FontColor Blue) Tj
ET
/F0 18 Tf
0 0 1 rg
BT
314 367.7 Td
(ABCDEFGabcdefg12345) Tj
ET
[] 0 d
29 175 m
561 175 l
561 55 l
29 55 l
0 0 0 RG
0 w
s
/F0 9 Tf
0 0 0 rg
BT
42 155.35 Td
(WordWrap Text \(Leading 12\)) Tj
ET
/F3 11 Tf
1 0.5 0 rg
12 TL
BT
42 141.65 Td
(Sunday Monday Tuesday Wednesday Thursday ) Tj
T*
(Friday Saturday) Tj
ET
/F0 9 Tf
0 0 0 rg
14 TL
BT
42 107.35 Td
(WordWrap Text \(Leading 12, WordSpace 10\)) Tj
ET
/F3 11 Tf
1 0.5 0 rg
10 Tw
16 TL
BT
42 93.65 Td
(Sunday Monday Tuesday Wednesday ) Tj
T*
(Thursday Friday Saturday) Tj
ET
/F0 9 Tf
0 0 0 rg
0 Tw
14 TL
BT
314 155.35 Td
(CharSpace=-1) Tj
ET
/F0 16 Tf
0 0 0 rg
-0.99 Tc
BT
314 137.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
0 Tc
BT
314 119.35 Td
(CharSpace=0\(default\)) Tj
ET
/F0 16 Tf
0 0 0 rg
BT
314 101.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
314 83.35 Td
(CharSpace=2) Tj
ET
/F0 16 Tf
0 0 0 rg
2 Tc
BT
314 65.4 Td
(ABCDEFGabcdefg12345) Tj
ET
/F3 24 Tf
0 0 0 rg
0 Tc
BT
163 646.6 Td
(PowerPdf Font Example) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
414 39.35 Td
(copyright \(c\) 1999-2001 takeshi kanno) Tj
ET
0 0 0 rg
BT
315 341.35 Td
(Alignment taLeftJustify) Tj
ET
/F4 12 Tf
0 0.5 0 rg
BT
315 326.8 Td
(The quick brown fox ate the lazy mouse) Tj
ET
0 0.5 0 rg
BT
350 292.8 Td
(The quick brown fox ate the lazy mouse) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
315 307.35 Td
(Alignment taRightJustify) Tj
ET
0 0 0 rg
BT
315 275.35 Td
(Alignment taCenter) Tj
ET
/F4 12 Tf
0 0.5 0 rg
BT
335 262.8 Td
(The quick brown fox ate the lazy mouse) Tj
ET
/F0 9 Tf
0 0 0 rg
BT
315 245.35 Td
(AlignJustified) Tj
ET
/F4 12 Tf
0 0.5 0 rg
0.93 Tc
BT
317 232.8 Td
(The quick brown fox ate the lazy mouse) Tj
ET
endstream
endobj
6 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Helvetica
/Name /F0
>>
endobj
7 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Times-Roman
/Name /F1
>>
endobj
8 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Courier
/Name /F2
>>
endobj
9 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Helvetica-Bold
/Name /F3
>>
endobj
10 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Times-Bold
/Name /F4
>>
endobj
11 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Courier-Bold
/Name /F5
>>
endobj
12 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Helvetica-Oblique
/Name /F6
>>
endobj
13 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Times-Italic
/Name /F7
>>
endobj
14 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Courier-Oblique
/Name /F8
>>
endobj
15 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Helvetica-BoldOblique
/Name /F9
>>
endobj
16 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Times-BoldItalic
/Name /F10
>>
endobj
17 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Courier-BoldOblique
/Name /F11
>>
endobj
xref
0 18
0000000000 65535 f
0000000011 00000 n
0000000111 00000 n
0000000296 00000 n
0000000361 00000 n
0000000681 00000 n
0000004700 00000 n
0000004846 00000 n
0000004994 00000 n
0000005138 00000 n
0000005289 00000 n
0000005437 00000 n
0000005587 00000 n
0000005742 00000 n
0000005892 00000 n
0000006045 00000 n
0000006204 00000 n
0000006359 00000 n
trailer
<<
/Size 18
/Root 1 0 R
/Info 2 0 R
>>
startxref
6517
%%EOF

Binary file not shown.

View File

@ -0,0 +1,13 @@
program JpegImageExample;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

Binary file not shown.

View File

@ -0,0 +1,90 @@
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
PReport, ExtCtrls, StdCtrls, Buttons, PRJpegImage, ExtDlgs, PdfDoc, ShellApi;
type
TForm1 = class(TForm)
Panel1: TPanel;
ScrollBox1: TScrollBox;
PRPage1: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
PRJpegImage1: TPRJpegImage;
PRLayoutPanel2: TPRLayoutPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
CheckBox1: TCheckBox;
OpenPictureDialog1: TOpenPictureDialog;
PReport1: TPReport;
PRLabel1: TPRLabel;
SaveDialog1: TSaveDialog;
procedure CheckBox1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure PRPage1PrintPage(Sender: TObject; ACanvas: TPRCanvas);
private
{ Private �錾 }
public
{ Public �錾 }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
PRJpegImage1.Stretch := CheckBox1.Checked;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
SaveDialog1.FileName := ChangeFileExt(ExtractFileName(OpenPictureDialog1.FileName), '.pdf');
if SaveDialog1.Execute then
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
Print(PRPage1);
EndDoc;
ShellExecute(Self.Handle, 'Open', PChar(FileName), '', '', SW_SHOW);
end;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
begin
PRJpegImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
PRLabel1.Caption := OpenPictureDialog1.FileName;
PRJpegImage1.Repaint;
end;
end;
procedure TForm1.PRPage1PrintPage(Sender: TObject; ACanvas: TPRCanvas);
var
Dest: TPRDestination;
begin
// create a new destination for the current page.
Dest := PReport1.CreateDestination;
// setting the properties for the destination object.
with Dest do
begin
DestinationType := dtXYZ;
Left := -10;
Top := -10;
Zoom := 1;
end;
// set the destination object as the open-action.
PReport1.OpenAction := Dest;
end;
end.

View File

@ -0,0 +1,271 @@
{*
*
* BatchPdf.dpr
*
* To run this program, open terminal window and run this program with
* filename parameter
*
* ex) ./BatchPdf batchpdf.pdf
*}
program BatchPdf;
{$APPTYPE CONSOLE}
uses
SysUtils,
Classes,
PdfDoc in '../../PdfDoc.pas',
PdfFonts in '../../PdfFonts.pas',
PdfTypes in '../../PdfTypes.pas';
type
TCustRecord = record
CustNo: string;
Company: string;
Addr: string;
Phone: string;
end;
const
CUSTFILE_NAME = 'Customer.dat';
var
FDoc: TPdfDoc;
FFileName: string;
FOutFile: TFileStream;
FPage: integer;
FFile: TextFile;
procedure TextOut(X, Y: Single; S: string);
begin
with FDoc.Canvas do
begin
BeginText;
MoveTextPoint(X, Y);
ShowText(S);
EndText;
end;
end;
procedure DrawLine(X1, Y1, X2, Y2, Width: Single);
begin
with FDoc.Canvas do
begin
MoveTo(X1, Y1);
LineTo(X2, Y2);
Stroke;
end;
end;
procedure WriteHeader;
var
s: string;
w: integer;
begin
// writing the headline of the pages
with FDoc.Canvas do
begin
// setting font
SetFont('Arial-BoldItalic', 16);
// printing text.
TextOut(90, 770, 'Customer.DB');
SetFont('Arial-BoldItalic', 9);
S := FormatDateTime('YYYY/MM/DD', Date);
w := Round(TextWidth(S));
// writing header text.
TextOut(530 - w, 770, S);
SetRGBStrokeColor($00008800);
DrawLine(90, 765, 530, 765, 1.5);
end;
end;
procedure WriteFooter;
var
w: Single;
s: string;
begin
with FDoc.Canvas do
begin
// Setting font and print text with center align
SetFont('Times-Roman', 8);
DrawLine(90, 70, 530, 70, 1.5);
s := 'Page ' + IntToStr(FPage);
w := TextWidth(s);
TextOut((PageWidth - w) / 2, 55, S);
end;
end;
function StringToCustRecord(s: string): TCustRecord;
var
FPos1, FPos2: integer;
begin
// initializing TCustRecord.
with Result do
begin
CustNo := '';
Company := '';
Addr := '';
Phone := '';
end;
// makeing TCustRecord from string(each element is separated by #09 charactar).
FPos1 := Pos(#09, s);
if FPos1 > 0 then
begin
Result.CustNo := Copy(S, 1, FPos1-1);
s[FPos1] := ' ';
end;
FPos2 := Pos(#09, s);
if FPos2 > 0 then
begin
Result.Company := Copy(S, FPos1+1, FPos2-FPos1-1);
s[FPos2] := ' ';
end;
FPos1 := Pos(#09, s);
if FPos1 > 0 then
begin
Result.Addr := Copy(S, FPos2+1, FPos1-FPos2-1);
s[FPos1] := ' ';
end;
Result.Phone := Copy(S, FPos1+1, Length(s) - FPos1);
end;
procedure WriteRow(YPos: Single);
var
i: integer;
s: string;
CustRecord: TCustRecord;
begin
// printing the detail lines
with FDoc.Canvas do
begin
if not EOF(FFile) then
begin
Readln(FFile, s);
CustRecord := StringToCustRecord(s);
TextOut(95, YPos - 15, CustRecord.CustNo);
i := MeasureText(CustRecord.Company, 130);
TextOut(135, YPos - 15, Copy(CustRecord.Company, 1, i));
i := MeasureText(CustRecord.Addr, 175);
TextOut(275, YPos - 15, Copy(CustRecord.Addr, 1, i));
TextOut(455, YPos - 15, CustRecord.Phone);
end;
end;
end;
procedure WritePage;
var
i: integer;
XPos, YPos: Single;
begin
with FDoc.Canvas do
begin
// writing the outline
SetLineWidth(1.5);
Rectangle(90, 80, 440, 680);
Stroke;
// writing the horizontal lines.
YPos := 760;
SetLineWidth(0.75);
for i := 0 to 32 do
begin
YPos := YPos - 20;
MoveTo(90, YPos);
LineTo(530, YPos);
Stroke;
end;
// writing the header of the text.
SetLineWidth(1);
SetFont('Times-Roman', 10.5);
XPos := 90;
TextOut(XPos + 5, 745, 'NO.');
XPos := 130;
DrawLine(XPos, 760, XPos, 80, 1);
TextOut(XPos + 5, 745, 'Company');
XPos := 270;
DrawLine(XPos, 760, XPos, 80, 1);
TextOut(XPos + 5, 745, 'Address');
XPos := 450;
DrawLine(XPos, 760, XPos, 80, 1);
TextOut(XPos + 5, 745, 'Phone');
XPos := 530;
DrawLine(XPos, 760, XPos, 80, 1);
// setting the font for the detail lines.
SetFont('Arial', 10.5);
end;
// printing the detail lines with 20 dot height.
YPos := 740;
for i := 0 to 32 do
begin
WriteRow(YPos);
YPos := YPos - 20;
end;
end;
begin
if ParamCount > 0 then
FFileName := ParamStr(1)
else
begin
Writeln('Usage: bachpdf <pdf-filename>');
Halt(2);
end;
// create output-filestream.
FOutFile := TFileStream.Create(FFileName, fmCreate);
FPage := 1;
// open Custmer.dat
Writeln('opening datafile..');
AssignFile(FFile, CUSTFILE_NAME);
Reset(FFile);
// create TPdfDoc object.
Writeln('BatchPdf creating document..');
FDoc := TPdfDoc.Create;
with FDoc do
try
// create a new document.
NewDoc;
// printind page from the result of the query.
while not EOF(FFile) do
begin
AddPage;
WriteHeader;
WritePage;
WriteFooter;
inc(FPage);
end;
// save the pdf-document to the file-stream.
Writeln('BatchPdf saving document..');
FDoc.SaveToStream(FOutFile);
finally
FDoc.Free;
end;
FOutFile.Free;
CloseFile(FFile);
Writeln('BatchPdf end..');
end.

Binary file not shown.

View File

@ -0,0 +1,55 @@
1221 Kauai Dive Shoppe HI Kapaa Kauai4-976 Sugarloaf Hwy 94992-2-4564
1231 Unisco FreeportPO Box Z-547 93-3317-4786
1351 Sight Diver Kato Paphos1 Neptune Lane 99808-2-0156
1354 Cayman Divers World Unli Grand Cayman PO Box 541 993-521-2764
1356 Tom Sawyer Diving Centre St. CroixChristiansted632-1 Third Fry 9472-54-0488
1380 Blue Jack Aqua Center HI Waipahu23-738 Paddington Lane 93-3401-2788
1384 VIP Divers Club St. CroixChristiansted32 Main St. 9473-65-2384
1510 Ocean Paradise HI Kailua-KonaPO Box 8745 94992-5-2480
1513 Fantastique Aquatica Bogota Z32 999 #12A-77 A.A. 324-5662
1551 Marmot Divers Club OntarioKitchener 872 Queen St. 911-612-2586
1560 The Depth Charge FL Marathon15243 Underwater Fwy. 9534-36-2703
1563 Blue Sports OR Giribaldi 203 12th Ave. Box 746 9988-67-0788
1624 Makai SCUBA Club HI Kailua-KonaPO Box 8534 93-3425-2781
1645 Action Club FL SarasotaPO Box 5451-F 9559-23-2549
1651 Jamaica SCUBA Centre JamaicaNegril PO Box 68 96-536-0654
1680 Island Finders GA St Simons Isle6133 1/3 Stone Av 952-732-6301
1984 Adventure Undersea Belize CityPO Box 744 333-9445
2118 Blue Sports Club FL Largo63365 Nez Perce Street 9543-66-0845
2135 Frank's Divers Supply OR Eugene 1455 North 44th St. 99808-3-1549
2156 Davy Jones' Locker BC Vancouver 246 South 16th Place 9177-42-1836
2163 SCUBA Heaven Nassau PO Box Q-8874 324-4561
2165 Shangri-La Sports Center FreeportPO Box D-5495 333-5662
2315 Divers of Corfu, Inc. Corfu Ayios MatthaiosMarmoset Plac 9272-52-1924
2354 Kirk Enterprises TX Houston42 Aqua Lane 982-246-8352
2975 George Bean & Co. NC Lugoff #73 King Salmon Way 9474-78-6749
2984 Professional Divers, Ltd. AL Hoover 4734 Melinda St. 96-429-1529
3041 Divers of Blue-green AL Pelham 634 Complex Ave. 978-303-1863
3042 Gold Coast Supply AL Mobile 223-B Houston Place 9789-26-8542
3051 San Pablo Dive Center CA Santa Maria1701-D N Broadway 9467-85-0267
3052 Underwater Sports Co. CA San Jose351-A Sarasota St. 945-843-1155
3053 American SCUBA Supply CA Lomita 1739 Atlantic Avenue 9468-75-1489
3054 Catamaran Dive Club CA Catalina IslandBox 264 Pleasure 9466-27-2173
3055 Diver's Grotto CA Downey 24601 Universal Lane 944-245-4589
3151 Fisherman's Eye Grand Cayman PO Box 7542 993-521-5376
3158 Action Diver Supply St. ThomasBlue Spar Box #3 808-555-0269
3615 Marina SCUBA Center CaracasPO Box 82438 Zulu 7831 808-555-8904
3984 Blue Glass Happiness CA Santa Monica 6345 W. Shore La 9467-22-2964
4312 Divers of Venice FL Venice 220 Elm Street 9543-66-2573
4531 On-Target SCUBA Manitoba Winnipeg7-73763 Nanaka 9956-24-0469
4652 Jamaica Sun, Inc. JamaicaRunaway BayPO Box 643 96-475-2568
4684 Underwater Fantasy JamaicaOcho Rios PO Box 842 9720-34-4803
5132 Princess Island SCUBA TaveuniPO Box 32 Waiyevo 808-555-8231
5151 Central Underwater Supplie Johannesburg PO Box 737 817-4584
5163 Safari Under the Sea Grand Cayman PO Box 7456 9942-39-8547
5165 Larry's Diving School OR Milwaukie 3562 NW Bruce Street 99893-3-9740
5384 Tora Tora Tora Nassau PO Box H-4573 333-2163
5412 Vashon Ventures HI Honolulu743 Keyhole Court 96-3724-1845
5432 Divers-for-Hire SuvaG.O. P Box 91 324-7894
5515 Ocean Adventures HI MauiPO Box 466 Kihei 94996-2-2376
6215 Underwater SCUBA Comp SomersetPO Box Sn 91 97348-3-4875
6312 Aquatic Drama FL Tampa921 Everglades Way 9543-66-5130
6516 The Diving Company St. ThomasPO Box 8535 94998-2-2025
6582 Norwest'er SCUBA Limited PagetPO Box 6834 99808-5-5129
6812 Waterspout SCUBA Center OR Portland7865 NE Barber Ct. 99897-3-1893
9841 Neptune's Trident Supply JamaicaNegril PO Box 129 96-386-1563

View File

@ -0,0 +1,13 @@
program LineExample;
uses
Forms,
ULineExample in 'ULineExample.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,124 @@
unit ULineExample;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, PReport, PdfDoc, Menus, ComCtrls;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
ScrollBox1: TScrollBox;
MainMenu1: TMainMenu;
File1: TMenuItem;
CreatePDF1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
PReport1: TPReport;
PRPage1: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
PRText1: TPRText;
PRText2: TPRText;
SaveDialog1: TSaveDialog;
PRRect1: TPRRect;
PRText3: TPRText;
PRText4: TPRText;
PRRect2: TPRRect;
PRText5: TPRText;
PRRect3: TPRRect;
PRRect4: TPRRect;
PRText6: TPRText;
PRText7: TPRText;
PRRect5: TPRRect;
PRRect6: TPRRect;
PRText8: TPRText;
PRRect7: TPRRect;
PRText9: TPRText;
PRText10: TPRText;
PRRect8: TPRRect;
PRText11: TPRText;
PRRect9: TPRRect;
PRRect10: TPRRect;
PRText12: TPRText;
PRText13: TPRText;
PRRect11: TPRRect;
PRRect12: TPRRect;
PRText14: TPRText;
PRRect13: TPRRect;
PRText15: TPRText;
PRText16: TPRText;
PRRect14: TPRRect;
PRText17: TPRText;
PRRect15: TPRRect;
PRRect16: TPRRect;
PRText18: TPRText;
PRText19: TPRText;
PRRect17: TPRRect;
PRRect19: TPRRect;
PRText21: TPRText;
PRText22: TPRText;
PRRect20: TPRRect;
PRText23: TPRText;
PRRect21: TPRRect;
PRRect22: TPRRect;
PRText24: TPRText;
PRText25: TPRText;
PRRect23: TPRRect;
PRRect25: TPRRect;
PRText27: TPRText;
PRRect26: TPRRect;
PRText28: TPRText;
PRRect18: TPRRect;
PRText20: TPRText;
PRRect24: TPRRect;
PRText26: TPRText;
PRRect27: TPRRect;
PRText29: TPRText;
PRRect28: TPRRect;
PRText30: TPRText;
PRRect29: TPRRect;
PRText31: TPRText;
PRRect30: TPRRect;
PRText32: TPRText;
procedure CreatePDF1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
private
{ Private �錾 }
public
{ Public �錾 }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.CreatePDF1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
Print(PRPage1);
EndDoc;
end;
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage(POWER_PDF_VERSION_STR + #13#10 + POWER_PDF_COPYRIGHT);
end;
end.

View File

@ -0,0 +1,521 @@
%PDF-1.2
1 0 obj
<<
/Type /Catalog
/Outlines 2 0 R
/Pages 4 0 R
/PageMode /UseNone
>>
endobj
2 0 obj
<<
/Count 0
>>
endobj
3 0 obj
<<
/Producer <FEFF001B6A61001B0050006F007700650072005000640066002000760065007200730069006F006E00200030002E003803B2>
/Author ()
/CreationDate (D:20010610164331)
/Creator ()
/Keywords ()
/Subject ()
/Title (PowerPdf Line Demo)
/ModDate (D:20010610164331)
>>
endobj
4 0 obj
<<
/Type /Pages
/Kids [5 0 R ]
/Count 1
>>
endobj
5 0 obj
<<
/Type /Page
/Parent 4 0 R
/MediaBox [0 0 600 700 ]
/Resources <<
/Font <<
/F0 7 0 R
/F1 8 0 R
>>
/XObject <<
>>
/ProcSet [/PDF /Text /ImageC ]
>>
/Contents 6 0 R
>>
endobj
6 0 obj
<<
/Length 4225
/Filter []
>>
stream
/F0 10 Tf
/F1 24 Tf
0 0 0 rg
14 TL
BT
165 648 Td
(PowerPdf Line Example) Tj
ET
/F0 9 Tf
0 0 0 rg
14 TL
BT
409 40 Td
(copyright \(c\) 1999-2001 takeshi kanno) Tj
ET
[] 0 d
56 606 m
264 606 l
0 0 0 RG
0 w
S
n
0 0 0 rg
14 TL
BT
56 611 Td
(LineWidth 0, LineStyle psSolid) Tj
ET
0 0 0 rg
14 TL
BT
56 587 Td
(LineWidth 0, LineStyle psDash) Tj
ET
[16 8 ] 0 d
56 582 m
264 582 l
0 0 0 RG
0 w
S
n
0 0 0 rg
14 TL
BT
56 563 Td
(LineWidth 0, LineStyle psDashDot) Tj
ET
[8 7 2 7 ] 0 d
56 558 m
264 558 l
0 0 0 RG
0 w
S
n
[8 4 2 4 2 4 ] 0 d
56 535 m
264 535 l
0 0 0 RG
0 w
S
n
0 0 0 rg
14 TL
BT
56 540 Td
(LineWidth 0, LineStyle psDashDotDot) Tj
ET
0 0 0 rg
14 TL
BT
56 516 Td
(LineWidth 0, LineStyle psDot) Tj
ET
[3 ] 0 d
56 511 m
264 511 l
0 0 0 RG
0 w
S
n
0 0 0 rg
14 TL
BT
56 492 Td
(LineWidth 0, LineStyle psClear\(Invisible\)) Tj
ET
[] 0 d
302 606 m
510 606 l
0 0 0 RG
1 w
S
n
0 0 0 rg
14 TL
BT
302 611 Td
(LineWidth 1, LineStyle psSolid) Tj
ET
0 0 0 rg
14 TL
BT
302 587 Td
(LineWidth 1, LineStyle psDash) Tj
ET
[16 8 ] 0 d
302 582 m
510 582 l
0 0 0 RG
1 w
S
n
0 0 0 rg
14 TL
BT
302 563 Td
(LineWidth 1, LineStyle psDashDot) Tj
ET
[8 7 2 7 ] 0 d
302 558 m
510 558 l
0 0 0 RG
1 w
S
n
[8 4 2 4 2 4 ] 0 d
302 535 m
510 535 l
0 0 0 RG
1 w
S
n
0 0 0 rg
14 TL
BT
302 540 Td
(LineWidth 1, LineStyle psDashDotDot) Tj
ET
0 0 0 rg
14 TL
BT
302 516 Td
(LineWidth 1, LineStyle psDot) Tj
ET
[3 ] 0 d
302 511 m
510 511 l
0 0 0 RG
1 w
S
n
0 0 0 rg
14 TL
BT
302 492 Td
(LineWidth 1, LineStyle psClear\(Invisible\)) Tj
ET
[] 0 d
56 455 m
264 455 l
0 0 1 RG
1.5 w
S
n
0 0 0 rg
14 TL
BT
56 460 Td
(LineWidth 1.5, LineStyle psSolid, LineColor clBlue) Tj
ET
0 0 0 rg
14 TL
BT
56 436 Td
(LineWidth 1.5, LineStyle psDash, LineColor clBlue) Tj
ET
[16 8 ] 0 d
56 431 m
264 431 l
0 0 1 RG
1.5 w
S
n
0 0 0 rg
14 TL
BT
56 412 Td
(LineWidth 1.5, LineStyle psDashDot, LineColor clBl) Tj
ET
[8 7 2 7 ] 0 d
56 407 m
264 407 l
0 0 1 RG
1.5 w
S
n
[8 4 2 4 2 4 ] 0 d
56 384 m
264 384 l
0 0 1 RG
1.5 w
S
n
0 0 0 rg
14 TL
BT
56 389 Td
(LineWidth 1.5, LineStyle psDashDotDot, LineColor ) Tj
ET
0 0 0 rg
14 TL
BT
56 365 Td
(LineWidth 1.5, LineStyle psDot, LineColor clBlue) Tj
ET
[3 ] 0 d
56 360 m
264 360 l
0 0 1 RG
1.5 w
S
n
[] 0 d
302 455 m
510 455 l
0 0 0 RG
2 w
S
n
0 0 0 rg
14 TL
BT
302 460 Td
(LineWidth 2, LineStyle psSolid) Tj
ET
0 0 0 rg
14 TL
BT
302 436 Td
(LineWidth 2, LineStyle psDash) Tj
ET
[16 8 ] 0 d
302 431 m
510 431 l
0 0 0 RG
2 w
S
n
0 0 0 rg
14 TL
BT
302 412 Td
(LineWidth 2, LineStyle psDashDot) Tj
ET
[8 7 2 7 ] 0 d
302 407 m
510 407 l
0 0 0 RG
2 w
S
n
[8 4 2 4 2 4 ] 0 d
302 384 m
510 384 l
0 0 0 RG
2 w
S
n
0 0 0 rg
14 TL
BT
302 389 Td
(LineWidth 2, LineStyle psDashDotDot) Tj
ET
0 0 0 rg
14 TL
BT
302 365 Td
(LineWidth 2, LineStyle psDot) Tj
ET
[3 ] 0 d
302 360 m
510 360 l
0 0 0 RG
2 w
S
n
[] 0 d
56 334 m
264 334 l
264 296 l
56 296 l
0 0 0 RG
1 w
s
0 0 0 rg
12 TL
BT
63 319 Td
(LineWidth 1, LineStyle psSolid) Tj
T*
(LineColor clBlack, FillColor clWhite) Tj
ET
[] 0 d
55 284 m
263 284 l
263 246 l
55 246 l
1 1 0 rg
0 0 0.5 RG
1 w
b
0 0 0 rg
12 TL
BT
62 269 Td
(LineWidth 1, LineStyle psSolid) Tj
T*
(LineColor clNavy, FillColor clYellow) Tj
ET
[3 ] 0 d
302 334 m
510 334 l
510 296 l
302 296 l
0 1 0 rg
0 0 0 RG
1 w
b
0 0 0 rg
12 TL
BT
309 319 Td
(LineWidth 1, LineStyle psDot) Tj
T*
(LineColor clBlack, FillColor clLime) Tj
ET
[] 0 d
301 284 m
509 284 l
509 246 l
301 246 l
0 1 1 rg
h
f
0 0 0 rg
12 TL
BT
308 269 Td
(LineWidth 1, LineStyle psSolid) Tj
T*
(LineColor clNone, FillColor clAqua) Tj
ET
[] 0 d
56 228 m
264 228 l
264 190 l
56 190 l
0 0 0.5 RG
1.5 w
s
0 0 0 rg
12 TL
BT
63 213 Td
(LineWidth 1.5, LineStyle psSolid) Tj
T*
(LineColor clNavy, FillColor clWhite) Tj
ET
[8 7 2 7 ] 0 d
55 178 m
263 178 l
263 140 l
55 140 l
1 1 0 rg
1 0 0 RG
1.5 w
b
0 0 0 rg
12 TL
BT
62 163 Td
(LineWidth 1.5, LineStyle psDashDot) Tj
T*
(LineColor clRed, FillColor clYellow) Tj
ET
[3 ] 0 d
302 228 m
510 228 l
510 190 l
302 190 l
0 1 0 rg
0 0 1 RG
1.5 w
b
0 0 0 rg
12 TL
BT
309 213 Td
(LineWidth 1.5, LineStyle psDot) Tj
T*
(LineColor clBlue, FillColor clLime) Tj
ET
[] 0 d
301 178 m
509 178 l
509 140 l
301 140 l
0 1 1 rg
0.5 0 0.5 RG
2 w
b
0 0 0 rg
12 TL
BT
308 163 Td
(LineWidth 2, LineStyle psSolid) Tj
T*
(LineColor clPurple, FillColor clAqua) Tj
ET
endstream
endobj
7 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Helvetica
/Name /F0
>>
endobj
8 0 obj
<<
/Type /Font
/Subtype /Type1
/Encoding /WinAnsiEncoding
/FirstChar 32
/LastChar 255
/BaseFont /Helvetica-Bold
/Name /F1
>>
endobj
xref
0 9
0000000000 65535 f
0000000011 00000 n
0000000103 00000 n
0000000138 00000 n
0000000421 00000 n
0000000486 00000 n
0000000686 00000 n
0000004982 00000 n
0000005128 00000 n
trailer
<<
/Size 9
/Root 1 0 R
/Info 3 0 R
>>
startxref
5279
%%EOF

View File

@ -0,0 +1,13 @@
program MakeDoc;
uses
Forms,
UMakeDoc in 'UMakeDoc.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,966 @@
unit UMakeDoc;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
PReport, ComCtrls, ExtCtrls, Menus, PRAnnotation, PdfDoc, PdfTypes;
type
TContentsElement = class;
TForm1 = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
CreatePDF1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
PReport1: TPReport;
SaveDialog1: TSaveDialog;
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
TabSheet9: TTabSheet;
TabSheet10: TTabSheet;
TabSheet11: TTabSheet;
TabSheet12: TTabSheet;
TabSheet13: TTabSheet;
TabSheet14: TTabSheet;
TabSheet15: TTabSheet;
TabSheet16: TTabSheet;
TabSheet17: TTabSheet;
CoverPage: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
PRText2: TPRText;
PRLayoutPanel2: TPRLayoutPanel;
PRText1: TPRText;
ContentsPage: TPRPage;
PRLayoutPanel4: TPRLayoutPanel;
PRRect6: TPRRect;
PRRect7: TPRRect;
PRRect8: TPRRect;
PRRect10: TPRRect;
PRText1Contents: TPRText;
PRPage3: TPRPage;
PRLayoutPanel3: TPRLayoutPanel;
PRRect1: TPRRect;
PRRect2: TPRRect;
PRRect3: TPRRect;
PRText6: TPRText;
PRRect4: TPRRect;
PRTextIntro: TPRText;
PRRect5: TPRRect;
PRText1_1: TPRText;
PRText9: TPRText;
PRText1_2: TPRText;
PRText259: TPRText;
PRText1_3: TPRText;
PRText261: TPRText;
PRText262: TPRText;
PRText263: TPRText;
PRPage4: TPRPage;
PRLayoutPanel5: TPRLayoutPanel;
PRRect9: TPRRect;
PRRect11: TPRRect;
PRRect12: TPRRect;
PRRect13: TPRRect;
PRText21: TPRText;
PRRect14: TPRRect;
PRTextCompRef: TPRText;
PRText2_1: TPRText;
PRText24: TPRText;
PRText2_1_1: TPRText;
PRText26: TPRText;
PRText27: TPRText;
PRText28: TPRText;
PRText29: TPRText;
PRText30: TPRText;
PRText31: TPRText;
PRText32: TPRText;
PRText36: TPRText;
PRText37: TPRText;
PRText38: TPRText;
PRText39: TPRText;
PRText40: TPRText;
PRText41: TPRText;
PRText42: TPRText;
PRText43: TPRText;
PRText44: TPRText;
PRText45: TPRText;
PRText46: TPRText;
PRText47: TPRText;
PRText48: TPRText;
PRText49: TPRText;
PRText50: TPRText;
PRText33: TPRText;
PRText34: TPRText;
PRText35: TPRText;
PRText83: TPRText;
PRText84: TPRText;
PRText85: TPRText;
PRPage5: TPRPage;
PRLayoutPanel6: TPRLayoutPanel;
PRRect15: TPRRect;
PRRect16: TPRRect;
PRRect17: TPRRect;
PRRect18: TPRRect;
PRText62: TPRText;
PRText63: TPRText;
PRText64: TPRText;
PRText53: TPRText;
PRText54: TPRText;
PRText55: TPRText;
PRText56: TPRText;
PRText58: TPRText;
PRText59: TPRText;
PRText60: TPRText;
PRText61: TPRText;
PRText65: TPRText;
PRText66: TPRText;
PRText67: TPRText;
PRText86: TPRText;
PRText87: TPRText;
PRText88: TPRText;
PRText77: TPRText;
PRText78: TPRText;
PRText79: TPRText;
PRPage7: TPRPage;
PRLayoutPanel7: TPRLayoutPanel;
PRRect19: TPRRect;
PRRect20: TPRRect;
PRRect21: TPRRect;
PRRect22: TPRRect;
PRText2_2_1: TPRText;
PRText102: TPRText;
PRText103: TPRText;
PRText104: TPRText;
PRText105: TPRText;
PRText106: TPRText;
PRText107: TPRText;
PRText108: TPRText;
PRText109: TPRText;
PRText110: TPRText;
PRText111: TPRText;
PRText112: TPRText;
PRText113: TPRText;
PRText114: TPRText;
PRText115: TPRText;
PRText2_2_2: TPRText;
PRText96: TPRText;
PRText97: TPRText;
PRText119: TPRText;
PRText120: TPRText;
PRText121: TPRText;
PRText122: TPRText;
PRText123: TPRText;
PRText124: TPRText;
PRText125: TPRText;
PRText2_2: TPRText;
PRText90: TPRText;
PRText91: TPRText;
PRText92: TPRText;
PRPage8: TPRPage;
PRLayoutPanel8: TPRLayoutPanel;
PRRect23: TPRRect;
PRRect24: TPRRect;
PRRect25: TPRRect;
PRRect26: TPRRect;
PRText2_3: TPRText;
PRText152: TPRText;
PRText153: TPRText;
PRText154: TPRText;
PRText155: TPRText;
PRText156: TPRText;
PRText2_3_1: TPRText;
PRText164: TPRText;
PRText165: TPRText;
PRText166: TPRText;
PRText2_3_2: TPRText;
PRText100: TPRText;
PRText101: TPRText;
PRText116: TPRText;
PRText117: TPRText;
PRText118: TPRText;
PRText126: TPRText;
PRText127: TPRText;
PRPage9: TPRPage;
PRLayoutPanel9: TPRLayoutPanel;
PRRect27: TPRRect;
PRRect28: TPRRect;
PRRect29: TPRRect;
PRRect30: TPRRect;
PRText2_4: TPRText;
PRText133: TPRText;
PRText134: TPRText;
PRText135: TPRText;
PRText136: TPRText;
PRText137: TPRText;
PRText2_4_1: TPRText;
PRText139: TPRText;
PRText140: TPRText;
PRText141: TPRText;
PRText2_4_2: TPRText;
PRText143: TPRText;
PRText144: TPRText;
PRText145: TPRText;
PRText146: TPRText;
PRText147: TPRText;
PRText148: TPRText;
PRText149: TPRText;
PRText150: TPRText;
PRText157: TPRText;
PRText158: TPRText;
PRText159: TPRText;
PRText160: TPRText;
PRText161: TPRText;
PRText162: TPRText;
PRText167: TPRText;
PRText168: TPRText;
PRText169: TPRText;
PRText170: TPRText;
PRText171: TPRText;
PRText172: TPRText;
PRText173: TPRText;
PRText174: TPRText;
PRText175: TPRText;
PRPage10: TPRPage;
PRLayoutPanel17: TPRLayoutPanel;
PRRect67: TPRRect;
PRRect68: TPRRect;
PRRect69: TPRRect;
PRRect70: TPRRect;
PRText2_5: TPRText;
PRText281: TPRText;
PRText287: TPRText;
PRText319: TPRText;
PRText320: TPRText;
PRText321: TPRText;
PRText2_5_1: TPRText;
PRText323: TPRText;
PRText324: TPRText;
PRText325: TPRText;
PRText326: TPRText;
PRText327: TPRText;
PRText328: TPRText;
PRText329: TPRText;
PRText330: TPRText;
PRText331: TPRText;
PRText348: TPRText;
PRText349: TPRText;
PRText350: TPRText;
PRText354: TPRText;
PRText355: TPRText;
PRText356: TPRText;
PRPage11: TPRPage;
PRLayoutPanel14: TPRLayoutPanel;
PRRect54: TPRRect;
PRRect55: TPRRect;
PRRect56: TPRRect;
PRRect58: TPRRect;
PRText380: TPRText;
PRText381: TPRText;
PRText382: TPRText;
PRText383: TPRText;
PRText384: TPRText;
PRText385: TPRText;
PRText386: TPRText;
PRText387: TPRText;
PRText388: TPRText;
PRText389: TPRText;
PRRect76: TPRRect;
PRText390: TPRText;
PRText391: TPRText;
PRText392: TPRText;
PRText393: TPRText;
PRText394: TPRText;
PRText395: TPRText;
PRPage12: TPRPage;
PRLayoutPanel10: TPRLayoutPanel;
PRRect31: TPRRect;
PRRect32: TPRRect;
PRRect33: TPRRect;
PRRect34: TPRRect;
PRText2_6: TPRText;
PRText179: TPRText;
PRText180: TPRText;
PRText181: TPRText;
PRText182: TPRText;
PRText183: TPRText;
PRText2_6_1: TPRText;
PRText185: TPRText;
PRText186: TPRText;
PRText187: TPRText;
PRText196: TPRText;
PRText197: TPRText;
PRText198: TPRText;
PRText199: TPRText;
PRText200: TPRText;
PRText201: TPRText;
PRText202: TPRText;
PRText203: TPRText;
PRText239: TPRText;
PRText295: TPRText;
PRText296: TPRText;
PRText297: TPRText;
PRText298: TPRText;
PRText299: TPRText;
PRText300: TPRText;
PRText301: TPRText;
PRText302: TPRText;
PRText303: TPRText;
PRText304: TPRText;
PRText305: TPRText;
PRText306: TPRText;
PRText307: TPRText;
PRText308: TPRText;
PRText309: TPRText;
PRText310: TPRText;
PRText311: TPRText;
PRText312: TPRText;
PRPage13: TPRPage;
PRLayoutPanel11: TPRLayoutPanel;
PRRect35: TPRRect;
PRRect36: TPRRect;
PRRect37: TPRRect;
PRRect38: TPRRect;
PRText2_7: TPRText;
PRText191: TPRText;
PRText192: TPRText;
PRText193: TPRText;
PRText194: TPRText;
PRText195: TPRText;
PRText2_7_1: TPRText;
PRText206: TPRText;
PRText207: TPRText;
PRText208: TPRText;
PRText209: TPRText;
PRText210: TPRText;
PRText211: TPRText;
PRText212: TPRText;
PRText213: TPRText;
PRText214: TPRText;
PRText215: TPRText;
PRText216: TPRText;
PRText217: TPRText;
PRText3: TPRText;
PRText204: TPRText;
PRText240: TPRText;
PRPage14: TPRPage;
PRLayoutPanel12: TPRLayoutPanel;
PRRect39: TPRRect;
PRRect40: TPRRect;
PRRect41: TPRRect;
PRRect42: TPRRect;
PRText2_8: TPRText;
PRText246: TPRText;
PRText247: TPRText;
PRText248: TPRText;
PRText249: TPRText;
PRText250: TPRText;
PRText2_8_1: TPRText;
PRText252: TPRText;
PRText253: TPRText;
PRText254: TPRText;
PRText255: TPRText;
PRText256: TPRText;
PRText257: TPRText;
PRText258: TPRText;
PRText260: TPRText;
PRText264: TPRText;
PRText265: TPRText;
PRText273: TPRText;
PRText274: TPRText;
PRPage15: TPRPage;
PRLayoutPanel13: TPRLayoutPanel;
PRRect43: TPRRect;
PRRect44: TPRRect;
PRRect45: TPRRect;
PRRect46: TPRRect;
PRText2_9: TPRText;
PRText221: TPRText;
PRText222: TPRText;
PRText223: TPRText;
PRText2_9_1: TPRText;
PRText227: TPRText;
PRText228: TPRText;
PRText229: TPRText;
PRText230: TPRText;
PRText231: TPRText;
PRText232: TPRText;
PRText233: TPRText;
PRText234: TPRText;
PRText235: TPRText;
PRText236: TPRText;
PRText237: TPRText;
PRText238: TPRText;
PRRect47: TPRRect;
PRText224: TPRText;
PRText225: TPRText;
PRRect48: TPRRect;
PRText266: TPRText;
PRRect49: TPRRect;
PRRect50: TPRRect;
PRText267: TPRText;
PRText268: TPRText;
PRRect51: TPRRect;
PRRect52: TPRRect;
PRText269: TPRText;
PRText270: TPRText;
PRRect57: TPRRect;
PRPage16: TPRPage;
PRLayoutPanel18: TPRLayoutPanel;
PRRect72: TPRRect;
PRRect73: TPRRect;
PRRect74: TPRRect;
PRRect75: TPRRect;
PRText2_10: TPRText;
PRText357: TPRText;
PRText358: TPRText;
PRText359: TPRText;
PRText2_10_1: TPRText;
PRText361: TPRText;
PRText362: TPRText;
PRText363: TPRText;
PRText364: TPRText;
PRText365: TPRText;
PRText366: TPRText;
PRText367: TPRText;
PRText368: TPRText;
PRText369: TPRText;
PRText370: TPRText;
PRText371: TPRText;
PRText372: TPRText;
PRLabel2: TPRLabel;
PRRect53: TPRRect;
PREllipse1: TPREllipse;
PREllipse2: TPREllipse;
PREllipse3: TPREllipse;
PREllipse4: TPREllipse;
PREllipse5: TPREllipse;
PREllipse6: TPREllipse;
PRPage17: TPRPage;
PRLayoutPanel16: TPRLayoutPanel;
PRRect63: TPRRect;
PRRect64: TPRRect;
PRRect65: TPRRect;
PRRect66: TPRRect;
PRText2_11: TPRText;
PRText282: TPRText;
PRText283: TPRText;
PRText284: TPRText;
PRText2_11_1: TPRText;
PRText291: TPRText;
PRText292: TPRText;
PRText293: TPRText;
PRText294: TPRText;
PRText313: TPRText;
PRText314: TPRText;
PRText315: TPRText;
PRText316: TPRText;
PRAnnotation1: TPRAnnotation;
PRAnnotation2: TPRAnnotation;
PRText288: TPRText;
PRText289: TPRText;
PRText290: TPRText;
PRText317: TPRText;
PRText318: TPRText;
PRPage20: TPRPage;
PRLayoutPanel15: TPRLayoutPanel;
PRRect59: TPRRect;
PRRect60: TPRRect;
PRRect61: TPRRect;
PRRect62: TPRRect;
PRText220: TPRText;
PRTextCopyright: TPRText;
PRLabel3: TPRLabel;
PRLabel4: TPRLabel;
PRLabel6: TPRLabel;
PRLabel7: TPRLabel;
PRLabel9: TPRLabel;
PRLabel5: TPRLabel;
PRLabel8: TPRLabel;
PRLabel10: TPRLabel;
PRRect71: TPRRect;
PRLabel11: TPRLabel;
PRLabel1: TPRLabel;
PRLabel22: TPRLabel;
PRLabel23: TPRLabel;
PRLabel24: TPRLabel;
PRLabel25: TPRLabel;
PRLabel26: TPRLabel;
PRLabel27: TPRLabel;
PRLabel28: TPRLabel;
PRLabel29: TPRLabel;
PRLabel30: TPRLabel;
PRLabel31: TPRLabel;
PRLabel32: TPRLabel;
PRLabel33: TPRLabel;
PRLabel34: TPRLabel;
PRLabel35: TPRLabel;
PRLabel36: TPRLabel;
PRLabel21: TPRLabel;
PRGridPanel1: TPRGridPanel;
lblSectionNo: TPRLabel;
lblSectionName: TPRLabel;
PRText5: TPRText;
PRText7: TPRText;
PRText8: TPRText;
PRText10: TPRText;
PRText11: TPRText;
TabSheet18: TTabSheet;
PRPage6: TPRPage;
PRLayoutPanel19: TPRLayoutPanel;
PRRect77: TPRRect;
PRRect78: TPRRect;
PRRect79: TPRRect;
PRRect80: TPRRect;
PRText94: TPRText;
PRText95: TPRText;
PRText98: TPRText;
PRText99: TPRText;
PRText128: TPRText;
PRText129: TPRText;
PRText130: TPRText;
PRText131: TPRText;
PRText132: TPRText;
PRText138: TPRText;
PRText176: TPRText;
PRText177: TPRText;
PRText178: TPRText;
PRLabel12: TPRLabel;
PRLabel13: TPRLabel;
PRLabel14: TPRLabel;
PRLabel15: TPRLabel;
PRText4: TPRText;
PRText13: TPRText;
PRLabel16: TPRLabel;
PRLabel17: TPRLabel;
TabSheet19: TTabSheet;
PRPage18: TPRPage;
PRLayoutPanel20: TPRLayoutPanel;
PRRect81: TPRRect;
PRRect82: TPRRect;
PRRect83: TPRRect;
PRRect84: TPRRect;
PRLabel18: TPRLabel;
PRText2_12: TPRText;
PRText14: TPRText;
PRText15: TPRText;
PRText16: TPRText;
PRText2_12_2: TPRText;
TabSheet20: TTabSheet;
PRPage19: TPRPage;
PRLayoutPanel21: TPRLayoutPanel;
PRRect85: TPRRect;
PRRect86: TPRRect;
PRRect87: TPRRect;
PRRect88: TPRRect;
PRLabel19: TPRLabel;
PRText70: TPRText;
PRText71: TPRText;
PRText72: TPRText;
PRText73: TPRText;
PRText74: TPRText;
PRText12: TPRText;
PRText17: TPRText;
PRLabel20: TPRLabel;
PRLabel37: TPRLabel;
PRText188: TPRText;
PRText189: TPRText;
PRLabel38: TPRLabel;
PRLabel39: TPRLabel;
PRText190: TPRText;
PRText219: TPRText;
PRLabel40: TPRLabel;
PRLabel41: TPRLabel;
PRLabel42: TPRLabel;
PRLabel43: TPRLabel;
PRText18: TPRText;
PRLabel44: TPRLabel;
PRLabel45: TPRLabel;
PRText19: TPRText;
PRLabel46: TPRLabel;
PRLabel47: TPRLabel;
PRText20: TPRText;
PRLabel48: TPRLabel;
PRLabel49: TPRLabel;
PRText22: TPRText;
PRLabel50: TPRLabel;
PRLabel51: TPRLabel;
PRText23: TPRText;
PRLabel52: TPRLabel;
PRLabel53: TPRLabel;
PRText25: TPRText;
PRLabel54: TPRLabel;
PRLabel55: TPRLabel;
PRText51: TPRText;
PRLabel56: TPRLabel;
PRLabel57: TPRLabel;
PRText52: TPRText;
PRText57: TPRText;
PRLabel58: TPRLabel;
PRLabel59: TPRLabel;
PRText68: TPRText;
PRText69: TPRText;
PRText75: TPRText;
PRLabel60: TPRLabel;
PRLabel61: TPRLabel;
PRLabel62: TPRLabel;
PRLabel63: TPRLabel;
PRLabel64: TPRLabel;
PRLabel65: TPRLabel;
PRLabel66: TPRLabel;
PRLabel67: TPRLabel;
PRLabel68: TPRLabel;
PRLabel69: TPRLabel;
PRText76: TPRText;
PRText80: TPRText;
PRText81: TPRText;
PRText82: TPRText;
PRText89: TPRText;
PRLabel70: TPRLabel;
PRLabel71: TPRLabel;
procedure PRLayoutPanel2BeforePrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
procedure PRLayoutPanel2AfterPrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
procedure CreatePDF1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure PRLayoutPanelBeforePrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure PRGridPanel1BeforePrintChild(Sender: TObject;
ACanvas: TPRCanvas; ACol, ARow: Integer; Rect: TRect);
procedure CoverPagePrintPage(Sender: TObject; ACanvas: TPRCanvas);
private
FCurrentOutline: array[0..5] of TPROutlineEntry;
FContentsList: TList;
FPos: integer;
procedure CreateContentsList;
function FindLink(AItem: TPRItem): TContentsElement;
public
{ Public �錾 }
end;
TContentsElement = class(TObject)
private
FContentsIndex: string;
FTitle: string;
FData: TPdfDictionary;
FTarget: TPRItem;
public
property ContentsIndex: string read FContentsIndex write FContentsIndex;
property Title: string read FTitle write FTitle;
property Data: TPdfDictionary read FData write FData;
property Target: TPRItem read FTarget write FTarget;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.PRLayoutPanel2BeforePrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
begin
// change the horizontal scaling of th font.
ACanvas.SetHorizontalScaling(80);
PRLayoutPanelBeforePrint(Sender, ACanvas, Rect);
end;
procedure TForm1.PRLayoutPanel2AfterPrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
begin
// restore the horizontal scaling of th font.
ACanvas.SetHorizontalScaling(100);
end;
procedure TForm1.CreateContentsList;
var
APage: TPRPage;
APanel: TPRPanel;
AControl: TControl;
i, j, k: integer;
FChapterIndex: integer;
FContentsElement: TContentsElement;
S: string;
begin
// clear the contents list.
for i := FContentsList.Count - 1 downto 0 do
TContentsElement(FContentsList.Items[i]).Free;
// create new contents list.
FChapterIndex := 0;
for i := 0 to PageControl1.PageCount do
begin
APage := TPRPage(Self.FindComponent('PRPage' + IntToStr(i)));
if (APage <> nil) and (APage.Controls[0] is TPRPanel) then
begin
APanel := TPRPanel(APage.Controls[0]);
for j := 0 to APanel.ControlCount - 1 do
begin
AControl := APanel.Controls[j];
if AControl.Tag = 2 then
begin
FContentsElement := TContentsElement.Create;
with FContentsElement do
begin
if AControl is TPRText then
Title := TPRText(AControl).Text
else
if AControl is TPRLabel then
Title := TPRLabel(AControl).Caption
else
raise Exception.CreateFmt('invalid target control %s', [AControl.ClassName]);
if (Title <> 'Contents') and (Title <> 'Copyright') then
begin
inc(FChapterIndex);
FContentsList.Add(TContentsElement.Create);
Title := 'Chapter' + IntToStr(FChapterIndex) + ' ' + Title;
Target := TPRItem(AControl);
FContentsList.Add(FContentsElement);
end
else
FContentsElement.Free;
end;
end
else
if (AControl.Tag = 3) or (AControl.Tag = 4) then
begin
FContentsElement := TContentsElement.Create;
with FContentsElement do
begin
if AControl is TPRText then
S := TPRText(AControl).Text
else
if AControl is TPRLabel then
S := TPRLabel(AControl).Caption
else
raise Exception.CreateFmt('invalid target control %s', [AControl.ClassName]);
k := Pos(' ', S);
if k < 1 then
raise Exception.CreateFmt('invalid contents title text %s', [S]);
ContentsIndex := Copy(S, 1, k);
Title := Trim(Copy(S, k, Length(S) - k + 1));
Target := TPRItem(AControl);
end;
FContentsList.Add(FContentsElement);
end;
end;
end;
end;
end;
procedure TForm1.CreatePDF1Click(Sender: TObject);
var
APage: TPRPage;
i: integer;
begin
if not SaveDialog1.Execute then Exit;
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
FCurrentOutline[0] := OutlineRoot;
OutlineRoot.Opened := true;
Print(CoverPage);
CreateContentsList;
// print index of contents.
FPos := 0;
while FPos < FContentsList.Count do
begin
Print(ContentsPage);
PRText1Contents.Text := '';
PRText1Contents.Tag := 0;
end;
for i := 2 to PageControl1.PageCount - 1 do
begin
APage := TPRPage(PageControl1.Pages[i].Controls[0]);
if APage <> nil then
Print(APage);
end;
EndDoc;
for i := FContentsList.Count - 1 downto 0 do
TContentsElement(FContentsList.Items[i]).Free;
FContentsList.Clear;
end;
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage(POWER_PDF_VERSION_STR + #13#10 + POWER_PDF_COPYRIGHT);
end;
procedure TForm1.PRLayoutPanelBeforePrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
var
FDestination: TPRDestination;
i, j: integer;
FLevel: integer;
FControlList: TList;
FPRText: TPRText;
TmpYPos: integer;
ItemIndex: integer;
FTextWidth: Single;
Element: TContentsElement;
begin
// printting page number
if PReport1.PageNumber > 1 then
with ACanvas do
begin
SetFont('Times-Roman', 8);
FTextWidth := TextWidth(IntToStr(PReport1.PageNumber - 1));
TextOut((PageWidth - FTextWidth) / 2 + 3, 30, IntToStr(PReport1.PageNumber - 1));
end;
// sorting the Items of the page by Top property.
FControlList := TList.Create;
with (Sender as TPRPanel) do
for i := 0 to ControlCount - 1 do
if (Controls[i] is TPRText) and (Controls[i].Tag > 0) then
begin
TmpYPos := Controls[i].Top;
ItemIndex := -1;
for j := 0 to FControlList.Count - 1 do
if TControl(FControlList[j]).Top > TmpYPos then
begin
ItemIndex := j;
Break;
end;
if ItemIndex = -1 then
FControlList.Add(Controls[i])
else
FControlList.Insert(ItemIndex, Controls[i]);
end;
for i := 0 to FControlList.Count - 1 do
if TPRText(FControlList[i]).Tag > 0 then
begin
// getting outline level from the Tag property.
FPRText := TPRText(FControlList[i]);
FLevel := FPRText.Tag;
if FCurrentOutline[FLevel - 1] <> nil then
begin
FCurrentOutline[FLevel] := FCurrentOutline[FLevel - 1].AddChild;
with FCurrentOutline[FLevel] do
begin
if FLevel = 1 then
Opened := true;
Title := FPRText.Text;
FDestination := PReport1.CreateDestination;
Dest := FDestination;
end;
with FDestination do
begin
DestinationType := dtXYZ;
Top := FPRText.Top;
Left := FPRText.Left;
Zoom := 0;
end;
// setting the destination object to the link-annotation.
Element := FindLink(TPRText(FControlList[i]));
if Element <> nil then
Element.Data.AddItem('Dest', FDestination.Data.GetValue);
end;
end;
FControlList.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FContentsList := TList.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
var
i: integer;
begin
for i := FContentsList.Count - 1 downto 0 do
TContentsElement(FContentsList.Items[i]).Free;
FContentsList.Free;
end;
procedure TForm1.PRGridPanel1BeforePrintChild(Sender: TObject;
ACanvas: TPRCanvas; ACol, ARow: Integer; Rect: TRect);
begin
if FPos < FContentsList.Count then
with TContentsElement(FContentsList[FPos]) do
begin
if ContentsIndex = '' then
begin
lblSectionName.FontBold := true;
lblSectionNo.FontSize := 12;
lblSectionName.FontSize := 12;
lblSectionName.Top := 0;
end
else
begin
lblSectionName.FontBold := false;
lblSectionNo.FontSize := 11;
lblSectionName.FontSize := 11;
lblSectionNo.Top := 3;
lblSectionName.Top := 3;
end;
lblSectionNo.Caption := ContentsIndex;
lblSectionName.Caption := Title;
with Rect do
Data := ACanvas.PdfCanvas.Doc.CreateAnnotation(asLink,
_PdfRect(Left, ACanvas.PageHeight - Top, Right, ACanvas.PageHeight - Bottom));
with Data do
AddItem('Border', TPdfArray.CreateNumArray(nil, [0, 0, 0]));
end
else
begin
lblSectionNo.Caption := '';
lblSectionName.Caption := '';
end;
inc(FPos);
end;
procedure TForm1.CoverPagePrintPage(Sender: TObject; ACanvas: TPRCanvas);
begin
with PReport1 do
begin
OpenAction := CreateDestination;
OpenAction.DestinationType := dtXYZ;
end;
end;
function TForm1.FindLink(AItem: TPRItem): TContentsElement;
var
i: integer;
Element: TContentsElement;
begin
result := nil;
for i := FContentsList.Count - 1 downto 0 do
begin
Element := TContentsElement(FContentsList.Items[i]);
if Element.Target = AItem then result := Element;
end;
end;
end.

Binary file not shown.

View File

@ -0,0 +1,13 @@
program MultiSizePagesDemo;
uses
Forms,
UMultiSizeDocument in 'UMultiSizeDocument.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,98 @@
unit UMultiSizeDocument;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
PReport, ExtCtrls, PdfDoc, Menus, ComCtrls, Db, DBTables, PdfTypes;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
MainMenu1: TMainMenu;
File1: TMenuItem;
CreatePDF1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
PReport1: TPReport;
SaveDialog1: TSaveDialog;
Table1: TTable;
Table1CustNo: TFloatField;
Table1Company: TStringField;
Table1Addr1: TStringField;
Table1City: TStringField;
Table1State: TStringField;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
ScrollBox1: TScrollBox;
PRPage1: TPRPage;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
ScrollBox2: TScrollBox;
PRPage2: TPRPage;
ScrollBox3: TScrollBox;
PRPage3: TPRPage;
TabSheet4: TTabSheet;
ScrollBox4: TScrollBox;
PRPage4: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
PRLayoutPanel2: TPRLayoutPanel;
PRLayoutPanel3: TPRLayoutPanel;
PRLayoutPanel4: TPRLayoutPanel;
PRText1: TPRText;
PRText2: TPRText;
PRText3: TPRText;
PRText4: TPRText;
procedure CreatePDF1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.CreatePDF1Click(Sender: TObject);
var
APage: TPRPage;
i: integer;
begin
if not SaveDialog1.Execute then Exit;
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
for i := 0 to PageControl1.PageCount do
begin
APage := TPRPage(Self.FindComponent('PRPage' + IntToStr(i)));
if APage <> nil then
Print(APage);
end;
EndDoc;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
PRPage1.Visible := false;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage(POWER_PDF_VERSION_STR + #13#10 + POWER_PDF_COPYRIGHT);
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
end.

View File

@ -0,0 +1,13 @@
program OpenActionExample;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,153 @@
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, PReport, PdfDoc, ComCtrls, ShellAPI;
type
TForm1 = class(TForm)
Button1: TButton;
RadioGroup1: TRadioGroup;
PRPage1: TPRPage;
PReport1: TPReport;
PRLayoutPanel1: TPRLayoutPanel;
PRLabel1: TPRLabel;
PRLabel2: TPRLabel;
PRLabel3: TPRLabel;
PRLabel4: TPRLabel;
PRLabel5: TPRLabel;
PRLabel6: TPRLabel;
PRLabel7: TPRLabel;
PRLabel8: TPRLabel;
PRLabel9: TPRLabel;
PRLabel10: TPRLabel;
PRLabel11: TPRLabel;
PRLabel12: TPRLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
EdtLeft: TEdit;
UpDown1: TUpDown;
EdtTop: TEdit;
UpDown2: TUpDown;
EdtRight: TEdit;
UpDown3: TUpDown;
EdtBottom: TEdit;
UpDown4: TUpDown;
EdtZoom: TEdit;
UpDown5: TUpDown;
PRLabel13: TPRLabel;
PRLabel14: TPRLabel;
PRLabel15: TPRLabel;
PRLabel16: TPRLabel;
PRLabel17: TPRLabel;
PRLabel18: TPRLabel;
PRLabel19: TPRLabel;
PRLabel20: TPRLabel;
PRLabel21: TPRLabel;
PRLabel22: TPRLabel;
PRLabel23: TPRLabel;
PRLabel24: TPRLabel;
PRLabel25: TPRLabel;
PRLabel26: TPRLabel;
PRLabel27: TPRLabel;
procedure Button1Click(Sender: TObject);
procedure PRPage1PrintPage(Sender: TObject; ACanvas: TPRCanvas);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private �錾 }
public
{ Public �錾 }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
with PReport1 do
begin
BeginDoc;
Print(PRPage1);
EndDoc;
end;
ShellExecute(Self.Handle, 'Open', 'default.pdf', '', '', SW_SHOW);
end;
procedure TForm1.PRPage1PrintPage(Sender: TObject; ACanvas: TPRCanvas);
var
Dest: TPRDestination;
begin
// create a new destination for the current page.
Dest := PReport1.CreateDestination;
// setting the properties for the destination object.
with Dest do
begin
DestinationType := TPRDestinationType(RadioGroup1.ItemIndex);
Left := StrToInt(EdtLeft.Text);
Top := StrToInt(EdtTop.Text);
Right := StrToInt(EdtRight.Text);
Bottom := StrToInt(EdtBottom.Text);
Zoom := StrToInt(EdtZoom.Text) / 100;
end;
// set the destination object as the open-action.
PReport1.OpenAction := Dest;
end;
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: begin
EdtTop.Enabled := true;
EdtLeft.Enabled := true;
EdtZoom.Enabled := true;
EdtRight.Enabled := false;
EdtBottom.Enabled := false;
end;
1, 5:
begin
EdtTop.Enabled := false;
EdtLeft.Enabled := false;
EdtZoom.Enabled := false;
EdtRight.Enabled := false;
EdtBottom.Enabled := false;
end;
2, 6:
begin
EdtTop.Enabled := true;
EdtLeft.Enabled := false;
EdtZoom.Enabled := false;
EdtRight.Enabled := false;
EdtBottom.Enabled := false;
end;
3, 7:
begin
EdtTop.Enabled := false;
EdtLeft.Enabled := true;
EdtZoom.Enabled := false;
EdtRight.Enabled := false;
EdtBottom.Enabled := false;
end;
4:
begin
EdtTop.Enabled := true;
EdtLeft.Enabled := true;
EdtZoom.Enabled := false;
EdtRight.Enabled := true;
EdtBottom.Enabled := true;
end;
end;
end;
end.

View File

@ -0,0 +1,13 @@
program PageLayoutMode;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,103 @@
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, PdfDoc, PReport, ShellAPI;
type
TForm1 = class(TForm)
PRPage1: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
PRLabel1: TPRLabel;
PRLabel2: TPRLabel;
PRLabel3: TPRLabel;
PRLabel4: TPRLabel;
PRLabel5: TPRLabel;
PRLabel6: TPRLabel;
PRLabel7: TPRLabel;
PRLabel8: TPRLabel;
PRLabel9: TPRLabel;
PRLabel10: TPRLabel;
PRLabel11: TPRLabel;
PRLabel12: TPRLabel;
PRLabel13: TPRLabel;
PRLabel14: TPRLabel;
PRLabel15: TPRLabel;
PRLabel16: TPRLabel;
PRLabel17: TPRLabel;
PRLabel18: TPRLabel;
PRLabel19: TPRLabel;
PRLabel20: TPRLabel;
PRLabel21: TPRLabel;
PRLabel22: TPRLabel;
PRLabel23: TPRLabel;
PRLabel24: TPRLabel;
PRLabel25: TPRLabel;
PRLabel26: TPRLabel;
PRLabel27: TPRLabel;
Button1: TButton;
PReport1: TPReport;
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
PRPage2: TPRPage;
PRLayoutPanel2: TPRLayoutPanel;
PRLabel28: TPRLabel;
PRLabel29: TPRLabel;
PRLabel30: TPRLabel;
PRLabel31: TPRLabel;
PRLabel32: TPRLabel;
PRLabel33: TPRLabel;
PRLabel34: TPRLabel;
PRLabel35: TPRLabel;
PRLabel36: TPRLabel;
PRLabel37: TPRLabel;
PRLabel38: TPRLabel;
PRLabel39: TPRLabel;
PRLabel40: TPRLabel;
PRLabel41: TPRLabel;
PRLabel42: TPRLabel;
PRLabel43: TPRLabel;
PRLabel44: TPRLabel;
PRLabel45: TPRLabel;
PRLabel46: TPRLabel;
PRLabel47: TPRLabel;
PRLabel48: TPRLabel;
PRLabel49: TPRLabel;
PRLabel50: TPRLabel;
PRLabel51: TPRLabel;
PRLabel52: TPRLabel;
PRLabel53: TPRLabel;
PRLabel54: TPRLabel;
procedure Button1Click(Sender: TObject);
private
{ Private �錾 }
public
{ Public �錾 }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
with PReport1 do
begin
BeginDoc;
PReport1.PageLayout := TPRPageLayout(RadioGroup1.ItemIndex);
PReport1.PageMode := TPRPageMode(RadioGroup2.ItemIndex);
Print(PRPage1);
Print(PRPage2);
Print(PRPage1);
Print(PRPage2);
EndDoc;
end;
ShellExecute(Self.Handle, 'Open', 'default.pdf', '', '', SW_SHOW);
end;
end.

View File

@ -0,0 +1,107 @@
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, PReport, PdfDoc, ComCtrls, ShellAPI;
type
TForm1 = class(TForm)
Button1: TButton;
PRPage1: TPRPage;
PReport1: TPReport;
PRLayoutPanel1: TPRLayoutPanel;
PRLabel1: TPRLabel;
PRLabel2: TPRLabel;
PRLabel3: TPRLabel;
PRLabel4: TPRLabel;
PRLabel5: TPRLabel;
PRLabel6: TPRLabel;
PRLabel7: TPRLabel;
PRLabel8: TPRLabel;
PRLabel9: TPRLabel;
PRLabel10: TPRLabel;
PRLabel11: TPRLabel;
PRLabel12: TPRLabel;
PRLabel13: TPRLabel;
PRLabel14: TPRLabel;
PRLabel15: TPRLabel;
PRLabel16: TPRLabel;
PRLabel17: TPRLabel;
PRLabel18: TPRLabel;
PRLabel19: TPRLabel;
PRLabel20: TPRLabel;
PRLabel21: TPRLabel;
PRLabel22: TPRLabel;
PRLabel23: TPRLabel;
PRLabel24: TPRLabel;
PRLabel25: TPRLabel;
PRLabel26: TPRLabel;
PRLabel27: TPRLabel;
HideToolbar: TCheckBox;
HideMenubar: TCheckBox;
HideWindowUI: TCheckBox;
FitWindow: TCheckBox;
CenterWindow: TCheckBox;
procedure Button1Click(Sender: TObject);
procedure HideToolbarClick(Sender: TObject);
private
{ Private �錾 }
public
{ Public �錾 }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
with PReport1 do
begin
BeginDoc;
Print(PRPage1);
EndDoc;
end;
ShellExecute(Self.Handle, 'Open', 'default.pdf', '', '', SW_SHOW);
end;
procedure TForm1.HideToolbarClick(Sender: TObject);
begin
with PReport1 do
if TCheckBox(Sender).Name = 'HideToolbar' then
if TCheckBox(Sender).Checked then
ViewerPreference := ViewerPreference + [vpHideToolbar]
else
ViewerPreference := ViewerPreference - [vpHideToolbar]
else
if TCheckBox(Sender).Name = 'HideMenubar' then
if TCheckBox(Sender).Checked then
ViewerPreference := ViewerPreference + [vpHideMenubar]
else
ViewerPreference := ViewerPreference - [vpHideMenubar]
else
if TCheckBox(Sender).Name = 'HideWindowUI' then
if TCheckBox(Sender).Checked then
ViewerPreference := ViewerPreference + [vpHideWindowUI]
else
ViewerPreference := ViewerPreference - [vpHideWindowUI]
else
if TCheckBox(Sender).Name = 'FitWindow' then
if TCheckBox(Sender).Checked then
ViewerPreference := ViewerPreference + [vpFitWindow]
else
ViewerPreference := ViewerPreference - [vpFitWindow]
else
if TCheckBox(Sender).Name = 'CenterWindow' then
if TCheckBox(Sender).Checked then
ViewerPreference := ViewerPreference + [vpCenterWindow]
else
ViewerPreference := ViewerPreference - [vpCenterWindow];
end;
end.

View File

@ -0,0 +1,13 @@
program ViewerPreferenceExample;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,98 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="\"/>
<Version Value="6"/>
<General>
<Flags>
<MainUnitHasUsesSectionForAllUnits Value="False"/>
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
</Flags>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="pack_powerpdf"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="3">
<Unit0>
<Filename Value="FontExample.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="38" Y="4"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="UFontExample.pas"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<ResourceFilename Value="ufontexample.lrs"/>
<UnitName Value="UFontExample"/>
<CursorPos X="11" Y="7"/>
<TopLine Value="1"/>
<EditorIndex Value="1"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="ufontexample.lfm"/>
<CursorPos X="21" Y="9"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
<SyntaxHighlighter Value="LFM"/>
</Unit2>
</Units>
<JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<PathDelim Value="\"/>
<SearchPaths>
<SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,16 @@
program FontExample;
{$MODE Delphi}
uses
Interfaces,
Forms,
UFontExample in 'UFontExample.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,127 @@
unit UFontExample;
{$MODE Delphi}
interface
uses
LCLIntf, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, PReport, PdfDoc, Menus, ComCtrls, LResources;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
ScrollBox1: TScrollBox;
MainMenu1: TMainMenu;
File1: TMenuItem;
CreatePDF1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
PReport1: TPReport;
PRPage1: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
SaveDialog1: TSaveDialog;
PRRect1: TPRRect;
PRText3: TPRText;
PRText4: TPRText;
PRText5: TPRText;
PRText6: TPRText;
PRText7: TPRText;
PRText8: TPRText;
PRText9: TPRText;
PRText10: TPRText;
PRText11: TPRText;
PRText12: TPRText;
PRText13: TPRText;
PRText14: TPRText;
PRText15: TPRText;
PRText16: TPRText;
PRText17: TPRText;
PRText18: TPRText;
PRText19: TPRText;
PRText20: TPRText;
PRText21: TPRText;
PRText22: TPRText;
PRText23: TPRText;
PRText24: TPRText;
PRText25: TPRText;
PRText26: TPRText;
PRRect2: TPRRect;
PRText27: TPRText;
PRText28: TPRText;
PRText29: TPRText;
PRText30: TPRText;
PRText31: TPRText;
PRText32: TPRText;
PRText33: TPRText;
PRText34: TPRText;
PRText35: TPRText;
PRText36: TPRText;
PRText37: TPRText;
PRText38: TPRText;
PRText39: TPRText;
PRText40: TPRText;
PRRect3: TPRRect;
PRText41: TPRText;
PRText42: TPRText;
PRText43: TPRText;
PRText44: TPRText;
PRText45: TPRText;
PRText46: TPRText;
PRText47: TPRText;
PRText48: TPRText;
PRText49: TPRText;
PRText50: TPRText;
PRLabel1: TPRLabel;
PRLabel3: TPRLabel;
PRLabel2: TPRLabel;
PRLabel4: TPRLabel;
PRLabel5: TPRLabel;
PRLabel6: TPRLabel;
PRLabel7: TPRLabel;
PRLabel8: TPRLabel;
PRLabel9: TPRLabel;
PRLabel10: TPRLabel;
procedure CreatePDF1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
private
{ Private �錾 }
public
{ Public �錾 }
end;
var
Form1: TForm1;
implementation
procedure TForm1.CreatePDF1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
Print(PRPage1);
EndDoc;
end;
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage(POWER_PDF_VERSION_STR + #13#10 + POWER_PDF_COPYRIGHT);
end;
initialization
{$i UFontExample.lrs}
end.

View File

@ -0,0 +1,808 @@
object Form1: TForm1
Caption = 'Form1'
ClientHeight = 566
ClientWidth = 641
Font.CharSet = ANSI_CHARSET
Font.Height = -12
Font.Name = 'Arial'
Menu = MainMenu1
PixelsPerInch = 96
HorzScrollBar.Page = 640
VertScrollBar.Page = 565
Left = 154
Height = 585
Top = 53
Width = 641
object StatusBar1: TStatusBar
Panels = <
item
Width = 50
end>
SimplePanel = False
Height = 20
Top = 546
Width = 641
end
object ScrollBox1: TScrollBox
Align = alClient
BorderSpacing.OnChange = nil
ParentColor = True
TabOrder = 0
HorzScrollBar.Page = 636
VertScrollBar.Page = 541
Height = 546
Width = 641
object PRPage1: TPRPage
MarginTop = 32
MarginLeft = 32
MarginRight = 32
MarginBottom = 32
Left = 14
Height = 700
Top = 11
Width = 600
object PRLayoutPanel1: TPRLayoutPanel
Align = alClient
Left = 33
Height = 634
Top = 33
Width = 534
object PRRect1: TPRRect
Height = 441
Top = 40
Width = 261
end
object PRText3: TPRText
Leading = 14
Lines.Strings = (
'Arial'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 48
Width = 157
end
object PRText4: TPRText
Leading = 14
Lines.Strings = (
'TimesRoman'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 84
Width = 157
end
object PRText5: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnArial
FontSize = 16
Left = 9
Height = 21
Top = 60
Width = 216
end
object PRText6: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnTimesRoman
FontSize = 16
Left = 9
Height = 21
Top = 96
Width = 216
end
object PRText7: TPRText
Leading = 14
Lines.Strings = (
'FixedWidth'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 120
Width = 157
end
object PRText8: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontSize = 16
Left = 9
Height = 21
Top = 132
Width = 216
end
object PRText9: TPRText
Leading = 14
Lines.Strings = (
'Arial-Bold'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 156
Width = 157
end
object PRText10: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnArial
FontSize = 16
FontBold = True
Left = 9
Height = 21
Top = 168
Width = 216
end
object PRText11: TPRText
Leading = 14
Lines.Strings = (
'Times-Bold'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 192
Width = 157
end
object PRText12: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnTimesRoman
FontSize = 16
FontBold = True
Left = 9
Height = 21
Top = 204
Width = 216
end
object PRText13: TPRText
Leading = 14
Lines.Strings = (
'FixedWidth-Bold'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 228
Width = 157
end
object PRText14: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontSize = 16
FontBold = True
Left = 9
Height = 21
Top = 240
Width = 216
end
object PRText15: TPRText
Leading = 14
Lines.Strings = (
'Arial-Italic'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 264
Width = 157
end
object PRText16: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnArial
FontSize = 16
FontItalic = True
Left = 9
Height = 21
Top = 276
Width = 216
end
object PRText17: TPRText
Leading = 14
Lines.Strings = (
'Times-Italic'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 300
Width = 157
end
object PRText18: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnTimesRoman
FontSize = 16
FontItalic = True
Left = 9
Height = 21
Top = 312
Width = 216
end
object PRText19: TPRText
Leading = 14
Lines.Strings = (
'FixedWidth-Italic'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 336
Width = 157
end
object PRText20: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontSize = 16
FontItalic = True
Left = 9
Height = 21
Top = 348
Width = 216
end
object PRText21: TPRText
Leading = 14
Lines.Strings = (
'Arial-BoldItalic'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 372
Width = 157
end
object PRText22: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnArial
FontSize = 16
FontBold = True
FontItalic = True
Left = 9
Height = 21
Top = 384
Width = 216
end
object PRText23: TPRText
Leading = 14
Lines.Strings = (
'Times-BoldItalic'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 408
Width = 157
end
object PRText24: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnTimesRoman
FontSize = 16
FontBold = True
FontItalic = True
Left = 9
Height = 21
Top = 420
Width = 216
end
object PRText25: TPRText
Leading = 14
Lines.Strings = (
'FixedWidth-BoldItalic'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 444
Width = 157
end
object PRText26: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontSize = 16
FontBold = True
FontItalic = True
Left = 9
Height = 21
Top = 456
Width = 216
end
object PRRect2: TPRRect
Left = 272
Height = 441
Top = 40
Width = 261
end
object PRText27: TPRText
Leading = 14
Lines.Strings = (
'FontSize 8'
)
FontName = fnArial
FontSize = 9
Left = 281
Height = 14
Top = 48
Width = 157
end
object PRText28: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnArial
FontSize = 8
Left = 281
Height = 13
Top = 60
Width = 216
end
object PRText29: TPRText
Leading = 14
Lines.Strings = (
'FontSize 10'
)
FontName = fnArial
FontSize = 9
Left = 281
Height = 14
Top = 76
Width = 157
end
object PRText30: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnArial
FontSize = 10
Left = 281
Height = 17
Top = 88
Width = 216
end
object PRText31: TPRText
Leading = 14
Lines.Strings = (
'FontSize 14'
)
FontName = fnArial
FontSize = 9
Left = 281
Height = 14
Top = 108
Width = 157
end
object PRText32: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnArial
FontSize = 14
Left = 281
Height = 21
Top = 120
Width = 216
end
object PRText33: TPRText
Leading = 14
Lines.Strings = (
'FontSize 18'
)
FontName = fnArial
FontSize = 9
Left = 281
Height = 14
Top = 144
Width = 157
end
object PRText34: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnArial
FontSize = 18
Left = 281
Height = 25
Top = 156
Width = 216
end
object PRText35: TPRText
Leading = 14
Lines.Strings = (
'FontSize 24'
)
FontName = fnArial
FontSize = 9
Left = 281
Height = 14
Top = 184
Width = 157
end
object PRText36: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnArial
FontSize = 24
Left = 281
Height = 25
Top = 196
Width = 244
end
object PRText37: TPRText
Leading = 14
Lines.Strings = (
'FontColor Red'
)
FontName = fnArial
FontSize = 9
Left = 281
Height = 14
Top = 232
Width = 157
end
object PRText38: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontColor = clRed
FontName = fnArial
FontSize = 18
Left = 281
Height = 25
Top = 244
Width = 216
end
object PRText39: TPRText
Leading = 14
Lines.Strings = (
'FontColor Blue'
)
FontName = fnArial
FontSize = 9
Left = 281
Height = 14
Top = 272
Width = 157
end
object PRText40: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontColor = clBlue
FontName = fnArial
FontSize = 18
Left = 281
Height = 25
Top = 284
Width = 216
end
object PRRect3: TPRRect
Left = -4
Height = 121
Top = 492
Width = 533
end
object PRText41: TPRText
Leading = 14
Lines.Strings = (
'WordWrap Text (Leading 12)'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 504
Width = 256
end
object PRText42: TPRText
Leading = 12
Lines.Strings = (
'Sunday Monday Tuesday Wednesday Thursday Friday Saturday '
)
WordWrap = True
FontColor = 33023
FontName = fnArial
FontSize = 11
FontBold = True
Left = 9
Height = 33
Top = 516
Width = 260
end
object PRText43: TPRText
Leading = 14
Lines.Strings = (
'WordWrap Text (Leading 12, WordSpace 10)'
)
FontName = fnArial
FontSize = 9
Left = 9
Height = 14
Top = 552
Width = 256
end
object PRText44: TPRText
Leading = 16
Lines.Strings = (
'Sunday Monday Tuesday Wednesday Thursday Friday Saturday '
)
WordWrap = True
FontColor = 33023
FontName = fnArial
FontSize = 11
FontBold = True
WordSpace = 10
Left = 9
Height = 33
Top = 564
Width = 260
end
object PRText45: TPRText
Leading = 14
Lines.Strings = (
'CharSpace=-1 '
)
FontName = fnArial
FontSize = 9
Left = 281
Height = 14
Top = 504
Width = 157
end
object PRText46: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnArial
FontSize = 16
CharSpace = -1
Left = 281
Height = 21
Top = 516
Width = 240
end
object PRText47: TPRText
Leading = 14
Lines.Strings = (
'CharSpace=0(default)'
)
FontName = fnArial
FontSize = 9
Left = 281
Height = 14
Top = 540
Width = 157
end
object PRText48: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnArial
FontSize = 16
Left = 281
Height = 21
Top = 552
Width = 240
end
object PRText49: TPRText
Leading = 14
Lines.Strings = (
'CharSpace=2'
)
FontName = fnArial
FontSize = 9
Left = 281
Height = 14
Top = 576
Width = 157
end
object PRText50: TPRText
Leading = 14
Lines.Strings = (
'ABCDEFGabcdefg12345'
)
FontName = fnArial
FontSize = 16
CharSpace = 2
Left = 281
Height = 21
Top = 588
Width = 240
end
object PRLabel1: TPRLabel
Caption = 'PowerPdf Font Example'
Alignment = taCenter
FontName = fnArial
FontSize = 24
FontBold = True
Height = 30
Width = 534
end
object PRLabel3: TPRLabel
Caption = 'copyright (c) 1999-2001 takeshi kanno'
Alignment = taRightJustify
FontName = fnArial
FontSize = 9
Align = alBottom
Height = 14
Top = 620
Width = 534
end
object PRLabel2: TPRLabel
Caption = 'Alignment taLeftJustify'
FontName = fnArial
FontSize = 9
Left = 282
Height = 15
Top = 318
Width = 215
end
object PRLabel4: TPRLabel
Caption = 'The quick brown fox ate the lazy mouse'
FontColor = clGreen
FontName = fnTimesRoman
FontSize = 12
FontBold = True
Left = 282
Height = 15
Top = 330
Width = 239
end
object PRLabel5: TPRLabel
Caption = 'The quick brown fox ate the lazy mouse'
Alignment = taRightJustify
FontColor = clGreen
FontName = fnTimesRoman
FontSize = 12
FontBold = True
Left = 282
Height = 15
Top = 364
Width = 239
end
object PRLabel6: TPRLabel
Caption = 'Alignment taRightJustify'
FontName = fnArial
FontSize = 9
Left = 282
Height = 15
Top = 352
Width = 215
end
object PRLabel7: TPRLabel
Caption = 'Alignment taCenter'
FontName = fnArial
FontSize = 9
Left = 282
Height = 15
Top = 384
Width = 215
end
object PRLabel8: TPRLabel
Caption = 'The quick brown fox ate the lazy mouse'
Alignment = taCenter
FontColor = clGreen
FontName = fnTimesRoman
FontSize = 12
FontBold = True
Left = 284
Height = 15
Top = 394
Width = 239
end
object PRLabel9: TPRLabel
Caption = 'AlignJustified'
FontName = fnArial
FontSize = 9
Left = 282
Height = 15
Top = 414
Width = 215
end
object PRLabel10: TPRLabel
Caption = 'The quick brown fox ate the lazy mouse'
Alignment = taCenter
AlignJustified = True
FontColor = clGreen
FontName = fnTimesRoman
FontSize = 12
FontBold = True
Left = 284
Height = 15
Top = 424
Width = 239
end
end
end
end
object MainMenu1: TMainMenu
left = 68
top = 10
object File1: TMenuItem
Caption = '&File'
object CreatePDF1: TMenuItem
Caption = 'Create PDF'
OnClick = CreatePDF1Click
end
object N1: TMenuItem
Caption = '-'
end
object Exit1: TMenuItem
Caption = 'Exit'
OnClick = Exit1Click
end
end
object Help1: TMenuItem
Caption = '&Help'
object About1: TMenuItem
Caption = '&About'
OnClick = About1Click
end
end
end
object PReport1: TPReport
FileName = 'default.pdf'
CreationDate = 37030.844032696761
left = 102
top = 10
end
object SaveDialog1: TSaveDialog
Title = 'Save file as'
FileName = 'FontExample.pdf'
Filter = 'PDF Files|*.pdf|All Files|*.*'
FilterIndex = 0
Title = 'Save file as'
left = 138
top = 10
end
end

View File

@ -0,0 +1,182 @@
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#7'Caption'#6#5'Form1'#12'ClientHeight'#3'6'#2#11'Cl'
+'ientWidth'#3#129#2#12'Font.CharSet'#7#12'ANSI_CHARSET'#11'Font.Height'#2#244
+#9'Font.Name'#6#5'Arial'#4'Menu'#7#9'MainMenu1'#13'PixelsPerInch'#2'`'#18'Ho'
+'rzScrollBar.Page'#3#128#2#18'VertScrollBar.Page'#3'5'#2#4'Left'#3#154#0#6'H'
+'eight'#3'I'#2#3'Top'#2'5'#5'Width'#3#129#2#0#10'TStatusBar'#10'StatusBar1'#6
+'Panels'#14#1#5'Width'#2'2'#0#0#11'SimplePanel'#8#6'Height'#2#20#3'Top'#3'"'
+#2#5'Width'#3#129#2#0#0#10'TScrollBox'#10'ScrollBox1'#5'Align'#7#8'alClient'
+#22'BorderSpacing.OnChange'#13#11'ParentColor'#9#8'TabOrder'#2#0#18'HorzScro'
+'llBar.Page'#3'|'#2#18'VertScrollBar.Page'#3#29#2#6'Height'#3'"'#2#5'Width'#3
+#129#2#0#7'TPRPage'#7'PRPage1'#9'MarginTop'#2' '#10'MarginLeft'#2' '#11'Marg'
+'inRight'#2' '#12'MarginBottom'#2' '#4'Left'#2#14#6'Height'#3#188#2#3'Top'#2
+#11#5'Width'#3'X'#2#0#14'TPRLayoutPanel'#14'PRLayoutPanel1'#5'Align'#7#8'alC'
+'lient'#4'Left'#2'!'#6'Height'#3'z'#2#3'Top'#2'!'#5'Width'#3#22#2#0#7'TPRRec'
+'t'#7'PRRect1'#6'Height'#3#185#1#3'Top'#2'('#5'Width'#3#5#1#0#0#7'TPRText'#7
+'PRText3'#7'Leading'#2#14#13'Lines.Strings'#1#6#5'Arial'#0#8'FontName'#7#7'f'
+'nArial'#8'FontSize'#2#9#4'Left'#2#9#6'Height'#2#14#3'Top'#2'0'#5'Width'#3
+#157#0#0#0#7'TPRText'#7'PRText4'#7'Leading'#2#14#13'Lines.Strings'#1#6#10'Ti'
+'mesRoman'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#2#9#6'Height'#2
+#14#3'Top'#2'T'#5'Width'#3#157#0#0#0#7'TPRText'#7'PRText5'#7'Leading'#2#14#13
+'Lines.Strings'#1#6#19'ABCDEFGabcdefg12345'#0#8'FontName'#7#7'fnArial'#8'Fon'
+'tSize'#2#16#4'Left'#2#9#6'Height'#2#21#3'Top'#2'<'#5'Width'#3#216#0#0#0#7'T'
+'PRText'#7'PRText6'#7'Leading'#2#14#13'Lines.Strings'#1#6#19'ABCDEFGabcdefg1'
+'2345'#0#8'FontName'#7#12'fnTimesRoman'#8'FontSize'#2#16#4'Left'#2#9#6'Heigh'
+'t'#2#21#3'Top'#2'`'#5'Width'#3#216#0#0#0#7'TPRText'#7'PRText7'#7'Leading'#2
+#14#13'Lines.Strings'#1#6#10'FixedWidth'#0#8'FontName'#7#7'fnArial'#8'FontSi'
+'ze'#2#9#4'Left'#2#9#6'Height'#2#14#3'Top'#2'x'#5'Width'#3#157#0#0#0#7'TPRTe'
+'xt'#7'PRText8'#7'Leading'#2#14#13'Lines.Strings'#1#6#19'ABCDEFGabcdefg12345'
+#0#8'FontSize'#2#16#4'Left'#2#9#6'Height'#2#21#3'Top'#3#132#0#5'Width'#3#216
+#0#0#0#7'TPRText'#7'PRText9'#7'Leading'#2#14#13'Lines.Strings'#1#6#10'Arial-'
+'Bold'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#2#9#6'Height'#2#14
+#3'Top'#3#156#0#5'Width'#3#157#0#0#0#7'TPRText'#8'PRText10'#7'Leading'#2#14
+#13'Lines.Strings'#1#6#19'ABCDEFGabcdefg12345'#0#8'FontName'#7#7'fnArial'#8
+'FontSize'#2#16#8'FontBold'#9#4'Left'#2#9#6'Height'#2#21#3'Top'#3#168#0#5'Wi'
+'dth'#3#216#0#0#0#7'TPRText'#8'PRText11'#7'Leading'#2#14#13'Lines.Strings'#1
+#6#10'Times-Bold'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#2#9#6'H'
+'eight'#2#14#3'Top'#3#192#0#5'Width'#3#157#0#0#0#7'TPRText'#8'PRText12'#7'Le'
+'ading'#2#14#13'Lines.Strings'#1#6#19'ABCDEFGabcdefg12345'#0#8'FontName'#7#12
+'fnTimesRoman'#8'FontSize'#2#16#8'FontBold'#9#4'Left'#2#9#6'Height'#2#21#3'T'
+'op'#3#204#0#5'Width'#3#216#0#0#0#7'TPRText'#8'PRText13'#7'Leading'#2#14#13
+'Lines.Strings'#1#6#15'FixedWidth-Bold'#0#8'FontName'#7#7'fnArial'#8'FontSiz'
+'e'#2#9#4'Left'#2#9#6'Height'#2#14#3'Top'#3#228#0#5'Width'#3#157#0#0#0#7'TPR'
+'Text'#8'PRText14'#7'Leading'#2#14#13'Lines.Strings'#1#6#19'ABCDEFGabcdefg12'
+'345'#0#8'FontSize'#2#16#8'FontBold'#9#4'Left'#2#9#6'Height'#2#21#3'Top'#3
+#240#0#5'Width'#3#216#0#0#0#7'TPRText'#8'PRText15'#7'Leading'#2#14#13'Lines.'
+'Strings'#1#6#12'Arial-Italic'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#9#4
+'Left'#2#9#6'Height'#2#14#3'Top'#3#8#1#5'Width'#3#157#0#0#0#7'TPRText'#8'PRT'
+'ext16'#7'Leading'#2#14#13'Lines.Strings'#1#6#19'ABCDEFGabcdefg12345'#0#8'Fo'
+'ntName'#7#7'fnArial'#8'FontSize'#2#16#10'FontItalic'#9#4'Left'#2#9#6'Height'
+#2#21#3'Top'#3#20#1#5'Width'#3#216#0#0#0#7'TPRText'#8'PRText17'#7'Leading'#2
+#14#13'Lines.Strings'#1#6#12'Times-Italic'#0#8'FontName'#7#7'fnArial'#8'Font'
+'Size'#2#9#4'Left'#2#9#6'Height'#2#14#3'Top'#3','#1#5'Width'#3#157#0#0#0#7'T'
+'PRText'#8'PRText18'#7'Leading'#2#14#13'Lines.Strings'#1#6#19'ABCDEFGabcdefg'
+'12345'#0#8'FontName'#7#12'fnTimesRoman'#8'FontSize'#2#16#10'FontItalic'#9#4
+'Left'#2#9#6'Height'#2#21#3'Top'#3'8'#1#5'Width'#3#216#0#0#0#7'TPRText'#8'PR'
+'Text19'#7'Leading'#2#14#13'Lines.Strings'#1#6#17'FixedWidth-Italic'#0#8'Fon'
+'tName'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#2#9#6'Height'#2#14#3'Top'#3'P'#1
+#5'Width'#3#157#0#0#0#7'TPRText'#8'PRText20'#7'Leading'#2#14#13'Lines.String'
+'s'#1#6#19'ABCDEFGabcdefg12345'#0#8'FontSize'#2#16#10'FontItalic'#9#4'Left'#2
+#9#6'Height'#2#21#3'Top'#3'\'#1#5'Width'#3#216#0#0#0#7'TPRText'#8'PRText21'#7
+'Leading'#2#14#13'Lines.Strings'#1#6#16'Arial-BoldItalic'#0#8'FontName'#7#7
+'fnArial'#8'FontSize'#2#9#4'Left'#2#9#6'Height'#2#14#3'Top'#3't'#1#5'Width'#3
+#157#0#0#0#7'TPRText'#8'PRText22'#7'Leading'#2#14#13'Lines.Strings'#1#6#19'A'
+'BCDEFGabcdefg12345'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#16#8'FontBold'
+#9#10'FontItalic'#9#4'Left'#2#9#6'Height'#2#21#3'Top'#3#128#1#5'Width'#3#216
,#0#0#0#7'TPRText'#8'PRText23'#7'Leading'#2#14#13'Lines.Strings'#1#6#16'Times'
+'-BoldItalic'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#2#9#6'Heigh'
+'t'#2#14#3'Top'#3#152#1#5'Width'#3#157#0#0#0#7'TPRText'#8'PRText24'#7'Leadin'
+'g'#2#14#13'Lines.Strings'#1#6#19'ABCDEFGabcdefg12345'#0#8'FontName'#7#12'fn'
+'TimesRoman'#8'FontSize'#2#16#8'FontBold'#9#10'FontItalic'#9#4'Left'#2#9#6'H'
+'eight'#2#21#3'Top'#3#164#1#5'Width'#3#216#0#0#0#7'TPRText'#8'PRText25'#7'Le'
+'ading'#2#14#13'Lines.Strings'#1#6#21'FixedWidth-BoldItalic'#0#8'FontName'#7
+#7'fnArial'#8'FontSize'#2#9#4'Left'#2#9#6'Height'#2#14#3'Top'#3#188#1#5'Widt'
+'h'#3#157#0#0#0#7'TPRText'#8'PRText26'#7'Leading'#2#14#13'Lines.Strings'#1#6
+#19'ABCDEFGabcdefg12345'#0#8'FontSize'#2#16#8'FontBold'#9#10'FontItalic'#9#4
+'Left'#2#9#6'Height'#2#21#3'Top'#3#200#1#5'Width'#3#216#0#0#0#7'TPRRect'#7'P'
+'RRect2'#4'Left'#3#16#1#6'Height'#3#185#1#3'Top'#2'('#5'Width'#3#5#1#0#0#7'T'
+'PRText'#8'PRText27'#7'Leading'#2#14#13'Lines.Strings'#1#6#10'FontSize 8'#0#8
+'FontName'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#3#25#1#6'Height'#2#14#3'Top'
+#2'0'#5'Width'#3#157#0#0#0#7'TPRText'#8'PRText28'#7'Leading'#2#14#13'Lines.S'
+'trings'#1#6#19'ABCDEFGabcdefg12345'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2
+#8#4'Left'#3#25#1#6'Height'#2#13#3'Top'#2'<'#5'Width'#3#216#0#0#0#7'TPRText'
+#8'PRText29'#7'Leading'#2#14#13'Lines.Strings'#1#6#11'FontSize 10'#0#8'FontN'
+'ame'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#3#25#1#6'Height'#2#14#3'Top'#2'L'
+#5'Width'#3#157#0#0#0#7'TPRText'#8'PRText30'#7'Leading'#2#14#13'Lines.String'
+'s'#1#6#19'ABCDEFGabcdefg12345'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#10#4
+'Left'#3#25#1#6'Height'#2#17#3'Top'#2'X'#5'Width'#3#216#0#0#0#7'TPRText'#8'P'
+'RText31'#7'Leading'#2#14#13'Lines.Strings'#1#6#11'FontSize 14'#0#8'FontName'
+#7#7'fnArial'#8'FontSize'#2#9#4'Left'#3#25#1#6'Height'#2#14#3'Top'#2'l'#5'Wi'
+'dth'#3#157#0#0#0#7'TPRText'#8'PRText32'#7'Leading'#2#14#13'Lines.Strings'#1
+#6#19'ABCDEFGabcdefg12345'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#14#4'Lef'
+'t'#3#25#1#6'Height'#2#21#3'Top'#2'x'#5'Width'#3#216#0#0#0#7'TPRText'#8'PRTe'
+'xt33'#7'Leading'#2#14#13'Lines.Strings'#1#6#11'FontSize 18'#0#8'FontName'#7
+#7'fnArial'#8'FontSize'#2#9#4'Left'#3#25#1#6'Height'#2#14#3'Top'#3#144#0#5'W'
+'idth'#3#157#0#0#0#7'TPRText'#8'PRText34'#7'Leading'#2#14#13'Lines.Strings'#1
+#6#19'ABCDEFGabcdefg12345'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#18#4'Lef'
+'t'#3#25#1#6'Height'#2#25#3'Top'#3#156#0#5'Width'#3#216#0#0#0#7'TPRText'#8'P'
+'RText35'#7'Leading'#2#14#13'Lines.Strings'#1#6#11'FontSize 24'#0#8'FontName'
+#7#7'fnArial'#8'FontSize'#2#9#4'Left'#3#25#1#6'Height'#2#14#3'Top'#3#184#0#5
+'Width'#3#157#0#0#0#7'TPRText'#8'PRText36'#7'Leading'#2#14#13'Lines.Strings'
+#1#6#19'ABCDEFGabcdefg12345'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#24#4'L'
+'eft'#3#25#1#6'Height'#2#25#3'Top'#3#196#0#5'Width'#3#244#0#0#0#7'TPRText'#8
+'PRText37'#7'Leading'#2#14#13'Lines.Strings'#1#6#13'FontColor Red'#0#8'FontN'
+'ame'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#3#25#1#6'Height'#2#14#3'Top'#3#232
+#0#5'Width'#3#157#0#0#0#7'TPRText'#8'PRText38'#7'Leading'#2#14#13'Lines.Stri'
+'ngs'#1#6#19'ABCDEFGabcdefg12345'#0#9'FontColor'#7#5'clRed'#8'FontName'#7#7
+'fnArial'#8'FontSize'#2#18#4'Left'#3#25#1#6'Height'#2#25#3'Top'#3#244#0#5'Wi'
+'dth'#3#216#0#0#0#7'TPRText'#8'PRText39'#7'Leading'#2#14#13'Lines.Strings'#1
+#6#14'FontColor Blue'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#3#25
+#1#6'Height'#2#14#3'Top'#3#16#1#5'Width'#3#157#0#0#0#7'TPRText'#8'PRText40'#7
+'Leading'#2#14#13'Lines.Strings'#1#6#19'ABCDEFGabcdefg12345'#0#9'FontColor'#7
+#6'clBlue'#8'FontName'#7#7'fnArial'#8'FontSize'#2#18#4'Left'#3#25#1#6'Height'
+#2#25#3'Top'#3#28#1#5'Width'#3#216#0#0#0#7'TPRRect'#7'PRRect3'#4'Left'#2#252
+#6'Height'#2'y'#3'Top'#3#236#1#5'Width'#3#21#2#0#0#7'TPRText'#8'PRText41'#7
+'Leading'#2#14#13'Lines.Strings'#1#6#26'WordWrap Text (Leading 12)'#0#8'Font'
+'Name'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#2#9#6'Height'#2#14#3'Top'#3#248#1
+#5'Width'#3#0#1#0#0#7'TPRText'#8'PRText42'#7'Leading'#2#12#13'Lines.Strings'
+#1#6'9Sunday Monday Tuesday Wednesday Thursday Friday Saturday '#0#8'WordWra'
+'p'#9#9'FontColor'#4#255#128#0#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#11#8
+'FontBold'#9#4'Left'#2#9#6'Height'#2'!'#3'Top'#3#4#2#5'Width'#3#4#1#0#0#7'TP'
+'RText'#8'PRText43'#7'Leading'#2#14#13'Lines.Strings'#1#6'(WordWrap Text (Le'
+'ading 12, WordSpace 10)'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#9#4'Left'
+#2#9#6'Height'#2#14#3'Top'#3'('#2#5'Width'#3#0#1#0#0#7'TPRText'#8'PRText44'#7
+'Leading'#2#16#13'Lines.Strings'#1#6'9Sunday Monday Tuesday Wednesday Thursd'
+'ay Friday Saturday '#0#8'WordWrap'#9#9'FontColor'#4#255#128#0#0#8'FontName'
+#7#7'fnArial'#8'FontSize'#2#11#8'FontBold'#9#9'WordSpace'#2#10#4'Left'#2#9#6
+'Height'#2'!'#3'Top'#3'4'#2#5'Width'#3#4#1#0#0#7'TPRText'#8'PRText45'#7'Lead'
+'ing'#2#14#13'Lines.Strings'#1#6#13'CharSpace=-1 '#0#8'FontName'#7#7'fnArial'
+#8'FontSize'#2#9#4'Left'#3#25#1#6'Height'#2#14#3'Top'#3#248#1#5'Width'#3#157
,#0#0#0#7'TPRText'#8'PRText46'#7'Leading'#2#14#13'Lines.Strings'#1#6#19'ABCDE'
+'FGabcdefg12345'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#16#9'CharSpace'#2
+#255#4'Left'#3#25#1#6'Height'#2#21#3'Top'#3#4#2#5'Width'#3#240#0#0#0#7'TPRTe'
+'xt'#8'PRText47'#7'Leading'#2#14#13'Lines.Strings'#1#6#20'CharSpace=0(defaul'
+'t)'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#3#25#1#6'Height'#2#14
+#3'Top'#3#28#2#5'Width'#3#157#0#0#0#7'TPRText'#8'PRText48'#7'Leading'#2#14#13
+'Lines.Strings'#1#6#19'ABCDEFGabcdefg12345'#0#8'FontName'#7#7'fnArial'#8'Fon'
+'tSize'#2#16#4'Left'#3#25#1#6'Height'#2#21#3'Top'#3'('#2#5'Width'#3#240#0#0#0
+#7'TPRText'#8'PRText49'#7'Leading'#2#14#13'Lines.Strings'#1#6#11'CharSpace=2'
+#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#3#25#1#6'Height'#2#14#3
+'Top'#3'@'#2#5'Width'#3#157#0#0#0#7'TPRText'#8'PRText50'#7'Leading'#2#14#13
+'Lines.Strings'#1#6#19'ABCDEFGabcdefg12345'#0#8'FontName'#7#7'fnArial'#8'Fon'
+'tSize'#2#16#9'CharSpace'#2#2#4'Left'#3#25#1#6'Height'#2#21#3'Top'#3'L'#2#5
+'Width'#3#240#0#0#0#8'TPRLabel'#8'PRLabel1'#7'Caption'#6#21'PowerPdf Font Ex'
+'ample'#9'Alignment'#7#8'taCenter'#8'FontName'#7#7'fnArial'#8'FontSize'#2#24
+#8'FontBold'#9#6'Height'#2#30#5'Width'#3#22#2#0#0#8'TPRLabel'#8'PRLabel3'#7
+'Caption'#6'%copyright (c) 1999-2001 takeshi kanno'#9'Alignment'#7#14'taRigh'
+'tJustify'#8'FontName'#7#7'fnArial'#8'FontSize'#2#9#5'Align'#7#8'alBottom'#6
+'Height'#2#14#3'Top'#3'l'#2#5'Width'#3#22#2#0#0#8'TPRLabel'#8'PRLabel2'#7'Ca'
+'ption'#6#23'Alignment taLeftJustify'#8'FontName'#7#7'fnArial'#8'FontSize'#2
+#9#4'Left'#3#26#1#6'Height'#2#15#3'Top'#3'>'#1#5'Width'#3#215#0#0#0#8'TPRLab'
+'el'#8'PRLabel4'#7'Caption'#6'&The quick brown fox ate the lazy mouse'#9'Fon'
+'tColor'#7#7'clGreen'#8'FontName'#7#12'fnTimesRoman'#8'FontSize'#2#12#8'Font'
+'Bold'#9#4'Left'#3#26#1#6'Height'#2#15#3'Top'#3'J'#1#5'Width'#3#239#0#0#0#8
+'TPRLabel'#8'PRLabel5'#7'Caption'#6'&The quick brown fox ate the lazy mouse'
+#9'Alignment'#7#14'taRightJustify'#9'FontColor'#7#7'clGreen'#8'FontName'#7#12
+'fnTimesRoman'#8'FontSize'#2#12#8'FontBold'#9#4'Left'#3#26#1#6'Height'#2#15#3
+'Top'#3'l'#1#5'Width'#3#239#0#0#0#8'TPRLabel'#8'PRLabel6'#7'Caption'#6#24'Al'
+'ignment taRightJustify'#8'FontName'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#3
+#26#1#6'Height'#2#15#3'Top'#3'`'#1#5'Width'#3#215#0#0#0#8'TPRLabel'#8'PRLabe'
+'l7'#7'Caption'#6#18'Alignment taCenter'#8'FontName'#7#7'fnArial'#8'FontSize'
+#2#9#4'Left'#3#26#1#6'Height'#2#15#3'Top'#3#128#1#5'Width'#3#215#0#0#0#8'TPR'
+'Label'#8'PRLabel8'#7'Caption'#6'&The quick brown fox ate the lazy mouse'#9
+'Alignment'#7#8'taCenter'#9'FontColor'#7#7'clGreen'#8'FontName'#7#12'fnTimes'
+'Roman'#8'FontSize'#2#12#8'FontBold'#9#4'Left'#3#28#1#6'Height'#2#15#3'Top'#3
+#138#1#5'Width'#3#239#0#0#0#8'TPRLabel'#8'PRLabel9'#7'Caption'#6#14'AlignJus'
+'tified'#8'FontName'#7#7'fnArial'#8'FontSize'#2#9#4'Left'#3#26#1#6'Height'#2
+#15#3'Top'#3#158#1#5'Width'#3#215#0#0#0#8'TPRLabel'#9'PRLabel10'#7'Caption'#6
+'&The quick brown fox ate the lazy mouse'#9'Alignment'#7#8'taCenter'#14'Alig'
+'nJustified'#9#9'FontColor'#7#7'clGreen'#8'FontName'#7#12'fnTimesRoman'#8'Fo'
+'ntSize'#2#12#8'FontBold'#9#4'Left'#3#28#1#6'Height'#2#15#3'Top'#3#168#1#5'W'
+'idth'#3#239#0#0#0#0#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#2'D'#3'top'#2#10#0
+#9'TMenuItem'#5'File1'#7'Caption'#6#5'&File'#0#9'TMenuItem'#10'CreatePDF1'#7
+'Caption'#6#10'Create PDF'#7'OnClick'#7#15'CreatePDF1Click'#0#0#9'TMenuItem'
+#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#5'Exit1'#7'Caption'#6#4'Exit'#7'On'
+'Click'#7#10'Exit1Click'#0#0#0#9'TMenuItem'#5'Help1'#7'Caption'#6#5'&Help'#0
+#9'TMenuItem'#6'About1'#7'Caption'#6#6'&About'#7'OnClick'#7#11'About1Click'#0
+#0#0#0#8'TPReport'#8'PReport1'#8'FileName'#6#11'default.pdf'#12'CreationDate'
+#5#0'X'#221#134#18#216#166#144#14'@'#4'left'#2'f'#3'top'#2#10#0#0#11'TSaveDi'
+'alog'#11'SaveDialog1'#5'Title'#6#12'Save file as'#8'FileName'#6#15'FontExam'
+'ple.pdf'#6'Filter'#6#29'PDF Files|*.pdf|All Files|*.*'#11'FilterIndex'#2#0#5
+'Title'#6#12'Save file as'#4'left'#3#138#0#3'top'#2#10#0#0#0
]);

View File

@ -0,0 +1,107 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="\"/>
<Version Value="6"/>
<General>
<Flags>
<MainUnitHasUsesSectionForAllUnits Value="False"/>
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
</Flags>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="1"/>
</General>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="pack_powerpdf"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="3">
<Unit0>
<Filename Value="JpegImageExample.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="26" Y="5"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="Unit1.pas"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<ResourceFilename Value="unit1.lrs"/>
<UnitName Value="Unit1"/>
<CursorPos X="29" Y="20"/>
<TopLine Value="16"/>
<EditorIndex Value="1"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="unit1.lfm"/>
<CursorPos X="21" Y="9"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
<SyntaxHighlighter Value="LFM"/>
</Unit2>
</Units>
<JumpHistory Count="2" HistoryIndex="1">
<Position1>
<Filename Value="Unit1.pas"/>
<Caret Line="57" Column="21" TopLine="48"/>
</Position1>
<Position2>
<Filename Value="Unit1.pas"/>
<Caret Line="17" Column="20" TopLine="17"/>
</Position2>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<PathDelim Value="\"/>
<SearchPaths>
<SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,16 @@
program JpegImageExample;
{.$MODE Delphi}
uses
Interfaces,
Forms,
Unit1 in 'Unit1.pas' {Form1};
{.$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,98 @@
unit Unit1;
{.$MODE Delphi}
interface
uses
LCLIntf, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
PReport, ExtCtrls, StdCtrls, Buttons, PRJpegImage, ExtDlgs, PdfDoc, {ShellApi,}
LResources;
type
{ TForm1 }
TForm1 = class(TForm)
Panel1: TPanel;
ScrollBox1: TScrollBox;
PRPage1: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
PRJpegImage1: TPRJpegImage;
PRLayoutPanel2: TPRLayoutPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
CheckBox1: TCheckBox;
OpenPictureDialog1: TOpenPictureDialog;
PReport1: TPReport;
PRLabel1: TPRLabel;
SaveDialog1: TSaveDialog;
procedure CheckBox1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure PRPage1PrintPage(Sender: TObject; ACanvas: TPRCanvas);
private
{ Private }
public
{ Public }
end;
var
Form1: TForm1;
implementation
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
PRJpegImage1.Stretch := CheckBox1.Checked;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
SaveDialog1.FileName := ChangeFileExt(ExtractFileName(OpenPictureDialog1.FileName), '.pdf');
if SaveDialog1.Execute then
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
Print(PRPage1);
EndDoc;
//ShellExecute(Self.Handle, 'Open', PChar(FileName), '', '', SW_SHOW);
end;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
begin
PRJpegImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
PRLabel1.Caption := OpenPictureDialog1.FileName;
PRJpegImage1.Repaint;
end;
end;
procedure TForm1.PRPage1PrintPage(Sender: TObject; ACanvas: TPRCanvas);
var
Dest: TPRDestination;
begin
// create a new destination for the current page.
Dest := PReport1.CreateDestination;
// setting the properties for the destination object.
with Dest do
begin
DestinationType := dtXYZ;
Left := -10;
Top := -10;
Zoom := 1;
end;
// set the destination object as the open-action.
PReport1.OpenAction := Dest;
end;
initialization
{$i Unit1.lrs}
end.

View File

@ -0,0 +1,287 @@
object Form1: TForm1
Left = 27
Height = 597
Top = 10
Width = 768
HelpContext = 0
Align = alNone
AllowDropFiles = False
AutoScroll = True
AutoSize = False
BorderIcons = [biSystemMenu, biMinimize, biMaximize]
BorderStyle = bsSizeable
Caption = 'Form1'
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
ClientHeight = 597
ClientWidth = 768
DockSite = False
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Font.CharSet = ANSI_CHARSET
Font.Height = -12
Font.Name = 'Arial'
Font.Style = []
FormStyle = fsNormal
ParentBiDiMode = True
ParentFont = False
Position = poDesigned
ShowInTaskBar = stDefault
UseDockManager = False
LCLVersion = '0.9.27'
WindowState = wsNormal
object Panel1: TPanel
Left = 0
Height = 29
Top = 0
Width = 768
HelpContext = 0
Align = alTop
Alignment = taCenter
AutoSize = False
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
BevelInner = bvNone
BevelOuter = bvNone
BevelWidth = 1
BorderWidth = 0
BorderStyle = bsNone
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
ClientHeight = 29
ClientWidth = 768
DockSite = False
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
FullRepaint = False
ParentColor = True
ParentFont = True
ParentShowHint = True
TabOrder = 0
TabStop = False
Visible = True
object SpeedButton1: TSpeedButton
Left = 2
Height = 22
Top = 4
Width = 89
HelpContext = 0
Align = alNone
AllowAllUp = False
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Caption = 'Show PDF'
Color = clBtnFace
Down = False
Enabled = True
Flat = False
GroupIndex = 0
Layout = blGlyphLeft
Margin = -1
NumGlyphs = 0
Spacing = 4
Transparent = True
Visible = True
OnClick = SpeedButton1Click
ShowCaption = True
ParentFont = True
ParentShowHint = True
end
object SpeedButton2: TSpeedButton
Left = 91
Height = 22
Top = 4
Width = 89
HelpContext = 0
Align = alNone
AllowAllUp = False
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Caption = 'Load Picture'
Color = clBtnFace
Down = False
Enabled = True
Flat = False
GroupIndex = 0
Layout = blGlyphLeft
Margin = -1
NumGlyphs = 0
Spacing = 4
Transparent = True
Visible = True
OnClick = SpeedButton2Click
ShowCaption = True
ParentFont = True
ParentShowHint = True
end
object CheckBox1: TCheckBox
Left = 188
Height = 21
Top = 8
Width = 64
HelpContext = 0
Align = alNone
AllowGrayed = False
AutoSize = True
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Caption = 'Stretch'
Checked = True
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
OnClick = CheckBox1Click
ParentColor = True
ParentFont = True
ParentShowHint = True
ParentBidiMode = True
State = cbChecked
TabOrder = 0
TabStop = True
UseOnChange = False
Visible = True
end
end
object ScrollBox1: TScrollBox
Left = 0
Height = 568
Top = 29
Width = 768
HelpContext = 0
Align = alClient
AutoSize = True
AutoScroll = True
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
BorderStyle = bsNone
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
DockSite = False
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Color = clGray
Ctl3D = False
ParentBiDiMode = True
ParentColor = False
ParentCtl3D = True
ParentFont = True
ParentShowHint = True
TabOrder = 1
TabStop = False
Visible = True
object PRPage1: TPRPage
Left = 0
Height = 873
Top = 0
Width = 700
HelpContext = 0
OnPrintPage = PRPage1PrintPage
MarginTop = 32
MarginLeft = 32
MarginRight = 32
MarginBottom = 20
Visible = True
object PRLayoutPanel1: TPRLayoutPanel
Left = 33
Height = 797
Top = 55
Width = 634
HelpContext = 0
Align = alClient
object PRJpegImage1: TPRJpegImage
Left = 13
Height = 780
Top = 14
Width = 603
HelpContext = 0
Align = alNone
SharedImage = True
end
end
object PRLayoutPanel2: TPRLayoutPanel
Left = 33
Height = 22
Top = 33
Width = 634
HelpContext = 0
Align = alTop
object PRLabel1: TPRLabel
Left = 16
Height = 17
Top = 2
Width = 635
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 12
CharSpace = 0
WordSpace = 0
Caption = 'PowerPdf Jpeg Image Example'
end
end
end
end
object OpenPictureDialog1: TOpenPictureDialog
Width = 0
Height = 0
Filter = 'JPEG Image File (*.jpg)|*.jpg|JPEG Image File (*.jpeg)|*.jpeg'
FilterIndex = 0
top = 6
end
object PReport1: TPReport
FileName = 'JpegImageExample.pdf'
CreationDate = 37085.5242040046
UseOutlines = False
ViewerPreference = []
left = 386
top = 6
end
object SaveDialog1: TSaveDialog
Width = 0
Height = 0
DefaultExt = '.pdf'
FilterIndex = 0
left = 280
top = 2
end
end

View File

@ -0,0 +1,88 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#2#27#6'Height'#3'U'#2#3'Top'#2#10#5'Width'#3
+#0#3#11'HelpContext'#2#0#5'Align'#7#6'alNone'#14'AllowDropFiles'#8#10'AutoSc'
+'roll'#9#8'AutoSize'#8#11'BorderIcons'#11#12'biSystemMenu'#10'biMinimize'#10
+'biMaximize'#0#11'BorderStyle'#7#10'bsSizeable'#7'Caption'#6#5'Form1'#28'Chi'
+'ldSizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBottomSpacing'#2#0#29'Chil'
+'dSizing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSpacing'#2#0#27'Child'
+'Sizing.ControlsPerLine'#2#0#12'ClientHeight'#3'U'#2#11'ClientWidth'#3#0#3#8
+'DockSite'#8#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9
+#12'Font.CharSet'#7#12'ANSI_CHARSET'#11'Font.Height'#2#244#9'Font.Name'#6#5
+'Arial'#10'Font.Style'#11#0#9'FormStyle'#7#8'fsNormal'#14'ParentBiDiMode'#9
+#10'ParentFont'#8#8'Position'#7#10'poDesigned'#13'ShowInTaskBar'#7#9'stDefau'
+'lt'#14'UseDockManager'#8#10'LCLVersion'#6#6'0.9.27'#11'WindowState'#7#8'wsN'
+'ormal'#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2#29#3'Top'#2#0#5'Width'
+#3#0#3#11'HelpContext'#2#0#5'Align'#7#5'alTop'#9'Alignment'#7#8'taCenter'#8
+'AutoSize'#8#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderS'
+'pacing.Right'#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0
+'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlign'
+'Vertical'#7#7'ccaFill'#10'BevelInner'#7#6'bvNone'#10'BevelOuter'#7#6'bvNone'
+#10'BevelWidth'#2#1#11'BorderWidth'#2#0#11'BorderStyle'#7#6'bsNone'#28'Child'
+'Sizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBottomSpacing'#2#0#29'ChildS'
+'izing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSpacing'#2#0#27'ChildSi'
+'zing.ControlsPerLine'#2#0#12'ClientHeight'#2#29#11'ClientWidth'#3#0#3#8'Doc'
+'kSite'#8#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8
+'dmManual'#7'Enabled'#9#11'FullRepaint'#8#11'ParentColor'#9#10'ParentFont'#9
+#14'ParentShowHint'#9#8'TabOrder'#2#0#7'TabStop'#8#7'Visible'#9#0#12'TSpeedB'
+'utton'#12'SpeedButton1'#4'Left'#2#2#6'Height'#2#22#3'Top'#2#4#5'Width'#2'Y'
+#11'HelpContext'#2#0#5'Align'#7#6'alNone'#10'AllowAllUp'#8#18'BorderSpacing.'
+'Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSp'
+'acing.Bottom'#2#0#20'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlignHori'
+'zontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#7'Cap'
+'tion'#6#8'Show PDF'#5'Color'#7#9'clBtnFace'#4'Down'#8#7'Enabled'#9#4'Flat'#8
+#10'GroupIndex'#2#0#6'Layout'#7#11'blGlyphLeft'#6'Margin'#2#255#9'NumGlyphs'
+#2#0#7'Spacing'#2#4#11'Transparent'#9#7'Visible'#9#7'OnClick'#7#17'SpeedButt'
+'on1Click'#11'ShowCaption'#9#10'ParentFont'#9#14'ParentShowHint'#9#0#0#12'TS'
+'peedButton'#12'SpeedButton2'#4'Left'#2'['#6'Height'#2#22#3'Top'#2#4#5'Width'
+#2'Y'#11'HelpContext'#2#0#5'Align'#7#6'alNone'#10'AllowAllUp'#8#18'BorderSpa'
+'cing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'Bor'
+'derSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlig'
+'nHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#7
+'Caption'#6#12'Load Picture'#5'Color'#7#9'clBtnFace'#4'Down'#8#7'Enabled'#9#4
+'Flat'#8#10'GroupIndex'#2#0#6'Layout'#7#11'blGlyphLeft'#6'Margin'#2#255#9'Nu'
+'mGlyphs'#2#0#7'Spacing'#2#4#11'Transparent'#9#7'Visible'#9#7'OnClick'#7#17
+'SpeedButton2Click'#11'ShowCaption'#9#10'ParentFont'#9#14'ParentShowHint'#9#0
+#0#9'TCheckBox'#9'CheckBox1'#4'Left'#3#188#0#6'Height'#2#21#3'Top'#2#8#5'Wid'
+'th'#2'@'#11'HelpContext'#2#0#5'Align'#7#6'alNone'#11'AllowGrayed'#8#8'AutoS'
+'ize'#9#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacin'
+'g.Right'#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0'!Bor'
+'derSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVert'
+'ical'#7#7'ccaFill'#7'Caption'#6#7'Stretch'#7'Checked'#9#10'DragCursor'#7#6
+'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#7'On'
+'Click'#7#14'CheckBox1Click'#11'ParentColor'#9#10'ParentFont'#9#14'ParentSho'
+'wHint'#9#14'ParentBidiMode'#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#0#7'Tab'
+'Stop'#9#11'UseOnChange'#8#7'Visible'#9#0#0#0#10'TScrollBox'#10'ScrollBox1'#4
+'Left'#2#0#6'Height'#3'8'#2#3'Top'#2#29#5'Width'#3#0#3#11'HelpContext'#2#0#5
+'Align'#7#8'alClient'#8'AutoSize'#9#10'AutoScroll'#9#18'BorderSpacing.Left'#2
+#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bo'
+'ttom'#2#0#20'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlignHorizontal'#7
+#7'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#11'BorderStyle'
+#7#6'bsNone'#28'ChildSizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBottomSp'
+'acing'#2#0#29'ChildSizing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSpa'
+'cing'#2#0#27'ChildSizing.ControlsPerLine'#2#0#8'DockSite'#8#10'DragCursor'#7
+#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#5
+'Color'#7#6'clGray'#5'Ctl3D'#8#14'ParentBiDiMode'#9#11'ParentColor'#8#11'Par'
+'entCtl3D'#9#10'ParentFont'#9#14'ParentShowHint'#9#8'TabOrder'#2#1#7'TabStop'
,#8#7'Visible'#9#0#7'TPRPage'#7'PRPage1'#4'Left'#2#0#6'Height'#3'i'#3#3'Top'#2
+#0#5'Width'#3#188#2#11'HelpContext'#2#0#11'OnPrintPage'#7#16'PRPage1PrintPag'
+'e'#9'MarginTop'#2' '#10'MarginLeft'#2' '#11'MarginRight'#2' '#12'MarginBott'
+'om'#2#20#7'Visible'#9#0#14'TPRLayoutPanel'#14'PRLayoutPanel1'#4'Left'#2'!'#6
+'Height'#3#29#3#3'Top'#2'7'#5'Width'#3'z'#2#11'HelpContext'#2#0#5'Align'#7#8
+'alClient'#0#12'TPRJpegImage'#12'PRJpegImage1'#4'Left'#2#13#6'Height'#3#12#3
+#3'Top'#2#14#5'Width'#3'['#2#11'HelpContext'#2#0#5'Align'#7#6'alNone'#11'Sha'
+'redImage'#9#0#0#0#14'TPRLayoutPanel'#14'PRLayoutPanel2'#4'Left'#2'!'#6'Heig'
+'ht'#2#22#3'Top'#2'!'#5'Width'#3'z'#2#11'HelpContext'#2#0#5'Align'#7#5'alTop'
+#0#8'TPRLabel'#8'PRLabel1'#4'Left'#2#16#6'Height'#2#17#3'Top'#2#2#5'Width'#3
+'{'#2#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'Fo'
+'ntSize'#5#0#0#0#0#0#0#0#192#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordS'
+'pace'#5#0#0#0#0#0#0#0#0#0#0#7'Caption'#6#27'PowerPdf Jpeg Image Example'#0#0
+#0#0#0#18'TOpenPictureDialog'#18'OpenPictureDialog1'#5'Width'#2#0#6'Height'#2
+#0#6'Filter'#6'=JPEG Image File (*.jpg)|*.jpg|JPEG Image File (*.jpeg)|*.jpe'
+'g'#11'FilterIndex'#2#0#3'top'#2#6#0#0#8'TPReport'#8'PReport1'#8'FileName'#6
+#20'JpegImageExample.pdf'#12'CreationDate'#5#0'0'#208';2'#134#221#144#14'@'
+#11'UseOutlines'#8#16'ViewerPreference'#11#0#4'left'#3#130#1#3'top'#2#6#0#0
+#11'TSaveDialog'#11'SaveDialog1'#5'Width'#2#0#6'Height'#2#0#10'DefaultExt'#6
+#4'.pdf'#11'FilterIndex'#2#0#4'left'#3#24#1#3'top'#2#2#0#0#0
]);

View File

@ -0,0 +1,143 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="\"/>
<Version Value="6"/>
<General>
<Flags>
<MainUnitHasUsesSectionForAllUnits Value="False"/>
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
</Flags>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="pack_powerpdf"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="10">
<Unit0>
<Filename Value="LineExample.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="17" Y="6"/>
<TopLine Value="1"/>
<UsageCount Value="22"/>
</Unit0>
<Unit1>
<Filename Value="ULineExample.pas"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<ResourceFilename Value="ulineexample.lrs"/>
<UnitName Value="ULineExample"/>
<CursorPos X="11" Y="6"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="ULineExample.lfm"/>
<CursorPos X="21" Y="9"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
<SyntaxHighlighter Value="LFM"/>
</Unit2>
<Unit3>
<Filename Value="C:\Work\FreePascal\Lazarus\PowerPdf\PReport.pas"/>
<UnitName Value="PReport"/>
<CursorPos X="22" Y="1039"/>
<TopLine Value="1028"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="C:\Work\FreePascal\Lazarus\PowerPdf\PdfDoc.pas"/>
<UnitName Value="PdfDoc"/>
<CursorPos X="37" Y="389"/>
<TopLine Value="385"/>
<UsageCount Value="10"/>
</Unit4>
<Unit5>
<Filename Value="C:\Work\FreePascal\Lazarus\PowerPdf\PdfTypes.pas"/>
<UnitName Value="PdfTypes"/>
<CursorPos X="28" Y="857"/>
<TopLine Value="1049"/>
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<Filename Value="C:\Work\FreePascal\svn\lazarus\lcl\extctrls.pp"/>
<UnitName Value="ExtCtrls"/>
<CursorPos X="17" Y="914"/>
<TopLine Value="902"/>
<UsageCount Value="10"/>
</Unit6>
<Unit7>
<Filename Value="C:\Work\FreePascal\svn\lazarus\lcl\include\custompanel.inc"/>
<CursorPos X="3" Y="37"/>
<TopLine Value="27"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="ulineexample.lrs"/>
<CursorPos X="18" Y="2"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="C:\Work\FreePascal\svn\lazarus\lcl\LResources.pp"/>
<UnitName Value="LResources"/>
<CursorPos X="42" Y="12"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit9>
</Units>
<JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<PathDelim Value="\"/>
<SearchPaths>
<SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,14 @@
program LineExample;
uses
Interfaces,
Forms,
ULineExample in 'ULineExample.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,904 @@
object Form1: TForm1
Left = 81
Height = 585
Top = 46
Width = 648
HelpContext = 0
Align = alNone
AllowDropFiles = False
AutoScroll = True
AutoSize = False
BorderIcons = [biSystemMenu, biMinimize, biMaximize]
BorderStyle = bsSizeable
Caption = 'Form1'
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
ClientHeight = 565
ClientWidth = 648
DockSite = False
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Font.CharSet = ANSI_CHARSET
Font.Height = -12
Font.Name = 'Arial'
Font.Style = []
FormStyle = fsNormal
Menu = MainMenu1
ParentBiDiMode = True
ParentFont = False
Position = poDesigned
ShowInTaskBar = stDefault
UseDockManager = False
LCLVersion = '0.9.27'
WindowState = wsNormal
object StatusBar1: TStatusBar
Left = 0
Height = 23
Top = 542
Width = 648
HelpContext = 0
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Panels = <
item
Alignment = taLeftJustify
Width = 50
end>
ParentShowHint = True
SimplePanel = False
end
object ScrollBox1: TScrollBox
Left = 0
Height = 542
Top = 0
Width = 648
HelpContext = 0
Align = alClient
AutoSize = False
AutoScroll = True
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
BorderStyle = bsNone
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
DockSite = False
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Ctl3D = False
ParentBiDiMode = True
ParentColor = True
ParentCtl3D = True
ParentFont = True
ParentShowHint = True
TabOrder = 0
TabStop = False
Visible = True
object PRPage1: TPRPage
Left = 14
Height = 700
Top = 11
Width = 600
HelpContext = 0
MarginTop = 32
MarginLeft = 32
MarginRight = 32
MarginBottom = 32
Visible = True
object PRLayoutPanel1: TPRLayoutPanel
Left = 33
Height = 634
Top = 33
Width = 534
HelpContext = 0
Align = alClient
object PRText1: TPRText
Left = 132
Height = 30
Top = -1
Width = 281
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 24
FontBold = True
CharSpace = 0
WordSpace = 0
Leading = 14
Lines.Strings = (
'ESTE ES UN TEXTO CORRECTAMENTE APLICADO'
)
end
object PRText2: TPRText
Left = 376
Height = 14
Top = 619
Width = 157
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect1: TPRRect
Left = 23
Height = 1
Top = 61
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 0
LineStyle = psSolid
end
object PRText3: TPRText
Left = 23
Height = 14
Top = 48
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRText4: TPRText
Left = 23
Height = 14
Top = 72
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect2: TPRRect
Left = 23
Height = 1
Top = 85
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 0
LineStyle = psDash
end
object PRText5: TPRText
Left = 23
Height = 14
Top = 96
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect3: TPRRect
Left = 23
Height = 1
Top = 109
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 0
LineStyle = psDashDot
end
object PRRect4: TPRRect
Left = 23
Height = 1
Top = 132
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 0
LineStyle = psDashDotDot
end
object PRText6: TPRText
Left = 23
Height = 14
Top = 119
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRText7: TPRText
Left = 23
Height = 14
Top = 143
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect5: TPRRect
Left = 23
Height = 1
Top = 156
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 0
LineStyle = psDot
end
object PRRect6: TPRRect
Left = 23
Height = 1
Top = 180
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 0
LineStyle = psClear
end
object PRText8: TPRText
Left = 23
Height = 14
Top = 167
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect7: TPRRect
Left = 269
Height = 1
Top = 61
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1
LineStyle = psSolid
end
object PRText9: TPRText
Left = 269
Height = 14
Top = 48
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRText10: TPRText
Left = 269
Height = 14
Top = 72
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect8: TPRRect
Left = 269
Height = 1
Top = 85
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1
LineStyle = psDash
end
object PRText11: TPRText
Left = 269
Height = 14
Top = 96
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect9: TPRRect
Left = 269
Height = 1
Top = 109
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1
LineStyle = psDashDot
end
object PRRect10: TPRRect
Left = 269
Height = 1
Top = 132
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1
LineStyle = psDashDotDot
end
object PRText12: TPRText
Left = 269
Height = 14
Top = 119
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRText13: TPRText
Left = 269
Height = 14
Top = 143
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect11: TPRRect
Left = 269
Height = 1
Top = 156
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1
LineStyle = psDot
end
object PRRect12: TPRRect
Left = 269
Height = 1
Top = 180
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1
LineStyle = psClear
end
object PRText14: TPRText
Left = 269
Height = 14
Top = 167
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect13: TPRRect
Left = 23
Height = 1
Top = 212
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1.5
LineColor = clBlue
LineStyle = psSolid
end
object PRText15: TPRText
Left = 23
Height = 14
Top = 199
Width = 210
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRText16: TPRText
Left = 23
Height = 14
Top = 223
Width = 209
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect14: TPRRect
Left = 23
Height = 1
Top = 236
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1.5
LineColor = clBlue
LineStyle = psDash
end
object PRText17: TPRText
Left = 23
Height = 14
Top = 247
Width = 209
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect15: TPRRect
Left = 23
Height = 1
Top = 260
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1.5
LineColor = clBlue
LineStyle = psDashDot
end
object PRRect16: TPRRect
Left = 23
Height = 1
Top = 283
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1.5
LineColor = clBlue
LineStyle = psDashDotDot
end
object PRText18: TPRText
Left = 23
Height = 14
Top = 270
Width = 208
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRText19: TPRText
Left = 23
Height = 14
Top = 294
Width = 208
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect17: TPRRect
Left = 23
Height = 1
Top = 307
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1.5
LineColor = clBlue
LineStyle = psDot
end
object PRRect19: TPRRect
Left = 269
Height = 1
Top = 212
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 2
LineStyle = psSolid
end
object PRText21: TPRText
Left = 269
Height = 14
Top = 199
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRText22: TPRText
Left = 269
Height = 14
Top = 223
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect20: TPRRect
Left = 269
Height = 1
Top = 236
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 2
LineStyle = psDash
end
object PRText23: TPRText
Left = 269
Height = 14
Top = 247
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect21: TPRRect
Left = 269
Height = 1
Top = 260
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 2
LineStyle = psDashDot
end
object PRRect22: TPRRect
Left = 269
Height = 1
Top = 283
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 2
LineStyle = psDashDotDot
end
object PRText24: TPRText
Left = 269
Height = 14
Top = 270
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRText25: TPRText
Left = 269
Height = 14
Top = 294
Width = 165
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 14
end
object PRRect23: TPRRect
Left = 269
Height = 1
Top = 307
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 2
LineStyle = psDot
end
object PRRect25: TPRRect
Left = 23
Height = 39
Top = 333
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1
LineStyle = psSolid
end
object PRText27: TPRText
Left = 30
Height = 25
Top = 340
Width = 188
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 12
end
object PRRect26: TPRRect
Left = 22
Height = 39
Top = 383
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1
LineColor = clNavy
LineStyle = psSolid
FillColor = clYellow
end
object PRText28: TPRText
Left = 29
Height = 25
Top = 390
Width = 188
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 12
end
object PRRect18: TPRRect
Left = 269
Height = 39
Top = 333
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1
LineStyle = psDot
FillColor = clLime
end
object PRText20: TPRText
Left = 276
Height = 25
Top = 340
Width = 188
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 12
end
object PRRect24: TPRRect
Left = 268
Height = 39
Top = 383
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1
LineColor = clNone
LineStyle = psSolid
FillColor = clAqua
end
object PRText26: TPRText
Left = 275
Height = 25
Top = 390
Width = 188
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 12
end
object PRRect27: TPRRect
Left = 23
Height = 39
Top = 439
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1.5
LineColor = clNavy
LineStyle = psSolid
end
object PRText29: TPRText
Left = 30
Height = 25
Top = 446
Width = 188
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 12
end
object PRRect28: TPRRect
Left = 22
Height = 39
Top = 489
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1.5
LineColor = clRed
LineStyle = psDashDot
FillColor = clYellow
end
object PRText30: TPRText
Left = 29
Height = 25
Top = 496
Width = 188
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 12
end
object PRRect29: TPRRect
Left = 269
Height = 39
Top = 439
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 1.5
LineColor = clBlue
LineStyle = psDot
FillColor = clLime
end
object PRText31: TPRText
Left = 276
Height = 25
Top = 446
Width = 188
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 12
end
object PRRect30: TPRRect
Left = 268
Height = 39
Top = 489
Width = 209
HelpContext = 0
Align = alNone
LineWidth = 2
LineColor = clPurple
LineStyle = psSolid
FillColor = clAqua
end
object PRText32: TPRText
Left = 275
Height = 25
Top = 496
Width = 188
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 9
CharSpace = 0
WordSpace = 0
Leading = 12
end
end
end
end
object MainMenu1: TMainMenu
left = 68
top = 10
object File1: TMenuItem
Caption = '&File'
RightJustify = False
ShowAlwaysCheckable = False
object CreatePDF1: TMenuItem
Caption = 'Create PDF'
RightJustify = False
ShowAlwaysCheckable = False
OnClick = CreatePDF1Click
end
object N1: TMenuItem
Caption = '-'
RightJustify = False
ShowAlwaysCheckable = False
end
object Exit1: TMenuItem
Caption = 'Exit'
RightJustify = False
ShowAlwaysCheckable = False
OnClick = Exit1Click
end
end
object Help1: TMenuItem
Caption = '&Help'
RightJustify = False
ShowAlwaysCheckable = False
object About1: TMenuItem
Caption = '&About'
RightJustify = False
ShowAlwaysCheckable = False
OnClick = About1Click
end
end
end
object PReport1: TPReport
FileName = 'default.pdf'
CreationDate = 37030.8440326967
UseOutlines = False
ViewerPreference = []
left = 102
top = 10
end
object SaveDialog1: TSaveDialog
Width = 0
Height = 0
FileName = 'LineExample.pdf'
Filter = 'PDF Files|*.pdf|All Files|*.*'
FilterIndex = 0
left = 138
top = 10
end
end

View File

@ -0,0 +1,123 @@
unit ULineExample;
interface
uses
LCLIntf, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, PReport, PdfDoc, Menus, ComCtrls, LResources;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
ScrollBox1: TScrollBox;
MainMenu1: TMainMenu;
File1: TMenuItem;
CreatePDF1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
PReport1: TPReport;
PRPage1: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
PRText1: TPRText;
PRText2: TPRText;
SaveDialog1: TSaveDialog;
PRRect1: TPRRect;
PRText3: TPRText;
PRText4: TPRText;
PRRect2: TPRRect;
PRText5: TPRText;
PRRect3: TPRRect;
PRRect4: TPRRect;
PRText6: TPRText;
PRText7: TPRText;
PRRect5: TPRRect;
PRRect6: TPRRect;
PRText8: TPRText;
PRRect7: TPRRect;
PRText9: TPRText;
PRText10: TPRText;
PRRect8: TPRRect;
PRText11: TPRText;
PRRect9: TPRRect;
PRRect10: TPRRect;
PRText12: TPRText;
PRText13: TPRText;
PRRect11: TPRRect;
PRRect12: TPRRect;
PRText14: TPRText;
PRRect13: TPRRect;
PRText15: TPRText;
PRText16: TPRText;
PRRect14: TPRRect;
PRText17: TPRText;
PRRect15: TPRRect;
PRRect16: TPRRect;
PRText18: TPRText;
PRText19: TPRText;
PRRect17: TPRRect;
PRRect19: TPRRect;
PRText21: TPRText;
PRText22: TPRText;
PRRect20: TPRRect;
PRText23: TPRText;
PRRect21: TPRRect;
PRRect22: TPRRect;
PRText24: TPRText;
PRText25: TPRText;
PRRect23: TPRRect;
PRRect25: TPRRect;
PRText27: TPRText;
PRRect26: TPRRect;
PRText28: TPRText;
PRRect18: TPRRect;
PRText20: TPRText;
PRRect24: TPRRect;
PRText26: TPRText;
PRRect27: TPRRect;
PRText29: TPRText;
PRRect28: TPRRect;
PRText30: TPRText;
PRRect29: TPRRect;
PRText31: TPRText;
PRRect30: TPRRect;
PRText32: TPRText;
procedure CreatePDF1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
procedure TForm1.CreatePDF1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
Print(PRPage1);
EndDoc;
end;
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage(POWER_PDF_VERSION_STR + #13#10 + POWER_PDF_COPYRIGHT);
end;
initialization
{$I ulineexample.lrs}
end.

View File

@ -0,0 +1,259 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#2'Q'#6'Height'#3'I'#2#3'Top'#2'.'#5'Width'#3
+#136#2#11'HelpContext'#2#0#5'Align'#7#6'alNone'#14'AllowDropFiles'#8#10'Auto'
+'Scroll'#9#8'AutoSize'#8#11'BorderIcons'#11#12'biSystemMenu'#10'biMinimize'
+#10'biMaximize'#0#11'BorderStyle'#7#10'bsSizeable'#7'Caption'#6#5'Form1'#28
+'ChildSizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBottomSpacing'#2#0#29'C'
+'hildSizing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSpacing'#2#0#27'Ch'
+'ildSizing.ControlsPerLine'#2#0#12'ClientHeight'#3'5'#2#11'ClientWidth'#3#136
+#2#8'DockSite'#8#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'
+#9#12'Font.CharSet'#7#12'ANSI_CHARSET'#11'Font.Height'#2#244#9'Font.Name'#6#5
+'Arial'#10'Font.Style'#11#0#9'FormStyle'#7#8'fsNormal'#4'Menu'#7#9'MainMenu1'
+#14'ParentBiDiMode'#9#10'ParentFont'#8#8'Position'#7#10'poDesigned'#13'ShowI'
+'nTaskBar'#7#9'stDefault'#14'UseDockManager'#8#10'LCLVersion'#6#6'0.9.27'#11
+'WindowState'#7#8'wsNormal'#0#10'TStatusBar'#10'StatusBar1'#4'Left'#2#0#6'He'
+'ight'#2#23#3'Top'#3#30#2#5'Width'#3#136#2#11'HelpContext'#2#0#10'DragCursor'
+#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#6
+'Panels'#14#1#9'Alignment'#7#13'taLeftJustify'#5'Width'#2'2'#0#0#14'ParentSh'
+'owHint'#9#11'SimplePanel'#8#0#0#10'TScrollBox'#10'ScrollBox1'#4'Left'#2#0#6
+'Height'#3#30#2#3'Top'#2#0#5'Width'#3#136#2#11'HelpContext'#2#0#5'Align'#7#8
+'alClient'#8'AutoSize'#8#10'AutoScroll'#9#18'BorderSpacing.Left'#2#0#17'Bord'
+'erSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2#0
+#20'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFil'
+'l'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#11'BorderStyle'#7#6'bsN'
+'one'#28'ChildSizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBottomSpacing'#2
+#0#29'ChildSizing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSpacing'#2#0
+#27'ChildSizing.ControlsPerLine'#2#0#8'DockSite'#8#10'DragCursor'#7#6'crDrag'
+#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#5'Ctl3D'#8#14
+'ParentBiDiMode'#9#11'ParentColor'#9#11'ParentCtl3D'#9#10'ParentFont'#9#14'P'
+'arentShowHint'#9#8'TabOrder'#2#0#7'TabStop'#8#7'Visible'#9#0#7'TPRPage'#7'P'
+'RPage1'#4'Left'#2#14#6'Height'#3#188#2#3'Top'#2#11#5'Width'#3'X'#2#11'HelpC'
+'ontext'#2#0#9'MarginTop'#2' '#10'MarginLeft'#2' '#11'MarginRight'#2' '#12'M'
+'arginBottom'#2' '#7'Visible'#9#0#14'TPRLayoutPanel'#14'PRLayoutPanel1'#4'Le'
+'ft'#2'!'#6'Height'#3'z'#2#3'Top'#2'!'#5'Width'#3#22#2#11'HelpContext'#2#0#5
+'Align'#7#8'alClient'#0#7'TPRText'#7'PRText1'#4'Left'#3#132#0#6'Height'#2#30
+#3'Top'#2#255#5'Width'#3#25#1#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'Fon'
+'tName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#192#3'@'#8'FontBold'#9#9'Ch'
+'arSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'
+#5#0#0#0#0#0#0#0#224#2'@'#13'Lines.Strings'#1#6'''ESTE ES UN TEXTO CORRECTAM'
+'ENTE APLICADO'#0#0#0#7'TPRText'#7'PRText2'#4'Left'#3'x'#1#6'Height'#2#14#3
+'Top'#3'k'#2#5'Width'#3#157#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'Fon'
+'tName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0
+#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0
+#0#224#2'@'#0#0#7'TPRRect'#7'PRRect1'#4'Left'#2#23#6'Height'#2#1#3'Top'#2'='
+#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0
+#0#0#0#0#0#0#0#0#9'LineStyle'#7#7'psSolid'#0#0#7'TPRText'#7'PRText3'#4'Left'
+#2#23#6'Height'#2#14#3'Top'#2'0'#5'Width'#3#165#0#11'HelpContext'#2#0#5'Alig'
+'n'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'
+#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Lea'
+'ding'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRText'#7'PRText4'#4'Left'#2#23#6'Hei'
+'ght'#2#14#3'Top'#2'H'#5'Width'#3#165#0#11'HelpContext'#2#0#5'Align'#7#6'alN'
+'one'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSp'
+'ace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0
+#0#0#0#0#0#0#224#2'@'#0#0#7'TPRRect'#7'PRRect2'#4'Left'#2#23#6'Height'#2#1#3
+'Top'#2'U'#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'LineW'
+'idth'#5#0#0#0#0#0#0#0#0#0#0#9'LineStyle'#7#6'psDash'#0#0#7'TPRText'#7'PRTex'
+'t5'#4'Left'#2#23#6'Height'#2#14#3'Top'#2'`'#5'Width'#3#165#0#11'HelpContext'
+#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0
+#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0
+#0#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRRect'#7'PRRect3'#4'Left'#2
+#23#6'Height'#2#1#3'Top'#2'm'#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7
+#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#0#0#0#9'LineStyle'#7#9'psDashDot'#0#0
+#7'TPRRect'#7'PRRect4'#4'Left'#2#23#6'Height'#2#1#3'Top'#3#132#0#5'Width'#3
+#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0
+#0#0#0#9'LineStyle'#7#12'psDashDotDot'#0#0#7'TPRText'#7'PRText6'#4'Left'#2#23
+#6'Height'#2#14#3'Top'#2'w'#5'Width'#3#165#0#11'HelpContext'#2#0#5'Align'#7#6
,'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'Cha'
+'rSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'
+#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRText'#7'PRText7'#4'Left'#2#23#6'Height'#2
+#14#3'Top'#3#143#0#5'Width'#3#165#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'
+#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5
+#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0
+#0#0#0#224#2'@'#0#0#7'TPRRect'#7'PRRect5'#4'Left'#2#23#6'Height'#2#1#3'Top'#3
+#156#0#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'LineWidth'
+#5#0#0#0#0#0#0#0#0#0#0#9'LineStyle'#7#5'psDot'#0#0#7'TPRRect'#7'PRRect6'#4'L'
+'eft'#2#23#6'Height'#2#1#3'Top'#3#180#0#5'Width'#3#209#0#11'HelpContext'#2#0
+#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#0#0#0#9'LineStyle'#7#7'ps'
+'Clear'#0#0#7'TPRText'#7'PRText8'#4'Left'#2#23#6'Height'#2#14#3'Top'#3#167#0
+#5'Width'#3#165#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'f'
+'nArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0
+#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'#0
+#0#7'TPRRect'#7'PRRect7'#4'Left'#3#13#1#6'Height'#2#1#3'Top'#2'='#5'Width'#3
+#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0
+#128#255'?'#9'LineStyle'#7#7'psSolid'#0#0#7'TPRText'#7'PRText9'#4'Left'#3#13
+#1#6'Height'#2#14#3'Top'#2'0'#5'Width'#3#165#0#11'HelpContext'#2#0#5'Align'#7
+#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'C'
+'harSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leadin'
+'g'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRText'#8'PRText10'#4'Left'#3#13#1#6'Hei'
+'ght'#2#14#3'Top'#2'H'#5'Width'#3#165#0#11'HelpContext'#2#0#5'Align'#7#6'alN'
+'one'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSp'
+'ace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0
+#0#0#0#0#0#0#224#2'@'#0#0#7'TPRRect'#7'PRRect8'#4'Left'#3#13#1#6'Height'#2#1
+#3'Top'#2'U'#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'Lin'
+'eWidth'#5#0#0#0#0#0#0#0#128#255'?'#9'LineStyle'#7#6'psDash'#0#0#7'TPRText'#8
+'PRText11'#4'Left'#3#13#1#6'Height'#2#14#3'Top'#2'`'#5'Width'#3#165#0#11'Hel'
+'pContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0
+#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0
+#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRRect'#7'PRRect9'
+#4'Left'#3#13#1#6'Height'#2#1#3'Top'#2'm'#5'Width'#3#209#0#11'HelpContext'#2
+#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#128#255'?'#9'LineStyle'
+#7#9'psDashDot'#0#0#7'TPRRect'#8'PRRect10'#4'Left'#3#13#1#6'Height'#2#1#3'To'
+'p'#3#132#0#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'Line'
+'Width'#5#0#0#0#0#0#0#0#128#255'?'#9'LineStyle'#7#12'psDashDotDot'#0#0#7'TPR'
+'Text'#8'PRText12'#4'Left'#3#13#1#6'Height'#2#14#3'Top'#2'w'#5'Width'#3#165#0
+#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSiz'
+'e'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'
+#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRText'#8
+'PRText13'#4'Left'#3#13#1#6'Height'#2#14#3'Top'#3#143#0#5'Width'#3#165#0#11
+'HelpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5
+#0#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0
+#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRRect'#8'PRRect'
+'11'#4'Left'#3#13#1#6'Height'#2#1#3'Top'#3#156#0#5'Width'#3#209#0#11'HelpCon'
+'text'#2#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#128#255'?'#9'Li'
+'neStyle'#7#5'psDot'#0#0#7'TPRRect'#8'PRRect12'#4'Left'#3#13#1#6'Height'#2#1
+#3'Top'#3#180#0#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9
+'LineWidth'#5#0#0#0#0#0#0#0#128#255'?'#9'LineStyle'#7#7'psClear'#0#0#7'TPRTe'
+'xt'#8'PRText14'#4'Left'#3#13#1#6'Height'#2#14#3'Top'#3#167#0#5'Width'#3#165
+#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontS'
+'ize'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpac'
+'e'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRRect'
+#8'PRRect13'#4'Left'#2#23#6'Height'#2#1#3'Top'#3#212#0#5'Width'#3#209#0#11'H'
+'elpContext'#2#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#192#255'?'
+#9'LineColor'#7#6'clBlue'#9'LineStyle'#7#7'psSolid'#0#0#7'TPRText'#8'PRText1'
+'5'#4'Left'#2#23#6'Height'#2#14#3'Top'#3#199#0#5'Width'#3#210#0#11'HelpConte'
+'xt'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0
+#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0
+#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRText'#8'PRText16'#4'Le'
+'ft'#2#23#6'Height'#2#14#3'Top'#3#223#0#5'Width'#3#209#0#11'HelpContext'#2#0
+#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0
+#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0
,#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRRect'#8'PRRect14'#4'Left'#2
+#23#6'Height'#2#1#3'Top'#3#236#0#5'Width'#3#209#0#11'HelpContext'#2#0#5'Alig'
+'n'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#192#255'?'#9'LineColor'#7#6'clB'
+'lue'#9'LineStyle'#7#6'psDash'#0#0#7'TPRText'#8'PRText17'#4'Left'#2#23#6'Hei'
+'ght'#2#14#3'Top'#3#247#0#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7#6
+'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'Cha'
+'rSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'
+#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRRect'#8'PRRect15'#4'Left'#2#23#6'Height'#2
+#1#3'Top'#3#4#1#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9
+'LineWidth'#5#0#0#0#0#0#0#0#192#255'?'#9'LineColor'#7#6'clBlue'#9'LineStyle'
+#7#9'psDashDot'#0#0#7'TPRRect'#8'PRRect16'#4'Left'#2#23#6'Height'#2#1#3'Top'
+#3#27#1#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'LineWidt'
+'h'#5#0#0#0#0#0#0#0#192#255'?'#9'LineColor'#7#6'clBlue'#9'LineStyle'#7#12'ps'
+'DashDotDot'#0#0#7'TPRText'#8'PRText18'#4'Left'#2#23#6'Height'#2#14#3'Top'#3
+#14#1#5'Width'#3#208#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7
+#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0
+#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'
+#0#0#7'TPRText'#8'PRText19'#4'Left'#2#23#6'Height'#2#14#3'Top'#3'&'#1#5'Widt'
+'h'#3#208#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'
+#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'W'
+'ordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'T'
+'PRRect'#8'PRRect17'#4'Left'#2#23#6'Height'#2#1#3'Top'#3'3'#1#5'Width'#3#209
+#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#192
+#255'?'#9'LineColor'#7#6'clBlue'#9'LineStyle'#7#5'psDot'#0#0#7'TPRRect'#8'PR'
+'Rect19'#4'Left'#3#13#1#6'Height'#2#1#3'Top'#3#212#0#5'Width'#3#209#0#11'Hel'
+'pContext'#2#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#128#0'@'#9
+'LineStyle'#7#7'psSolid'#0#0#7'TPRText'#8'PRText21'#4'Left'#3#13#1#6'Height'
+#2#14#3'Top'#3#199#0#5'Width'#3#165#0#11'HelpContext'#2#0#5'Align'#7#6'alNon'
+'e'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSpac'
+'e'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0
+#0#0#0#0#0#224#2'@'#0#0#7'TPRText'#8'PRText22'#4'Left'#3#13#1#6'Height'#2#14
+#3'Top'#3#223#0#5'Width'#3#165#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8
+'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0
+#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0
+#0#0#224#2'@'#0#0#7'TPRRect'#8'PRRect20'#4'Left'#3#13#1#6'Height'#2#1#3'Top'
+#3#236#0#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'LineWid'
+'th'#5#0#0#0#0#0#0#0#128#0'@'#9'LineStyle'#7#6'psDash'#0#0#7'TPRText'#8'PRTe'
+'xt23'#4'Left'#3#13#1#6'Height'#2#14#3'Top'#3#247#0#5'Width'#3#165#0#11'Help'
+'Context'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0
+#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0
+#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRRect'#8'PRRect21'#4
+'Left'#3#13#1#6'Height'#2#1#3'Top'#3#4#1#5'Width'#3#209#0#11'HelpContext'#2#0
+#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#128#0'@'#9'LineStyle'#7#9
+'psDashDot'#0#0#7'TPRRect'#8'PRRect22'#4'Left'#3#13#1#6'Height'#2#1#3'Top'#3
+#27#1#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'LineWidth'
+#5#0#0#0#0#0#0#0#128#0'@'#9'LineStyle'#7#12'psDashDotDot'#0#0#7'TPRText'#8'P'
+'RText24'#4'Left'#3#13#1#6'Height'#2#14#3'Top'#3#14#1#5'Width'#3#165#0#11'He'
+'lpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0
+#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0
+#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRText'#8'PRText25'
+#4'Left'#3#13#1#6'Height'#2#14#3'Top'#3'&'#1#5'Width'#3#165#0#11'HelpContext'
+#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0
+#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0
+#0#0#7'Leading'#5#0#0#0#0#0#0#0#224#2'@'#0#0#7'TPRRect'#8'PRRect23'#4'Left'#3
+#13#1#6'Height'#2#1#3'Top'#3'3'#1#5'Width'#3#209#0#11'HelpContext'#2#0#5'Ali'
+'gn'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#128#0'@'#9'LineStyle'#7#5'psDo'
+'t'#0#0#7'TPRRect'#8'PRRect25'#4'Left'#2#23#6'Height'#2''''#3'Top'#3'M'#1#5
+'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0
+#0#0#0#0#128#255'?'#9'LineStyle'#7#7'psSolid'#0#0#7'TPRText'#8'PRText27'#4'L'
+'eft'#2#30#6'Height'#2#25#3'Top'#3'T'#1#5'Width'#3#188#0#11'HelpContext'#2#0
+#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0
+#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0
+#0#7'Leading'#5#0#0#0#0#0#0#0#192#2'@'#0#0#7'TPRRect'#8'PRRect26'#4'Left'#2
+#22#6'Height'#2''''#3'Top'#3''#1#5'Width'#3#209#0#11'HelpContext'#2#0#5'Ali'
,'gn'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#128#255'?'#9'LineColor'#7#6'cl'
+'Navy'#9'LineStyle'#7#7'psSolid'#9'FillColor'#7#8'clYellow'#0#0#7'TPRText'#8
+'PRText28'#4'Left'#2#29#6'Height'#2#25#3'Top'#3#134#1#5'Width'#3#188#0#11'He'
+'lpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0
+#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0
+#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#192#2'@'#0#0#7'TPRRect'#8'PRRect18'
+#4'Left'#3#13#1#6'Height'#2''''#3'Top'#3'M'#1#5'Width'#3#209#0#11'HelpContex'
+'t'#2#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#128#255'?'#9'LineS'
+'tyle'#7#5'psDot'#9'FillColor'#7#6'clLime'#0#0#7'TPRText'#8'PRText20'#4'Left'
+#3#20#1#6'Height'#2#25#3'Top'#3'T'#1#5'Width'#3#188#0#11'HelpContext'#2#0#5
+'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144
+#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7
+'Leading'#5#0#0#0#0#0#0#0#192#2'@'#0#0#7'TPRRect'#8'PRRect24'#4'Left'#3#12#1
+#6'Height'#2''''#3'Top'#3''#1#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'
+#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#128#255'?'#9'LineColor'#7#6'clNone'
+#9'LineStyle'#7#7'psSolid'#9'FillColor'#7#6'clAqua'#0#0#7'TPRText'#8'PRText2'
+'6'#4'Left'#3#19#1#6'Height'#2#25#3'Top'#3#134#1#5'Width'#3#188#0#11'HelpCon'
+'text'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0
+#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0
+#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#192#2'@'#0#0#7'TPRRect'#8'PRRect27'#4
+'Left'#2#23#6'Height'#2''''#3'Top'#3#183#1#5'Width'#3#209#0#11'HelpContext'#2
+#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#192#255'?'#9'LineColor'
+#7#6'clNavy'#9'LineStyle'#7#7'psSolid'#0#0#7'TPRText'#8'PRText29'#4'Left'#2
+#30#6'Height'#2#25#3'Top'#3#190#1#5'Width'#3#188#0#11'HelpContext'#2#0#5'Ali'
+'gn'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2
+'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7
+'Leading'#5#0#0#0#0#0#0#0#192#2'@'#0#0#7'TPRRect'#8'PRRect28'#4'Left'#2#22#6
+'Height'#2''''#3'Top'#3#233#1#5'Width'#3#209#0#11'HelpContext'#2#0#5'Align'#7
+#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#192#255'?'#9'LineColor'#7#5'clRed'#9
+'LineStyle'#7#9'psDashDot'#9'FillColor'#7#8'clYellow'#0#0#7'TPRText'#8'PRTex'
+'t30'#4'Left'#2#29#6'Height'#2#25#3'Top'#3#240#1#5'Width'#3#188#0#11'HelpCon'
+'text'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0
+#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0
+#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#192#2'@'#0#0#7'TPRRect'#8'PRRect29'#4
+'Left'#3#13#1#6'Height'#2''''#3'Top'#3#183#1#5'Width'#3#209#0#11'HelpContext'
+#2#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#192#255'?'#9'LineColo'
+'r'#7#6'clBlue'#9'LineStyle'#7#5'psDot'#9'FillColor'#7#6'clLime'#0#0#7'TPRTe'
+'xt'#8'PRText31'#4'Left'#3#20#1#6'Height'#2#25#3'Top'#3#190#1#5'Width'#3#188
+#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontS'
+'ize'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpac'
+'e'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#192#2'@'#0#0#7'TPRRect'
+#8'PRRect30'#4'Left'#3#12#1#6'Height'#2''''#3'Top'#3#233#1#5'Width'#3#209#0
+#11'HelpContext'#2#0#5'Align'#7#6'alNone'#9'LineWidth'#5#0#0#0#0#0#0#0#128#0
+'@'#9'LineColor'#7#8'clPurple'#9'LineStyle'#7#7'psSolid'#9'FillColor'#7#6'cl'
+'Aqua'#0#0#7'TPRText'#8'PRText32'#4'Left'#3#19#1#6'Height'#2#25#3'Top'#3#240
+#1#5'Width'#3#188#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7
+'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#144#2'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0
+#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#192#2'@'#0
+#0#0#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#2'D'#3'top'#2#10#0#9'TMenuItem'#5
+'File1'#7'Caption'#6#5'&File'#12'RightJustify'#8#19'ShowAlwaysCheckable'#8#0
+#9'TMenuItem'#10'CreatePDF1'#7'Caption'#6#10'Create PDF'#12'RightJustify'#8
+#19'ShowAlwaysCheckable'#8#7'OnClick'#7#15'CreatePDF1Click'#0#0#9'TMenuItem'
+#2'N1'#7'Caption'#6#1'-'#12'RightJustify'#8#19'ShowAlwaysCheckable'#8#0#0#9
+'TMenuItem'#5'Exit1'#7'Caption'#6#4'Exit'#12'RightJustify'#8#19'ShowAlwaysCh'
+'eckable'#8#7'OnClick'#7#10'Exit1Click'#0#0#0#9'TMenuItem'#5'Help1'#7'Captio'
+'n'#6#5'&Help'#12'RightJustify'#8#19'ShowAlwaysCheckable'#8#0#9'TMenuItem'#6
+'About1'#7'Caption'#6#6'&About'#12'RightJustify'#8#19'ShowAlwaysCheckable'#8
+#7'OnClick'#7#11'About1Click'#0#0#0#0#8'TPReport'#8'PReport1'#8'FileName'#6
+#11'default.pdf'#12'CreationDate'#5#0'X'#221#134#18#216#166#144#14'@'#11'Use'
+'Outlines'#8#16'ViewerPreference'#11#0#4'left'#2'f'#3'top'#2#10#0#0#11'TSave'
+'Dialog'#11'SaveDialog1'#5'Width'#2#0#6'Height'#2#0#8'FileName'#6#15'LineExa'
+'mple.pdf'#6'Filter'#6#29'PDF Files|*.pdf|All Files|*.*'#11'FilterIndex'#2#0
+#4'left'#3#138#0#3'top'#2#10#0#0#0
]);

View File

@ -0,0 +1,133 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="\"/>
<Version Value="6"/>
<General>
<Flags>
<MainUnitHasUsesSectionForAllUnits Value="False"/>
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
</Flags>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<PublishOptions>
<Version Value="2"/>
<DestinationDirectory Value="$(TestDir)\publishedproject\"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="pack_powerpdf"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="7">
<Unit0>
<Filename Value="MakeDoc.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="31" Y="8"/>
<TopLine Value="1"/>
<UsageCount Value="38"/>
</Unit0>
<Unit1>
<Filename Value="UMakeDoc.pas"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="UMakeDoc.lrs"/>
<UnitName Value="UMakeDoc"/>
<CursorPos X="27" Y="508"/>
<TopLine Value="501"/>
<EditorIndex Value="0"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="C:\Work\FreePascal\Lazarus\PowerPdf\PReport.pas"/>
<UnitName Value="PReport"/>
<CursorPos X="16" Y="1274"/>
<TopLine Value="1260"/>
<UsageCount Value="8"/>
</Unit2>
<Unit3>
<Filename Value="home\prog\work\PowerPDF\PReport.pas"/>
<UnitName Value="PReport"/>
<CursorPos X="48" Y="1339"/>
<TopLine Value="1318"/>
<UsageCount Value="18"/>
</Unit3>
<Unit4>
<Filename Value="home\prog\fpc\rtl\objpas\classes\classesh.inc"/>
<CursorPos X="29" Y="1253"/>
<TopLine Value="1235"/>
<UsageCount Value="18"/>
</Unit4>
<Unit5>
<Filename Value="UMakeDoc.lfm"/>
<CursorPos X="22" Y="177"/>
<TopLine Value="173"/>
<UsageCount Value="10"/>
<SyntaxHighlighter Value="LFM"/>
</Unit5>
<Unit6>
<Filename Value="..\..\PReport.pas"/>
<UnitName Value="PReport"/>
<CursorPos X="9" Y="1310"/>
<TopLine Value="1286"/>
<UsageCount Value="10"/>
<SyntaxHighlighter Value="Delphi"/>
</Unit6>
</Units>
<JumpHistory Count="2" HistoryIndex="1">
<Position1>
<Filename Value="UMakeDoc.pas"/>
<Caret Line="28" Column="31" TopLine="193"/>
</Position1>
<Position2>
<Filename Value="UMakeDoc.pas"/>
<Caret Line="517" Column="26" TopLine="501"/>
</Position2>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<PathDelim Value="\"/>
<SearchPaths>
<SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,16 @@
program MakeDoc;
{.$MODE Delphi}
uses
Interfaces,
Forms,
UMakeDoc in 'UMakeDoc.pas' {Form1};
{.$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,981 @@
unit UMakeDoc;
{$MODE Delphi}
interface
uses
LCLIntf, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
PReport, ComCtrls, ExtCtrls, Menus, PRAnnotation, PdfDoc, PdfTypes,
LResources;
type
TContentsElement = class;
{ TForm1 }
TForm1 = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
CreatePDF1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
PReport1: TPReport;
PRText93: TPRText;
SaveDialog1: TSaveDialog;
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
TabSheet9: TTabSheet;
TabSheet10: TTabSheet;
TabSheet11: TTabSheet;
TabSheet12: TTabSheet;
TabSheet13: TTabSheet;
TabSheet14: TTabSheet;
TabSheet15: TTabSheet;
TabSheet16: TTabSheet;
TabSheet17: TTabSheet;
CoverPage: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
PRText2: TPRText;
PRLayoutPanel2: TPRLayoutPanel;
PRText1: TPRText;
ContentsPage: TPRPage;
PRLayoutPanel4: TPRLayoutPanel;
PRRect6: TPRRect;
PRRect7: TPRRect;
PRRect8: TPRRect;
PRRect10: TPRRect;
PRText1Contents: TPRText;
PRPage3: TPRPage;
PRLayoutPanel3: TPRLayoutPanel;
PRRect1: TPRRect;
PRRect2: TPRRect;
PRRect3: TPRRect;
PRText6: TPRText;
PRRect4: TPRRect;
PRTextIntro: TPRText;
PRRect5: TPRRect;
PRText1_1: TPRText;
PRText9: TPRText;
PRText1_2: TPRText;
PRText259: TPRText;
PRText1_3: TPRText;
PRText261: TPRText;
PRText262: TPRText;
PRText263: TPRText;
PRPage4: TPRPage;
PRLayoutPanel5: TPRLayoutPanel;
PRRect9: TPRRect;
PRRect11: TPRRect;
PRRect12: TPRRect;
PRRect13: TPRRect;
PRText21: TPRText;
PRRect14: TPRRect;
PRTextCompRef: TPRText;
PRText2_1: TPRText;
PRText24: TPRText;
PRText2_1_1: TPRText;
PRText26: TPRText;
PRText27: TPRText;
PRText28: TPRText;
PRText29: TPRText;
PRText30: TPRText;
PRText31: TPRText;
PRText32: TPRText;
PRText36: TPRText;
PRText37: TPRText;
PRText38: TPRText;
PRText39: TPRText;
PRText40: TPRText;
PRText41: TPRText;
PRText42: TPRText;
PRText43: TPRText;
PRText44: TPRText;
PRText45: TPRText;
PRText46: TPRText;
PRText47: TPRText;
PRText48: TPRText;
PRText49: TPRText;
PRText50: TPRText;
PRText33: TPRText;
PRText34: TPRText;
PRText35: TPRText;
PRText83: TPRText;
PRText84: TPRText;
PRText85: TPRText;
PRPage5: TPRPage;
PRLayoutPanel6: TPRLayoutPanel;
PRRect15: TPRRect;
PRRect16: TPRRect;
PRRect17: TPRRect;
PRRect18: TPRRect;
PRText62: TPRText;
PRText63: TPRText;
PRText64: TPRText;
PRText53: TPRText;
PRText54: TPRText;
PRText55: TPRText;
PRText56: TPRText;
PRText58: TPRText;
PRText59: TPRText;
PRText60: TPRText;
PRText61: TPRText;
PRText65: TPRText;
PRText66: TPRText;
PRText67: TPRText;
PRText86: TPRText;
PRText87: TPRText;
PRText88: TPRText;
PRText77: TPRText;
PRText78: TPRText;
PRText79: TPRText;
PRPage7: TPRPage;
PRLayoutPanel7: TPRLayoutPanel;
PRRect19: TPRRect;
PRRect20: TPRRect;
PRRect21: TPRRect;
PRRect22: TPRRect;
PRText2_2_1: TPRText;
PRText102: TPRText;
PRText103: TPRText;
PRText104: TPRText;
PRText105: TPRText;
PRText106: TPRText;
PRText107: TPRText;
PRText108: TPRText;
PRText109: TPRText;
PRText110: TPRText;
PRText111: TPRText;
PRText112: TPRText;
PRText113: TPRText;
PRText114: TPRText;
PRText115: TPRText;
PRText2_2_2: TPRText;
PRText96: TPRText;
PRText97: TPRText;
PRText119: TPRText;
PRText120: TPRText;
PRText121: TPRText;
PRText122: TPRText;
PRText123: TPRText;
PRText124: TPRText;
PRText125: TPRText;
PRText2_2: TPRText;
PRText90: TPRText;
PRText91: TPRText;
PRText92: TPRText;
PRPage8: TPRPage;
PRLayoutPanel8: TPRLayoutPanel;
PRRect23: TPRRect;
PRRect24: TPRRect;
PRRect25: TPRRect;
PRRect26: TPRRect;
PRText2_3: TPRText;
PRText152: TPRText;
PRText153: TPRText;
PRText154: TPRText;
PRText155: TPRText;
PRText156: TPRText;
PRText2_3_1: TPRText;
PRText164: TPRText;
PRText165: TPRText;
PRText166: TPRText;
PRText2_3_2: TPRText;
PRText100: TPRText;
PRText101: TPRText;
PRText116: TPRText;
PRText117: TPRText;
PRText118: TPRText;
PRText126: TPRText;
PRText127: TPRText;
PRPage9: TPRPage;
PRLayoutPanel9: TPRLayoutPanel;
PRRect27: TPRRect;
PRRect28: TPRRect;
PRRect29: TPRRect;
PRRect30: TPRRect;
PRText2_4: TPRText;
PRText133: TPRText;
PRText134: TPRText;
PRText135: TPRText;
PRText136: TPRText;
PRText137: TPRText;
PRText2_4_1: TPRText;
PRText139: TPRText;
PRText140: TPRText;
PRText141: TPRText;
PRText2_4_2: TPRText;
PRText143: TPRText;
PRText144: TPRText;
PRText145: TPRText;
PRText146: TPRText;
PRText147: TPRText;
PRText148: TPRText;
PRText149: TPRText;
PRText150: TPRText;
PRText157: TPRText;
PRText158: TPRText;
PRText159: TPRText;
PRText160: TPRText;
PRText161: TPRText;
PRText162: TPRText;
PRText167: TPRText;
PRText168: TPRText;
PRText169: TPRText;
PRText170: TPRText;
PRText171: TPRText;
PRText172: TPRText;
PRText173: TPRText;
PRText174: TPRText;
PRText175: TPRText;
PRPage10: TPRPage;
PRLayoutPanel17: TPRLayoutPanel;
PRRect67: TPRRect;
PRRect68: TPRRect;
PRRect69: TPRRect;
PRRect70: TPRRect;
PRText2_5: TPRText;
PRText281: TPRText;
PRText287: TPRText;
PRText319: TPRText;
PRText320: TPRText;
PRText321: TPRText;
PRText2_5_1: TPRText;
PRText323: TPRText;
PRText324: TPRText;
PRText325: TPRText;
PRText326: TPRText;
PRText327: TPRText;
PRText328: TPRText;
PRText329: TPRText;
PRText330: TPRText;
PRText331: TPRText;
PRText348: TPRText;
PRText349: TPRText;
PRText350: TPRText;
PRText354: TPRText;
PRText355: TPRText;
PRText356: TPRText;
PRPage11: TPRPage;
PRLayoutPanel14: TPRLayoutPanel;
PRRect54: TPRRect;
PRRect55: TPRRect;
PRRect56: TPRRect;
PRRect58: TPRRect;
PRText380: TPRText;
PRText381: TPRText;
PRText382: TPRText;
PRText383: TPRText;
PRText384: TPRText;
PRText385: TPRText;
PRText386: TPRText;
PRText387: TPRText;
PRText388: TPRText;
PRText389: TPRText;
PRRect76: TPRRect;
PRText390: TPRText;
PRText391: TPRText;
PRText392: TPRText;
PRText393: TPRText;
PRText394: TPRText;
PRText395: TPRText;
PRPage12: TPRPage;
PRLayoutPanel10: TPRLayoutPanel;
PRRect31: TPRRect;
PRRect32: TPRRect;
PRRect33: TPRRect;
PRRect34: TPRRect;
PRText2_6: TPRText;
PRText179: TPRText;
PRText180: TPRText;
PRText181: TPRText;
PRText182: TPRText;
PRText183: TPRText;
PRText2_6_1: TPRText;
PRText185: TPRText;
PRText186: TPRText;
PRText187: TPRText;
PRText196: TPRText;
PRText197: TPRText;
PRText198: TPRText;
PRText199: TPRText;
PRText200: TPRText;
PRText201: TPRText;
PRText202: TPRText;
PRText203: TPRText;
PRText239: TPRText;
PRText295: TPRText;
PRText296: TPRText;
PRText297: TPRText;
PRText298: TPRText;
PRText299: TPRText;
PRText300: TPRText;
PRText301: TPRText;
PRText302: TPRText;
PRText303: TPRText;
PRText304: TPRText;
PRText305: TPRText;
PRText306: TPRText;
PRText307: TPRText;
PRText308: TPRText;
PRText309: TPRText;
PRText310: TPRText;
PRText311: TPRText;
PRText312: TPRText;
PRPage13: TPRPage;
PRLayoutPanel11: TPRLayoutPanel;
PRRect35: TPRRect;
PRRect36: TPRRect;
PRRect37: TPRRect;
PRRect38: TPRRect;
PRText2_7: TPRText;
PRText191: TPRText;
PRText192: TPRText;
PRText193: TPRText;
PRText194: TPRText;
PRText195: TPRText;
PRText2_7_1: TPRText;
PRText206: TPRText;
PRText207: TPRText;
PRText208: TPRText;
PRText209: TPRText;
PRText210: TPRText;
PRText211: TPRText;
PRText212: TPRText;
PRText213: TPRText;
PRText214: TPRText;
PRText215: TPRText;
PRText216: TPRText;
PRText217: TPRText;
PRText3: TPRText;
PRText204: TPRText;
PRText240: TPRText;
PRPage14: TPRPage;
PRLayoutPanel12: TPRLayoutPanel;
PRRect39: TPRRect;
PRRect40: TPRRect;
PRRect41: TPRRect;
PRRect42: TPRRect;
PRText2_8: TPRText;
PRText246: TPRText;
PRText247: TPRText;
PRText248: TPRText;
PRText249: TPRText;
PRText250: TPRText;
PRText2_8_1: TPRText;
PRText252: TPRText;
PRText253: TPRText;
PRText254: TPRText;
PRText255: TPRText;
PRText256: TPRText;
PRText257: TPRText;
PRText258: TPRText;
PRText260: TPRText;
PRText264: TPRText;
PRText265: TPRText;
PRText273: TPRText;
PRText274: TPRText;
PRPage15: TPRPage;
PRLayoutPanel13: TPRLayoutPanel;
PRRect43: TPRRect;
PRRect44: TPRRect;
PRRect45: TPRRect;
PRRect46: TPRRect;
PRText2_9: TPRText;
PRText221: TPRText;
PRText222: TPRText;
PRText223: TPRText;
PRText2_9_1: TPRText;
PRText227: TPRText;
PRText228: TPRText;
PRText229: TPRText;
PRText230: TPRText;
PRText231: TPRText;
PRText232: TPRText;
PRText233: TPRText;
PRText234: TPRText;
PRText235: TPRText;
PRText236: TPRText;
PRText237: TPRText;
PRText238: TPRText;
PRRect47: TPRRect;
PRText224: TPRText;
PRText225: TPRText;
PRRect48: TPRRect;
PRText266: TPRText;
PRRect49: TPRRect;
PRRect50: TPRRect;
PRText267: TPRText;
PRText268: TPRText;
PRRect51: TPRRect;
PRRect52: TPRRect;
PRText269: TPRText;
PRText270: TPRText;
PRRect57: TPRRect;
PRPage16: TPRPage;
PRLayoutPanel18: TPRLayoutPanel;
PRRect72: TPRRect;
PRRect73: TPRRect;
PRRect74: TPRRect;
PRRect75: TPRRect;
PRText2_10: TPRText;
PRText357: TPRText;
PRText358: TPRText;
PRText359: TPRText;
PRText2_10_1: TPRText;
PRText361: TPRText;
PRText362: TPRText;
PRText363: TPRText;
PRText364: TPRText;
PRText365: TPRText;
PRText366: TPRText;
PRText367: TPRText;
PRText368: TPRText;
PRText369: TPRText;
PRText370: TPRText;
PRText371: TPRText;
PRText372: TPRText;
PRLabel2: TPRLabel;
PRRect53: TPRRect;
PREllipse1: TPREllipse;
PREllipse2: TPREllipse;
PREllipse3: TPREllipse;
PREllipse4: TPREllipse;
PREllipse5: TPREllipse;
PREllipse6: TPREllipse;
PRPage17: TPRPage;
PRLayoutPanel16: TPRLayoutPanel;
PRRect63: TPRRect;
PRRect64: TPRRect;
PRRect65: TPRRect;
PRRect66: TPRRect;
PRText2_11: TPRText;
PRText282: TPRText;
PRText283: TPRText;
PRText284: TPRText;
PRText2_11_1: TPRText;
PRText291: TPRText;
PRText292: TPRText;
PRText293: TPRText;
PRText294: TPRText;
PRText313: TPRText;
PRText314: TPRText;
PRText315: TPRText;
PRText316: TPRText;
PRAnnotation1: TPRAnnotation;
PRAnnotation2: TPRAnnotation;
PRText288: TPRText;
PRText289: TPRText;
PRText290: TPRText;
PRText317: TPRText;
PRText318: TPRText;
PRPage20: TPRPage;
PRLayoutPanel15: TPRLayoutPanel;
PRRect59: TPRRect;
PRRect60: TPRRect;
PRRect61: TPRRect;
PRRect62: TPRRect;
PRText220: TPRText;
PRTextCopyright: TPRText;
PRLabel3: TPRLabel;
PRLabel4: TPRLabel;
PRLabel6: TPRLabel;
PRLabel7: TPRLabel;
PRLabel9: TPRLabel;
PRLabel5: TPRLabel;
PRLabel8: TPRLabel;
PRLabel10: TPRLabel;
PRRect71: TPRRect;
PRLabel11: TPRLabel;
PRLabel1: TPRLabel;
PRLabel22: TPRLabel;
PRLabel23: TPRLabel;
PRLabel24: TPRLabel;
PRLabel25: TPRLabel;
PRLabel26: TPRLabel;
PRLabel27: TPRLabel;
PRLabel28: TPRLabel;
PRLabel29: TPRLabel;
PRLabel30: TPRLabel;
PRLabel31: TPRLabel;
PRLabel32: TPRLabel;
PRLabel33: TPRLabel;
PRLabel34: TPRLabel;
PRLabel35: TPRLabel;
PRLabel36: TPRLabel;
PRLabel21: TPRLabel;
PRGridPanel1: TPRGridPanel;
lblSectionNo: TPRLabel;
lblSectionName: TPRLabel;
PRText5: TPRText;
PRText7: TPRText;
PRText8: TPRText;
PRText10: TPRText;
PRText11: TPRText;
TabSheet18: TTabSheet;
PRPage6: TPRPage;
PRLayoutPanel19: TPRLayoutPanel;
PRRect77: TPRRect;
PRRect78: TPRRect;
PRRect79: TPRRect;
PRRect80: TPRRect;
PRText94: TPRText;
PRText95: TPRText;
PRText98: TPRText;
PRText99: TPRText;
PRText128: TPRText;
PRText129: TPRText;
PRText130: TPRText;
PRText131: TPRText;
PRText132: TPRText;
PRText138: TPRText;
PRText176: TPRText;
PRText177: TPRText;
PRText178: TPRText;
PRLabel12: TPRLabel;
PRLabel13: TPRLabel;
PRLabel14: TPRLabel;
PRLabel15: TPRLabel;
PRText4: TPRText;
PRText13: TPRText;
PRLabel16: TPRLabel;
PRLabel17: TPRLabel;
TabSheet19: TTabSheet;
PRPage18: TPRPage;
PRLayoutPanel20: TPRLayoutPanel;
PRRect81: TPRRect;
PRRect82: TPRRect;
PRRect83: TPRRect;
PRRect84: TPRRect;
PRLabel18: TPRLabel;
PRText2_12: TPRText;
PRText14: TPRText;
PRText15: TPRText;
PRText16: TPRText;
PRText2_12_2: TPRText;
TabSheet20: TTabSheet;
PRPage19: TPRPage;
PRLayoutPanel21: TPRLayoutPanel;
PRRect85: TPRRect;
PRRect86: TPRRect;
PRRect87: TPRRect;
PRRect88: TPRRect;
PRLabel19: TPRLabel;
PRText70: TPRText;
PRText71: TPRText;
PRText72: TPRText;
PRText73: TPRText;
PRText74: TPRText;
PRText12: TPRText;
PRText17: TPRText;
PRLabel20: TPRLabel;
PRLabel37: TPRLabel;
PRText188: TPRText;
PRText189: TPRText;
PRLabel38: TPRLabel;
PRLabel39: TPRLabel;
PRText190: TPRText;
PRText219: TPRText;
PRLabel40: TPRLabel;
PRLabel41: TPRLabel;
PRLabel42: TPRLabel;
PRLabel43: TPRLabel;
PRText18: TPRText;
PRLabel44: TPRLabel;
PRLabel45: TPRLabel;
PRText19: TPRText;
PRLabel46: TPRLabel;
PRLabel47: TPRLabel;
PRText20: TPRText;
PRLabel48: TPRLabel;
PRLabel49: TPRLabel;
PRText22: TPRText;
PRLabel50: TPRLabel;
PRLabel51: TPRLabel;
PRText23: TPRText;
PRLabel52: TPRLabel;
PRLabel53: TPRLabel;
PRText25: TPRText;
PRLabel54: TPRLabel;
PRLabel55: TPRLabel;
PRText51: TPRText;
PRLabel56: TPRLabel;
PRLabel57: TPRLabel;
PRText52: TPRText;
PRText57: TPRText;
PRLabel58: TPRLabel;
PRLabel59: TPRLabel;
PRText68: TPRText;
PRText69: TPRText;
PRText75: TPRText;
PRLabel60: TPRLabel;
PRLabel61: TPRLabel;
PRLabel62: TPRLabel;
PRLabel63: TPRLabel;
PRLabel64: TPRLabel;
PRLabel65: TPRLabel;
PRLabel66: TPRLabel;
PRLabel67: TPRLabel;
PRLabel68: TPRLabel;
PRLabel69: TPRLabel;
PRText76: TPRText;
PRText80: TPRText;
PRText81: TPRText;
PRText82: TPRText;
PRText89: TPRText;
PRLabel70: TPRLabel;
PRLabel71: TPRLabel;
procedure PRLayoutPanel2BeforePrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
procedure PRLayoutPanel2AfterPrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
procedure CreatePDF1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure PRLayoutPanelBeforePrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure PRGridPanel1BeforePrintChild(Sender: TObject;
ACanvas: TPRCanvas; ACol, ARow: Integer; Rect: TRect);
procedure CoverPagePrintPage(Sender: TObject; ACanvas: TPRCanvas);
procedure PageControl1Change(Sender: TObject);
private
FCurrentOutline: array[0..5] of TPROutlineEntry;
FContentsList: TList;
FPos: integer;
procedure CreateContentsList;
function FindLink(AItem: TPRItem): TContentsElement;
public
{ Public �錾 }
end;
TContentsElement = class(TObject)
private
FContentsIndex: string;
FTitle: string;
FData: TPdfDictionary;
FTarget: TPRItem;
public
property ContentsIndex: string read FContentsIndex write FContentsIndex;
property Title: string read FTitle write FTitle;
property Data: TPdfDictionary read FData write FData;
property Target: TPRItem read FTarget write FTarget;
end;
var
Form1: TForm1;
implementation
procedure TForm1.PRLayoutPanel2BeforePrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
begin
// change the horizontal scaling of th font.
ACanvas.SetHorizontalScaling(80);
PRLayoutPanelBeforePrint(Sender, ACanvas, Rect);
end;
procedure TForm1.PRLayoutPanel2AfterPrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
begin
// restore the horizontal scaling of th font.
ACanvas.SetHorizontalScaling(100);
end;
procedure TForm1.CreateContentsList;
var
APage: TPRPage;
APanel: TPRPanel;
AControl: TControl;
i, j, k: integer;
FChapterIndex: integer;
FContentsElement: TContentsElement;
S: string;
begin
// clear the contents list.
for i := FContentsList.Count - 1 downto 0 do
TContentsElement(FContentsList.Items[i]).Free;
// create new contents list.
FChapterIndex := 0;
for i := 0 to PageControl1.PageCount do
begin
APage := TPRPage(Self.FindComponent('PRPage' + IntToStr(i)));
if (APage <> nil) and (APage.Controls[0] is TPRPanel) then
begin
APanel := TPRPanel(APage.Controls[0]);
for j := 0 to APanel.ControlCount - 1 do
begin
AControl := APanel.Controls[j];
if AControl.Tag = 2 then
begin
FContentsElement := TContentsElement.Create;
with FContentsElement do
begin
if AControl is TPRText then
Title := TPRText(AControl).Text
else
if AControl is TPRLabel then
Title := TPRLabel(AControl).Caption
else
raise Exception.CreateFmt('invalid target control %s', [AControl.ClassName]);
if (Title <> 'Contents') and (Title <> 'Copyright') then
begin
inc(FChapterIndex);
FContentsList.Add(TContentsElement.Create);
Title := 'Chapter' + IntToStr(FChapterIndex) + ' ' + Title;
Target := TPRItem(AControl);
FContentsList.Add(FContentsElement);
end
else
FContentsElement.Free;
end;
end
else
if (AControl.Tag = 3) or (AControl.Tag = 4) then
begin
FContentsElement := TContentsElement.Create;
with FContentsElement do
begin
if AControl is TPRText then
S := TPRText(AControl).Text
else
if AControl is TPRLabel then
S := TPRLabel(AControl).Caption
else
raise Exception.CreateFmt('invalid target control %s', [AControl.ClassName]);
k := Pos(' ', S);
if k < 1 then
raise Exception.CreateFmt('invalid contents title text %s', [S]);
ContentsIndex := Copy(S, 1, k);
Title := Trim(Copy(S, k, Length(S) - k + 1));
Target := TPRItem(AControl);
end;
FContentsList.Add(FContentsElement);
end;
end;
end;
end;
end;
procedure TForm1.CreatePDF1Click(Sender: TObject);
var
APage: TPRPage;
i: integer;
begin
if not SaveDialog1.Execute then Exit;
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
FCurrentOutline[0] := OutlineRoot;
OutlineRoot.Opened := true;
Print(CoverPage);
CreateContentsList;
// print index of contents.
FPos := 0;
while FPos < FContentsList.Count do
begin
Print(ContentsPage);
PRText1Contents.Text := '';
PRText1Contents.Tag := 0;
end;
for i := 2 to PageControl1.PageCount - 1 do
begin
APage := TPRPage(PageControl1.Pages[i].Controls[0]);
if APage <> nil then
Print(APage);
end;
EndDoc;
for i := FContentsList.Count - 1 downto 0 do
TContentsElement(FContentsList.Items[i]).Free;
FContentsList.Clear;
end;
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage(POWER_PDF_VERSION_STR + #13#10 + POWER_PDF_COPYRIGHT);
end;
procedure TForm1.PRLayoutPanelBeforePrint(Sender: TObject;
ACanvas: TPRCanvas; Rect: TRect);
var
FDestination: TPRDestination;
i, j: integer;
FLevel: integer;
FControlList: TList;
FPRText: TPRText;
TmpYPos: integer;
ItemIndex: integer;
FTextWidth: Single;
Element: TContentsElement;
begin
// printting page number
if PReport1.PageNumber > 1 then
with ACanvas do
begin
SetFont('Times-Roman', 8);
FTextWidth := TextWidth(IntToStr(PReport1.PageNumber - 1));
TextOut((PageWidth - FTextWidth) / 2 + 3, 30, IntToStr(PReport1.PageNumber - 1));
end;
// sorting the Items of the page by Top property.
FControlList := TList.Create;
with (Sender as TPRPanel) do
for i := 0 to ControlCount - 1 do
if (Controls[i] is TPRText) and (Controls[i].Tag > 0) then
begin
TmpYPos := Controls[i].Top;
ItemIndex := -1;
for j := 0 to FControlList.Count - 1 do
if TControl(FControlList[j]).Top > TmpYPos then
begin
ItemIndex := j;
Break;
end;
if ItemIndex = -1 then
FControlList.Add(Controls[i])
else
FControlList.Insert(ItemIndex, Controls[i]);
end;
for i := 0 to FControlList.Count - 1 do
if TPRText(FControlList[i]).Tag > 0 then
begin
// getting outline level from the Tag property.
FPRText := TPRText(FControlList[i]);
FLevel := FPRText.Tag;
if FCurrentOutline[FLevel - 1] <> nil then
begin
FCurrentOutline[FLevel] := FCurrentOutline[FLevel - 1].AddChild;
with FCurrentOutline[FLevel] do
begin
if FLevel = 1 then
Opened := true;
Title := FPRText.Text;
FDestination := PReport1.CreateDestination;
Dest := FDestination;
end;
with FDestination do
begin
DestinationType := dtXYZ;
Top := FPRText.Top;
Left := FPRText.Left;
Zoom := 0;
end;
// setting the destination object to the link-annotation.
Element := FindLink(TPRText(FControlList[i]));
if Element <> nil then
Element.Data.AddItem('Dest', FDestination.Data.GetValue);
end;
end;
FControlList.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FContentsList := TList.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
var
i: integer;
begin
for i := FContentsList.Count - 1 downto 0 do
TContentsElement(FContentsList.Items[i]).Free;
FContentsList.Free;
end;
procedure TForm1.PRGridPanel1BeforePrintChild(Sender: TObject;
ACanvas: TPRCanvas; ACol, ARow: Integer; Rect: TRect);
begin
if FPos < FContentsList.Count then
with TContentsElement(FContentsList[FPos]) do
begin
if ContentsIndex = '' then
begin
lblSectionName.FontBold := true;
lblSectionNo.FontSize := 12;
lblSectionName.FontSize := 12;
lblSectionName.Top := 0;
end
else
begin
lblSectionName.FontBold := false;
lblSectionNo.FontSize := 11;
lblSectionName.FontSize := 11;
lblSectionNo.Top := 3;
lblSectionName.Top := 3;
end;
lblSectionNo.Caption := ContentsIndex;
lblSectionName.Caption := Title;
with Rect do
Data := ACanvas.PdfCanvas.Doc.CreateAnnotation(asLink,
_PdfRect(Left, ACanvas.PageHeight - Top, Right, ACanvas.PageHeight - Bottom));
with Data do
AddItem('Border', TPdfArray.CreateNumArray(nil, [0, 0, 0]));
end
else
begin
lblSectionNo.Caption := '';
lblSectionName.Caption := '';
end;
inc(FPos);
end;
procedure TForm1.CoverPagePrintPage(Sender: TObject; ACanvas: TPRCanvas);
begin
with PReport1 do
begin
OpenAction := CreateDestination;
OpenAction.DestinationType := dtXYZ;
end;
end;
procedure TForm1.PageControl1Change(Sender: TObject);
begin
end;
function TForm1.FindLink(AItem: TPRItem): TContentsElement;
var
i: integer;
Element: TContentsElement;
begin
result := nil;
for i := FContentsList.Count - 1 downto 0 do
begin
Element := TContentsElement(FContentsList.Items[i]);
if Element.Target = AItem then result := Element;
end;
end;
initialization
{$i UMakeDoc.lrs}
end.

View File

@ -0,0 +1,106 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="\"/>
<Version Value="6"/>
<General>
<Flags>
<MainUnitHasUsesSectionForAllUnits Value="False"/>
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
</Flags>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="1"/>
</General>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="pack_powerpdf"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="4">
<Unit0>
<Filename Value="MultiSizePagesDemo.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="3" Y="10"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="UMultiSizeDocument.pas"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<ResourceFilename Value="UMultiSizeDocument.lrs"/>
<UnitName Value="UMultiSizeDocument"/>
<CursorPos X="23" Y="5"/>
<TopLine Value="1"/>
<EditorIndex Value="1"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="C:\Work\FreePascal\svn\lazarus\lcl\comctrls.pp"/>
<UnitName Value="ComCtrls"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="31"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="UMultiSizeDocument.lfm"/>
<CursorPos X="21" Y="11"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
<SyntaxHighlighter Value="LFM"/>
</Unit3>
</Units>
<JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<PathDelim Value="\"/>
<SearchPaths>
<SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CustomOptions Value="-Si"/>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,16 @@
program MultiSizePagesDemo;
{.$MODE Delphi}
uses
Interfaces,
Forms,
UMultiSizeDocument in 'UMultiSizeDocument.pas' {Form1};
{.$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,476 @@
object Form1: TForm1
Left = 85
Height = 585
Top = 31
Width = 678
HelpContext = 0
Align = alNone
AllowDropFiles = False
AutoScroll = True
AutoSize = False
BorderIcons = [biSystemMenu, biMinimize, biMaximize]
BorderStyle = bsSizeable
Caption = 'Form1'
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
ClientHeight = 565
ClientWidth = 678
DockSite = False
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Font.CharSet = ANSI_CHARSET
Font.Height = -12
Font.Name = 'Arial'
Font.Style = []
FormStyle = fsNormal
Menu = MainMenu1
OnCreate = FormCreate
ParentBiDiMode = True
ParentFont = False
Position = poDesigned
ShowInTaskBar = stDefault
UseDockManager = False
LCLVersion = '0.9.27'
WindowState = wsNormal
object StatusBar1: TStatusBar
Left = 0
Height = 23
Top = 542
Width = 678
HelpContext = 0
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Panels = <
item
Alignment = taLeftJustify
Width = 50
end>
ParentShowHint = True
SimplePanel = False
end
object PageControl1: TPageControl
Left = 0
Height = 542
Top = 0
Width = 678
HelpContext = 0
TabStop = True
ActivePage = TabSheet1
Align = alClient
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
DockSite = False
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
ParentFont = True
ParentShowHint = True
TabIndex = 0
TabOrder = 0
TabPosition = tpTop
Visible = True
object TabSheet1: TTabSheet
HelpContext = 0
Caption = 'TabSheet1'
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
ClientHeight = 514
ClientWidth = 670
Enabled = True
ParentFont = True
ParentShowHint = True
object ScrollBox1: TScrollBox
Left = 0
Height = 514
Top = 0
Width = 670
HelpContext = 0
Align = alClient
AutoSize = False
AutoScroll = True
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
BorderStyle = bsNone
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
DockSite = False
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Ctl3D = False
ParentBiDiMode = True
ParentColor = True
ParentCtl3D = True
ParentFont = True
ParentShowHint = True
TabOrder = 0
TabStop = False
Visible = True
object PRPage1: TPRPage
Left = 20
Height = 400
Top = 16
Width = 300
HelpContext = 0
MarginTop = 32
MarginLeft = 32
MarginRight = 32
MarginBottom = 32
Visible = True
object PRLayoutPanel1: TPRLayoutPanel
Left = 33
Height = 334
Top = 33
Width = 234
HelpContext = 0
Align = alClient
object PRText1: TPRText
Left = 17
Height = 289
Top = 25
Width = 199
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 22
CharSpace = 0
WordSpace = 0
Leading = 24
end
end
end
end
end
object TabSheet2: TTabSheet
HelpContext = 0
Caption = 'TabSheet2'
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
ClientHeight = 520
ClientWidth = 670
Enabled = True
ParentFont = True
ParentShowHint = True
object ScrollBox2: TScrollBox
Left = 0
Height = 520
Top = 0
Width = 670
HelpContext = 0
Align = alClient
AutoSize = False
AutoScroll = True
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
BorderStyle = bsNone
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
DockSite = False
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Ctl3D = False
ParentBiDiMode = True
ParentColor = True
ParentCtl3D = True
ParentFont = True
ParentShowHint = True
TabOrder = 0
TabStop = False
Visible = True
object PRPage2: TPRPage
Left = 20
Height = 600
Top = 16
Width = 300
HelpContext = 0
MarginTop = 32
MarginLeft = 32
MarginRight = 32
MarginBottom = 32
Visible = True
object PRLayoutPanel2: TPRLayoutPanel
Left = 33
Height = 534
Top = 33
Width = 234
HelpContext = 0
Align = alClient
object PRText2: TPRText
Left = 16
Height = 289
Top = 26
Width = 199
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 22
CharSpace = 0
WordSpace = 0
Leading = 24
end
end
end
end
end
object TabSheet3: TTabSheet
HelpContext = 0
Caption = 'TabSheet3'
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
ClientHeight = 520
ClientWidth = 670
Enabled = True
ParentFont = True
ParentShowHint = True
object ScrollBox3: TScrollBox
Left = 0
Height = 508
Top = 0
Width = 662
HelpContext = 0
Align = alClient
AutoSize = False
AutoScroll = True
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
BorderStyle = bsNone
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
DockSite = False
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Ctl3D = False
ParentBiDiMode = True
ParentColor = True
ParentCtl3D = True
ParentFont = True
ParentShowHint = True
TabOrder = 0
TabStop = False
Visible = True
object PRPage3: TPRPage
Left = 20
Height = 400
Top = 16
Width = 400
HelpContext = 0
MarginTop = 32
MarginLeft = 32
MarginRight = 32
MarginBottom = 32
Visible = True
object PRLayoutPanel3: TPRLayoutPanel
Left = 33
Height = 334
Top = 33
Width = 334
HelpContext = 0
Align = alClient
object PRText3: TPRText
Left = 22
Height = 289
Top = 20
Width = 199
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 22
CharSpace = 0
WordSpace = 0
Leading = 24
end
end
end
end
end
object TabSheet4: TTabSheet
HelpContext = 0
Caption = 'TabSheet4'
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
ClientHeight = 520
ClientWidth = 670
Enabled = True
ParentFont = True
ParentShowHint = True
object ScrollBox4: TScrollBox
Left = 0
Height = 508
Top = 0
Width = 662
HelpContext = 0
Align = alClient
AutoSize = False
AutoScroll = True
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
BorderStyle = bsNone
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
DockSite = False
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Ctl3D = False
ParentBiDiMode = True
ParentColor = True
ParentCtl3D = True
ParentFont = True
ParentShowHint = True
TabOrder = 0
TabStop = False
Visible = True
object PRPage4: TPRPage
Left = 20
Height = 400
Top = 16
Width = 600
HelpContext = 0
MarginTop = 32
MarginLeft = 32
MarginRight = 32
MarginBottom = 32
Visible = True
object PRLayoutPanel4: TPRLayoutPanel
Left = 33
Height = 334
Top = 33
Width = 534
HelpContext = 0
Align = alClient
object PRText4: TPRText
Left = 22
Height = 289
Top = 20
Width = 199
HelpContext = 0
Align = alNone
FontName = fnArial
FontSize = 22
CharSpace = 0
WordSpace = 0
Leading = 24
end
end
end
end
end
end
object MainMenu1: TMainMenu
left = 68
top = 10
object File1: TMenuItem
Caption = '&File'
RightJustify = False
ShowAlwaysCheckable = False
object CreatePDF1: TMenuItem
Caption = 'Create PDF'
RightJustify = False
ShowAlwaysCheckable = False
OnClick = CreatePDF1Click
end
object N1: TMenuItem
Caption = '-'
RightJustify = False
ShowAlwaysCheckable = False
end
object Exit1: TMenuItem
Caption = 'Exit'
RightJustify = False
ShowAlwaysCheckable = False
OnClick = Exit1Click
end
end
object Help1: TMenuItem
Caption = '&Help'
RightJustify = False
ShowAlwaysCheckable = False
object About1: TMenuItem
Caption = '&About'
RightJustify = False
ShowAlwaysCheckable = False
OnClick = About1Click
end
end
end
object PReport1: TPReport
FileName = 'MultiSizePages.pdf'
CreationDate = 37030.8440326967
PageMode = pmUseThumbs
UseOutlines = False
ViewerPreference = []
left = 102
top = 10
end
object SaveDialog1: TSaveDialog
Width = 0
Height = 0
FileName = 'MultiSizePages.pdf'
Filter = 'PDF Files|*.pdf|All Files|*.*'
FilterIndex = 0
left = 138
top = 10
end
end

View File

@ -0,0 +1,143 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#2'U'#6'Height'#3'I'#2#3'Top'#2#31#5'Width'#3
+#166#2#11'HelpContext'#2#0#5'Align'#7#6'alNone'#14'AllowDropFiles'#8#10'Auto'
+'Scroll'#9#8'AutoSize'#8#11'BorderIcons'#11#12'biSystemMenu'#10'biMinimize'
+#10'biMaximize'#0#11'BorderStyle'#7#10'bsSizeable'#7'Caption'#6#5'Form1'#28
+'ChildSizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBottomSpacing'#2#0#29'C'
+'hildSizing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSpacing'#2#0#27'Ch'
+'ildSizing.ControlsPerLine'#2#0#12'ClientHeight'#3'5'#2#11'ClientWidth'#3#166
+#2#8'DockSite'#8#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'
+#9#12'Font.CharSet'#7#12'ANSI_CHARSET'#11'Font.Height'#2#244#9'Font.Name'#6#5
+'Arial'#10'Font.Style'#11#0#9'FormStyle'#7#8'fsNormal'#4'Menu'#7#9'MainMenu1'
+#8'OnCreate'#7#10'FormCreate'#14'ParentBiDiMode'#9#10'ParentFont'#8#8'Positi'
+'on'#7#10'poDesigned'#13'ShowInTaskBar'#7#9'stDefault'#14'UseDockManager'#8
+#10'LCLVersion'#6#6'0.9.27'#11'WindowState'#7#8'wsNormal'#0#10'TStatusBar'#10
+'StatusBar1'#4'Left'#2#0#6'Height'#2#23#3'Top'#3#30#2#5'Width'#3#166#2#11'He'
+'lpContext'#2#0#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMod'
+'e'#7#8'dmManual'#7'Enabled'#9#6'Panels'#14#1#9'Alignment'#7#13'taLeftJustif'
+'y'#5'Width'#2'2'#0#0#14'ParentShowHint'#9#11'SimplePanel'#8#0#0#12'TPageCon'
+'trol'#12'PageControl1'#4'Left'#2#0#6'Height'#3#30#2#3'Top'#2#0#5'Width'#3
+#166#2#11'HelpContext'#2#0#7'TabStop'#9#10'ActivePage'#7#9'TabSheet1'#5'Alig'
+'n'#7#8'alClient'#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'Bo'
+'rderSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'
+#2#0'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellA'
+'lignVertical'#7#7'ccaFill'#8'DockSite'#8#10'DragCursor'#7#6'crDrag'#8'DragK'
+'ind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#10'ParentFont'#9#14
+'ParentShowHint'#9#8'TabIndex'#2#0#8'TabOrder'#2#0#11'TabPosition'#7#5'tpTop'
+#7'Visible'#9#0#9'TTabSheet'#9'TabSheet1'#11'HelpContext'#2#0#7'Caption'#6#9
+'TabSheet1'#28'ChildSizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBottomSpa'
+'cing'#2#0#29'ChildSizing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSpac'
+'ing'#2#0#27'ChildSizing.ControlsPerLine'#2#0#12'ClientHeight'#3#2#2#11'Clie'
+'ntWidth'#3#158#2#7'Enabled'#9#10'ParentFont'#9#14'ParentShowHint'#9#0#10'TS'
+'crollBox'#10'ScrollBox1'#4'Left'#2#0#6'Height'#3#2#2#3'Top'#2#0#5'Width'#3
+#158#2#11'HelpContext'#2#0#5'Align'#7#8'alClient'#8'AutoSize'#8#10'AutoScrol'
+'l'#9#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.'
+'Right'#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0'!Borde'
+'rSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertic'
+'al'#7#7'ccaFill'#11'BorderStyle'#7#6'bsNone'#28'ChildSizing.LeftRightSpacin'
+'g'#2#0#28'ChildSizing.TopBottomSpacing'#2#0#29'ChildSizing.HorizontalSpacin'
+'g'#2#0#27'ChildSizing.VerticalSpacing'#2#0#27'ChildSizing.ControlsPerLine'#2
+#0#8'DockSite'#8#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMo'
+'de'#7#8'dmManual'#7'Enabled'#9#5'Ctl3D'#8#14'ParentBiDiMode'#9#11'ParentCol'
+'or'#9#11'ParentCtl3D'#9#10'ParentFont'#9#14'ParentShowHint'#9#8'TabOrder'#2
+#0#7'TabStop'#8#7'Visible'#9#0#7'TPRPage'#7'PRPage1'#4'Left'#2#20#6'Height'#3
+#144#1#3'Top'#2#16#5'Width'#3','#1#11'HelpContext'#2#0#9'MarginTop'#2' '#10
+'MarginLeft'#2' '#11'MarginRight'#2' '#12'MarginBottom'#2' '#7'Visible'#9#0
+#14'TPRLayoutPanel'#14'PRLayoutPanel1'#4'Left'#2'!'#6'Height'#3'N'#1#3'Top'#2
+'!'#5'Width'#3#234#0#11'HelpContext'#2#0#5'Align'#7#8'alClient'#0#7'TPRText'
+#7'PRText1'#4'Left'#2#17#6'Height'#3'!'#1#3'Top'#2#25#5'Width'#3#199#0#11'He'
+'lpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0
+#0#0#0#0#0#0#176#3'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0
+#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#192#3'@'#0#0#0#0#0#0#9'TTabSheet'#9
+'TabSheet2'#11'HelpContext'#2#0#7'Caption'#6#9'TabSheet2'#28'ChildSizing.Lef'
+'tRightSpacing'#2#0#28'ChildSizing.TopBottomSpacing'#2#0#29'ChildSizing.Hori'
+'zontalSpacing'#2#0#27'ChildSizing.VerticalSpacing'#2#0#27'ChildSizing.Contr'
+'olsPerLine'#2#0#12'ClientHeight'#3#8#2#11'ClientWidth'#3#158#2#7'Enabled'#9
+#10'ParentFont'#9#14'ParentShowHint'#9#0#10'TScrollBox'#10'ScrollBox2'#4'Lef'
+'t'#2#0#6'Height'#3#8#2#3'Top'#2#0#5'Width'#3#158#2#11'HelpContext'#2#0#5'Al'
+'ign'#7#8'alClient'#8'AutoSize'#8#10'AutoScroll'#9#18'BorderSpacing.Left'#2#0
+#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bott'
+'om'#2#0#20'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlignHorizontal'#7#7
+'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#11'BorderStyle'#7
+#6'bsNone'#28'ChildSizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBottomSpac'
+'ing'#2#0#29'ChildSizing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSpaci'
+'ng'#2#0#27'ChildSizing.ControlsPerLine'#2#0#8'DockSite'#8#10'DragCursor'#7#6
+'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#5'Ct'
,'l3D'#8#14'ParentBiDiMode'#9#11'ParentColor'#9#11'ParentCtl3D'#9#10'ParentFo'
+'nt'#9#14'ParentShowHint'#9#8'TabOrder'#2#0#7'TabStop'#8#7'Visible'#9#0#7'TP'
+'RPage'#7'PRPage2'#4'Left'#2#20#6'Height'#3'X'#2#3'Top'#2#16#5'Width'#3','#1
+#11'HelpContext'#2#0#9'MarginTop'#2' '#10'MarginLeft'#2' '#11'MarginRight'#2
+' '#12'MarginBottom'#2' '#7'Visible'#9#0#14'TPRLayoutPanel'#14'PRLayoutPanel'
+'2'#4'Left'#2'!'#6'Height'#3#22#2#3'Top'#2'!'#5'Width'#3#234#0#11'HelpContex'
+'t'#2#0#5'Align'#7#8'alClient'#0#7'TPRText'#7'PRText2'#4'Left'#2#16#6'Height'
+#3'!'#1#3'Top'#2#26#5'Width'#3#199#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'
+#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#176#3'@'#9'CharSpace'#5
+#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0
+#0#0#0#192#3'@'#0#0#0#0#0#0#9'TTabSheet'#9'TabSheet3'#11'HelpContext'#2#0#7
+'Caption'#6#9'TabSheet3'#28'ChildSizing.LeftRightSpacing'#2#0#28'ChildSizing'
+'.TopBottomSpacing'#2#0#29'ChildSizing.HorizontalSpacing'#2#0#27'ChildSizing'
+'.VerticalSpacing'#2#0#27'ChildSizing.ControlsPerLine'#2#0#12'ClientHeight'#3
+#8#2#11'ClientWidth'#3#158#2#7'Enabled'#9#10'ParentFont'#9#14'ParentShowHint'
+#9#0#10'TScrollBox'#10'ScrollBox3'#4'Left'#2#0#6'Height'#3#252#1#3'Top'#2#0#5
+'Width'#3#150#2#11'HelpContext'#2#0#5'Align'#7#8'alClient'#8'AutoSize'#8#10
+'AutoScroll'#9#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'Borde'
+'rSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2
+#0'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAli'
+'gnVertical'#7#7'ccaFill'#11'BorderStyle'#7#6'bsNone'#28'ChildSizing.LeftRig'
+'htSpacing'#2#0#28'ChildSizing.TopBottomSpacing'#2#0#29'ChildSizing.Horizont'
+'alSpacing'#2#0#27'ChildSizing.VerticalSpacing'#2#0#27'ChildSizing.ControlsP'
+'erLine'#2#0#8'DockSite'#8#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'
+#8'DragMode'#7#8'dmManual'#7'Enabled'#9#5'Ctl3D'#8#14'ParentBiDiMode'#9#11'P'
+'arentColor'#9#11'ParentCtl3D'#9#10'ParentFont'#9#14'ParentShowHint'#9#8'Tab'
+'Order'#2#0#7'TabStop'#8#7'Visible'#9#0#7'TPRPage'#7'PRPage3'#4'Left'#2#20#6
+'Height'#3#144#1#3'Top'#2#16#5'Width'#3#144#1#11'HelpContext'#2#0#9'MarginTo'
+'p'#2' '#10'MarginLeft'#2' '#11'MarginRight'#2' '#12'MarginBottom'#2' '#7'Vi'
+'sible'#9#0#14'TPRLayoutPanel'#14'PRLayoutPanel3'#4'Left'#2'!'#6'Height'#3'N'
+#1#3'Top'#2'!'#5'Width'#3'N'#1#11'HelpContext'#2#0#5'Align'#7#8'alClient'#0#7
+'TPRText'#7'PRText3'#4'Left'#2#22#6'Height'#3'!'#1#3'Top'#2#20#5'Width'#3#199
+#0#11'HelpContext'#2#0#5'Align'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontS'
+'ize'#5#0#0#0#0#0#0#0#176#3'@'#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpac'
+'e'#5#0#0#0#0#0#0#0#0#0#0#7'Leading'#5#0#0#0#0#0#0#0#192#3'@'#0#0#0#0#0#0#9
+'TTabSheet'#9'TabSheet4'#11'HelpContext'#2#0#7'Caption'#6#9'TabSheet4'#28'Ch'
+'ildSizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBottomSpacing'#2#0#29'Chi'
+'ldSizing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSpacing'#2#0#27'Chil'
+'dSizing.ControlsPerLine'#2#0#12'ClientHeight'#3#8#2#11'ClientWidth'#3#158#2
+#7'Enabled'#9#10'ParentFont'#9#14'ParentShowHint'#9#0#10'TScrollBox'#10'Scro'
+'llBox4'#4'Left'#2#0#6'Height'#3#252#1#3'Top'#2#0#5'Width'#3#150#2#11'HelpCo'
+'ntext'#2#0#5'Align'#7#8'alClient'#8'AutoSize'#8#10'AutoScroll'#9#18'BorderS'
+'pacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'B'
+'orderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0'!BorderSpacing.CellAl'
+'ignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'
+#11'BorderStyle'#7#6'bsNone'#28'ChildSizing.LeftRightSpacing'#2#0#28'ChildSi'
+'zing.TopBottomSpacing'#2#0#29'ChildSizing.HorizontalSpacing'#2#0#27'ChildSi'
+'zing.VerticalSpacing'#2#0#27'ChildSizing.ControlsPerLine'#2#0#8'DockSite'#8
+#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'
+#7'Enabled'#9#5'Ctl3D'#8#14'ParentBiDiMode'#9#11'ParentColor'#9#11'ParentCtl'
+'3D'#9#10'ParentFont'#9#14'ParentShowHint'#9#8'TabOrder'#2#0#7'TabStop'#8#7
+'Visible'#9#0#7'TPRPage'#7'PRPage4'#4'Left'#2#20#6'Height'#3#144#1#3'Top'#2
+#16#5'Width'#3'X'#2#11'HelpContext'#2#0#9'MarginTop'#2' '#10'MarginLeft'#2' '
+#11'MarginRight'#2' '#12'MarginBottom'#2' '#7'Visible'#9#0#14'TPRLayoutPanel'
+#14'PRLayoutPanel4'#4'Left'#2'!'#6'Height'#3'N'#1#3'Top'#2'!'#5'Width'#3#22#2
+#11'HelpContext'#2#0#5'Align'#7#8'alClient'#0#7'TPRText'#7'PRText4'#4'Left'#2
+#22#6'Height'#3'!'#1#3'Top'#2#20#5'Width'#3#199#0#11'HelpContext'#2#0#5'Alig'
+'n'#7#6'alNone'#8'FontName'#7#7'fnArial'#8'FontSize'#5#0#0#0#0#0#0#0#176#3'@'
+#9'CharSpace'#5#0#0#0#0#0#0#0#0#0#0#9'WordSpace'#5#0#0#0#0#0#0#0#0#0#0#7'Lea'
+'ding'#5#0#0#0#0#0#0#0#192#3'@'#0#0#0#0#0#0#0#9'TMainMenu'#9'MainMenu1'#4'le'
+'ft'#2'D'#3'top'#2#10#0#9'TMenuItem'#5'File1'#7'Caption'#6#5'&File'#12'Right'
+'Justify'#8#19'ShowAlwaysCheckable'#8#0#9'TMenuItem'#10'CreatePDF1'#7'Captio'
+'n'#6#10'Create PDF'#12'RightJustify'#8#19'ShowAlwaysCheckable'#8#7'OnClick'
+#7#15'CreatePDF1Click'#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#12'RightJust'
,'ify'#8#19'ShowAlwaysCheckable'#8#0#0#9'TMenuItem'#5'Exit1'#7'Caption'#6#4'E'
+'xit'#12'RightJustify'#8#19'ShowAlwaysCheckable'#8#7'OnClick'#7#10'Exit1Clic'
+'k'#0#0#0#9'TMenuItem'#5'Help1'#7'Caption'#6#5'&Help'#12'RightJustify'#8#19
+'ShowAlwaysCheckable'#8#0#9'TMenuItem'#6'About1'#7'Caption'#6#6'&About'#12'R'
+'ightJustify'#8#19'ShowAlwaysCheckable'#8#7'OnClick'#7#11'About1Click'#0#0#0
+#0#8'TPReport'#8'PReport1'#8'FileName'#6#18'MultiSizePages.pdf'#12'CreationD'
+'ate'#5#0'X'#221#134#18#216#166#144#14'@'#8'PageMode'#7#11'pmUseThumbs'#11'U'
+'seOutlines'#8#16'ViewerPreference'#11#0#4'left'#2'f'#3'top'#2#10#0#0#11'TSa'
+'veDialog'#11'SaveDialog1'#5'Width'#2#0#6'Height'#2#0#8'FileName'#6#18'Multi'
+'SizePages.pdf'#6'Filter'#6#29'PDF Files|*.pdf|All Files|*.*'#11'FilterIndex'
+#2#0#4'left'#3#138#0#3'top'#2#10#0#0#0
]);

View File

@ -0,0 +1,96 @@
unit UMultiSizeDocument;
{$MODE Delphi}
interface
uses
LCLIntf, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
PReport, PdfDoc, Menus, ComCtrls, PdfTypes, LResources;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
MainMenu1: TMainMenu;
File1: TMenuItem;
CreatePDF1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
PReport1: TPReport;
SaveDialog1: TSaveDialog;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
ScrollBox1: TScrollBox;
PRPage1: TPRPage;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
ScrollBox2: TScrollBox;
PRPage2: TPRPage;
ScrollBox3: TScrollBox;
PRPage3: TPRPage;
TabSheet4: TTabSheet;
ScrollBox4: TScrollBox;
PRPage4: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
PRLayoutPanel2: TPRLayoutPanel;
PRLayoutPanel3: TPRLayoutPanel;
PRLayoutPanel4: TPRLayoutPanel;
PRText1: TPRText;
PRText2: TPRText;
PRText3: TPRText;
PRText4: TPRText;
procedure CreatePDF1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
procedure TForm1.CreatePDF1Click(Sender: TObject);
var
APage: TPRPage;
i: integer;
begin
if not SaveDialog1.Execute then Exit;
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
for i := 0 to PageControl1.PageCount do
begin
APage := TPRPage(Self.FindComponent('PRPage' + IntToStr(i)));
if APage <> nil then
Print(APage);
end;
EndDoc;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
PRPage1.Visible := false;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage(POWER_PDF_VERSION_STR + #13#10 + POWER_PDF_COPYRIGHT);
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
initialization
{$i UMultiSizeDocument.lrs}
end.

View File

@ -0,0 +1,117 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="\"/>
<Version Value="6"/>
<General>
<Flags>
<MainUnitHasUsesSectionForAllUnits Value="False"/>
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
</Flags>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="pack_powerpdf"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="5">
<Unit0>
<Filename Value="PageLayoutMode.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="2" Y="10"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="Unit1.pas"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<ResourceFilename Value="unit1.lrs"/>
<UnitName Value="Unit1"/>
<CursorPos X="27" Y="86"/>
<TopLine Value="1"/>
<EditorIndex Value="1"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="C:\Work\FreePascal\Lazarus\PowerPdf\PReport.pas"/>
<UnitName Value="PReport"/>
<CursorPos X="3" Y="759"/>
<TopLine Value="740"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="C:\Work\FreePascal\Lazarus\PowerPdf\PdfDoc.pas"/>
<UnitName Value="PdfDoc"/>
<CursorPos X="38" Y="297"/>
<TopLine Value="284"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="unit1.lfm"/>
<CursorPos X="21" Y="8"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
<SyntaxHighlighter Value="LFM"/>
</Unit4>
</Units>
<JumpHistory Count="1" HistoryIndex="0">
<Position1>
<Filename Value="PageLayoutMode.lpr"/>
<Caret Line="6" Column="14" TopLine="1"/>
</Position1>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<PathDelim Value="\"/>
<SearchPaths>
<SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,16 @@
program PageLayoutMode;
{.$MODE Delphi}
uses
Interfaces,
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,107 @@
unit Unit1;
{$MODE Delphi}
interface
uses
LCLIntf, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, PdfDoc, PReport, {ShellAPI,} LResources, Buttons;
type
TForm1 = class(TForm)
PRPage1: TPRPage;
PRLayoutPanel1: TPRLayoutPanel;
PRLabel1: TPRLabel;
PRLabel2: TPRLabel;
PRLabel3: TPRLabel;
PRLabel4: TPRLabel;
PRLabel5: TPRLabel;
PRLabel6: TPRLabel;
PRLabel7: TPRLabel;
PRLabel8: TPRLabel;
PRLabel9: TPRLabel;
PRLabel10: TPRLabel;
PRLabel11: TPRLabel;
PRLabel12: TPRLabel;
PRLabel13: TPRLabel;
PRLabel14: TPRLabel;
PRLabel15: TPRLabel;
PRLabel16: TPRLabel;
PRLabel17: TPRLabel;
PRLabel18: TPRLabel;
PRLabel19: TPRLabel;
PRLabel20: TPRLabel;
PRLabel21: TPRLabel;
PRLabel22: TPRLabel;
PRLabel23: TPRLabel;
PRLabel24: TPRLabel;
PRLabel25: TPRLabel;
PRLabel26: TPRLabel;
PRLabel27: TPRLabel;
Button1: TButton;
PReport1: TPReport;
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
PRPage2: TPRPage;
PRLayoutPanel2: TPRLayoutPanel;
PRLabel28: TPRLabel;
PRLabel29: TPRLabel;
PRLabel30: TPRLabel;
PRLabel31: TPRLabel;
PRLabel32: TPRLabel;
PRLabel33: TPRLabel;
PRLabel34: TPRLabel;
PRLabel35: TPRLabel;
PRLabel36: TPRLabel;
PRLabel37: TPRLabel;
PRLabel38: TPRLabel;
PRLabel39: TPRLabel;
PRLabel40: TPRLabel;
PRLabel41: TPRLabel;
PRLabel42: TPRLabel;
PRLabel43: TPRLabel;
PRLabel44: TPRLabel;
PRLabel45: TPRLabel;
PRLabel46: TPRLabel;
PRLabel47: TPRLabel;
PRLabel48: TPRLabel;
PRLabel49: TPRLabel;
PRLabel50: TPRLabel;
PRLabel51: TPRLabel;
PRLabel52: TPRLabel;
PRLabel53: TPRLabel;
PRLabel54: TPRLabel;
procedure Button1Click(Sender: TObject);
private
{ Private �錾 }
public
{ Public �錾 }
end;
var
Form1: TForm1;
implementation
procedure TForm1.Button1Click(Sender: TObject);
begin
with PReport1 do
begin
BeginDoc;
PReport1.PageLayout := TPRPageLayout(RadioGroup1.ItemIndex);
PReport1.PageMode := TPRPageMode(RadioGroup2.ItemIndex);
Print(PRPage1);
Print(PRPage2);
Print(PRPage1);
Print(PRPage2);
EndDoc;
end;
//ShellExecute(Self.Handle, 'Open', 'default.pdf', '', '', SW_SHOW);
end;
initialization
{$i Unit1.lrs}
end.

View File

@ -0,0 +1,630 @@
object Form1: TForm1
Caption = 'Form1'
ClientHeight = 188
ClientWidth = 299
Font.CharSet = ANSI_CHARSET
Font.Height = -12
Font.Name = 'Arial'
PixelsPerInch = 96
HorzScrollBar.Page = 298
VertScrollBar.Page = 187
Left = 200
Height = 188
Top = 107
Width = 299
object PRPage1: TPRPage
MarginTop = 20
MarginLeft = 5
MarginRight = 5
MarginBottom = 20
Visible = False
Left = 12
Height = 600
Top = 157
Width = 600
object PRLayoutPanel1: TPRLayoutPanel
Align = alClient
Left = 6
Height = 558
Top = 21
Width = 588
object PRLabel1: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 22
Height = 30
Width = 557
end
object PRLabel2: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 2228224
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 48
Width = 557
end
object PRLabel3: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 3342336
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 96
Width = 557
end
object PRLabel4: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 4456448
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 144
Width = 557
end
object PRLabel5: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 5570560
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 192
Width = 557
end
object PRLabel6: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 6684672
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 240
Width = 557
end
object PRLabel7: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 7798784
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 288
Width = 557
end
object PRLabel8: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 8912896
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 336
Width = 557
end
object PRLabel9: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 10027008
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 384
Width = 557
end
object PRLabel10: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 11141120
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 432
Width = 557
end
object PRLabel11: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 13369344
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 480
Width = 557
end
object PRLabel12: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = clBlue
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 25
Height = 30
Top = 528
Width = 557
end
object PRLabel13: TPRLabel
Caption = '1'
FontName = fnArial
FontSize = 8
Left = 6
Height = 30
Top = 12
Width = 13
end
object PRLabel14: TPRLabel
Caption = '2'
FontName = fnArial
FontSize = 8
Left = 6
Height = 30
Top = 50
Width = 13
end
object PRLabel15: TPRLabel
Caption = '3'
FontName = fnArial
FontSize = 8
Left = 6
Height = 30
Top = 88
Width = 13
end
object PRLabel16: TPRLabel
Caption = '4'
FontName = fnArial
FontSize = 8
Left = 6
Height = 30
Top = 126
Width = 13
end
object PRLabel17: TPRLabel
Caption = '5'
FontName = fnArial
FontSize = 8
Left = 6
Height = 30
Top = 163
Width = 13
end
object PRLabel18: TPRLabel
Caption = '6'
FontName = fnArial
FontSize = 8
Left = 4
Height = 33
Top = 201
Width = 13
end
object PRLabel19: TPRLabel
Caption = '7'
FontName = fnArial
FontSize = 8
Left = 4
Height = 33
Top = 239
Width = 13
end
object PRLabel20: TPRLabel
Caption = '8'
FontName = fnArial
FontSize = 8
Left = 4
Height = 33
Top = 277
Width = 13
end
object PRLabel21: TPRLabel
Caption = '9'
FontName = fnArial
FontSize = 8
Left = 4
Height = 33
Top = 315
Width = 13
end
object PRLabel22: TPRLabel
Caption = '10'
FontName = fnArial
FontSize = 8
Left = 2
Height = 33
Top = 353
Width = 15
end
object PRLabel23: TPRLabel
Caption = '11'
FontName = fnArial
FontSize = 8
Left = 2
Height = 33
Top = 391
Width = 15
end
object PRLabel24: TPRLabel
Caption = '12'
FontName = fnArial
FontSize = 8
Left = 2
Height = 33
Top = 428
Width = 15
end
object PRLabel25: TPRLabel
Caption = '13'
FontName = fnArial
FontSize = 8
Left = 2
Height = 33
Top = 466
Width = 15
end
object PRLabel26: TPRLabel
Caption = '14'
FontName = fnArial
FontSize = 8
Left = 2
Height = 33
Top = 504
Width = 15
end
object PRLabel27: TPRLabel
Caption = '15'
FontName = fnArial
FontSize = 8
Left = 2
Height = 17
Top = 542
Width = 15
end
end
end
object Button1: TButton
BorderSpacing.OnChange = nil
Caption = 'CreatePdf'
OnClick = Button1Click
TabOrder = 1
Left = 8
Height = 25
Top = 8
Width = 75
end
object RadioGroup1: TRadioGroup
BorderSpacing.OnChange = nil
Caption = 'PageLayout'
ItemIndex = 0
Items.Strings = (
'plSinglePage'
'plOneColumn'
'plTwoColumnLeft'
'plTwoColumnRight'
)
ParentColor = True
Left = 8
Height = 103
Top = 42
Width = 123
end
object RadioGroup2: TRadioGroup
BorderSpacing.OnChange = nil
Caption = 'PageMode'
ItemIndex = 0
Items.Strings = (
'pmUseNone'
'pmUseOutlines'
'pmUseThumbs'
'pmFullScreen'
)
ParentColor = True
Left = 142
Height = 103
Top = 42
Width = 123
end
object PRPage2: TPRPage
MarginTop = 20
MarginLeft = 5
MarginRight = 5
MarginBottom = 20
Visible = False
Left = 30
Height = 600
Top = 172
Width = 600
object PRLayoutPanel2: TPRLayoutPanel
Align = alClient
Left = 6
Height = 558
Top = 21
Width = 588
object PRLabel28: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 22
Height = 30
Width = 557
end
object PRLabel29: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 34
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 48
Width = 557
end
object PRLabel30: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 51
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 96
Width = 557
end
object PRLabel31: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 68
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 144
Width = 557
end
object PRLabel32: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 85
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 192
Width = 557
end
object PRLabel33: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 102
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 240
Width = 557
end
object PRLabel34: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 119
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 288
Width = 557
end
object PRLabel35: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 136
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 336
Width = 557
end
object PRLabel36: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 153
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 384
Width = 557
end
object PRLabel37: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 170
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 432
Width = 557
end
object PRLabel38: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = 204
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 23
Height = 30
Top = 480
Width = 557
end
object PRLabel39: TPRLabel
Caption = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FontColor = clRed
FontName = fnArial
FontSize = 30
CharSpace = 1
Left = 25
Height = 30
Top = 528
Width = 557
end
object PRLabel40: TPRLabel
Caption = '1'
FontName = fnArial
FontSize = 8
Left = 6
Height = 30
Top = 12
Width = 13
end
object PRLabel41: TPRLabel
Caption = '2'
FontName = fnArial
FontSize = 8
Left = 6
Height = 30
Top = 50
Width = 13
end
object PRLabel42: TPRLabel
Caption = '3'
FontName = fnArial
FontSize = 8
Left = 6
Height = 30
Top = 88
Width = 13
end
object PRLabel43: TPRLabel
Caption = '4'
FontName = fnArial
FontSize = 8
Left = 6
Height = 30
Top = 126
Width = 13
end
object PRLabel44: TPRLabel
Caption = '5'
FontName = fnArial
FontSize = 8
Left = 6
Height = 30
Top = 163
Width = 13
end
object PRLabel45: TPRLabel
Caption = '6'
FontName = fnArial
FontSize = 8
Left = 4
Height = 33
Top = 201
Width = 13
end
object PRLabel46: TPRLabel
Caption = '7'
FontName = fnArial
FontSize = 8
Left = 4
Height = 33
Top = 239
Width = 13
end
object PRLabel47: TPRLabel
Caption = '8'
FontName = fnArial
FontSize = 8
Left = 4
Height = 33
Top = 277
Width = 13
end
object PRLabel48: TPRLabel
Caption = '9'
FontName = fnArial
FontSize = 8
Left = 4
Height = 33
Top = 315
Width = 13
end
object PRLabel49: TPRLabel
Caption = '10'
FontName = fnArial
FontSize = 8
Left = 2
Height = 33
Top = 353
Width = 15
end
object PRLabel50: TPRLabel
Caption = '11'
FontName = fnArial
FontSize = 8
Left = 2
Height = 33
Top = 391
Width = 15
end
object PRLabel51: TPRLabel
Caption = '12'
FontName = fnArial
FontSize = 8
Left = 2
Height = 33
Top = 428
Width = 15
end
object PRLabel52: TPRLabel
Caption = '13'
FontName = fnArial
FontSize = 8
Left = 2
Height = 33
Top = 466
Width = 15
end
object PRLabel53: TPRLabel
Caption = '14'
FontName = fnArial
FontSize = 8
Left = 2
Height = 33
Top = 504
Width = 15
end
object PRLabel54: TPRLabel
Caption = '15'
FontName = fnArial
FontSize = 8
Left = 2
Height = 17
Top = 542
Width = 15
end
end
end
object PReport1: TPReport
FileName = 'default.pdf'
CreationDate = 37145.935954594897
PageLayout = plOneColumn
left = 96
top = 4
end
end

View File

@ -0,0 +1,150 @@
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#7'Caption'#6#5'Form1'#12'ClientHeight'#3#188#0#11'C'
+'lientWidth'#3'+'#1#12'Font.CharSet'#7#12'ANSI_CHARSET'#11'Font.Height'#2#244
+#9'Font.Name'#6#5'Arial'#13'PixelsPerInch'#2'`'#18'HorzScrollBar.Page'#3'*'#1
+#18'VertScrollBar.Page'#3#187#0#4'Left'#3#200#0#6'Height'#3#188#0#3'Top'#2'k'
+#5'Width'#3'+'#1#0#7'TPRPage'#7'PRPage1'#9'MarginTop'#2#20#10'MarginLeft'#2#5
+#11'MarginRight'#2#5#12'MarginBottom'#2#20#7'Visible'#8#4'Left'#2#12#6'Heigh'
+'t'#3'X'#2#3'Top'#3#157#0#5'Width'#3'X'#2#0#14'TPRLayoutPanel'#14'PRLayoutPa'
+'nel1'#5'Align'#7#8'alClient'#4'Left'#2#6#6'Height'#3'.'#2#3'Top'#2#21#5'Wid'
+'th'#3'L'#2#0#8'TPRLabel'#8'PRLabel1'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUV'
+'WXYZ'#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'#2
+#22#6'Height'#2#30#5'Width'#3'-'#2#0#0#8'TPRLabel'#8'PRLabel2'#7'Caption'#6
+#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#4#0#0'"'#0#8'FontName'#7#7'fnAr'
+'ial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'#2
+'0'#5'Width'#3'-'#2#0#0#8'TPRLabel'#8'PRLabel3'#7'Caption'#6#26'ABCDEFGHIJKL'
+'MNOPQRSTUVWXYZ'#9'FontColor'#4#0#0'3'#0#8'FontName'#7#7'fnArial'#8'FontSize'
+#2#30#9'CharSpace'#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'#2'`'#5'Width'#3'-'
+#2#0#0#8'TPRLabel'#8'PRLabel4'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9
+'FontColor'#4#0#0'D'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpace'
+#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'#3#144#0#5'Width'#3'-'#2#0#0#8'TPRLab'
+'el'#8'PRLabel5'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#4#0
+#0'U'#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'#2
+#23#6'Height'#2#30#3'Top'#3#192#0#5'Width'#3'-'#2#0#0#8'TPRLabel'#8'PRLabel6'
+#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#4#0#0'f'#0#8'FontN'
+'ame'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'#2#23#6'Height'#2
+#30#3'Top'#3#240#0#5'Width'#3'-'#2#0#0#8'TPRLabel'#8'PRLabel7'#7'Caption'#6
+#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#4#0#0'w'#0#8'FontName'#7#7'fnAr'
+'ial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'#3
+' '#1#5'Width'#3'-'#2#0#0#8'TPRLabel'#8'PRLabel8'#7'Caption'#6#26'ABCDEFGHIJ'
+'KLMNOPQRSTUVWXYZ'#9'FontColor'#4#0#0#136#0#8'FontName'#7#7'fnArial'#8'FontS'
+'ize'#2#30#9'CharSpace'#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'#3'P'#1#5'Widt'
+'h'#3'-'#2#0#0#8'TPRLabel'#8'PRLabel9'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTU'
+'VWXYZ'#9'FontColor'#4#0#0#153#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9
+'CharSpace'#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'#3#128#1#5'Width'#3'-'#2#0
+#0#8'TPRLabel'#9'PRLabel10'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'Fo'
+'ntColor'#4#0#0#170#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpace'
+#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'#3#176#1#5'Width'#3'-'#2#0#0#8'TPRLab'
+'el'#9'PRLabel11'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#4
+#0#0#204#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'
+#2#23#6'Height'#2#30#3'Top'#3#224#1#5'Width'#3'-'#2#0#0#8'TPRLabel'#9'PRLabe'
+'l12'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#7#6'clBlue'#8
+'FontName'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'#2#25#6'Hei'
+'ght'#2#30#3'Top'#3#16#2#5'Width'#3'-'#2#0#0#8'TPRLabel'#9'PRLabel13'#7'Capt'
+'ion'#6#1'1'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#6#6'Height'#2
+#30#3'Top'#2#12#5'Width'#2#13#0#0#8'TPRLabel'#9'PRLabel14'#7'Caption'#6#1'2'
+#8'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#6#6'Height'#2#30#3'Top'#2
+'2'#5'Width'#2#13#0#0#8'TPRLabel'#9'PRLabel15'#7'Caption'#6#1'3'#8'FontName'
+#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#6#6'Height'#2#30#3'Top'#2'X'#5'Width'
+#2#13#0#0#8'TPRLabel'#9'PRLabel16'#7'Caption'#6#1'4'#8'FontName'#7#7'fnArial'
+#8'FontSize'#2#8#4'Left'#2#6#6'Height'#2#30#3'Top'#2'~'#5'Width'#2#13#0#0#8
+'TPRLabel'#9'PRLabel17'#7'Caption'#6#1'5'#8'FontName'#7#7'fnArial'#8'FontSiz'
+'e'#2#8#4'Left'#2#6#6'Height'#2#30#3'Top'#3#163#0#5'Width'#2#13#0#0#8'TPRLab'
+'el'#9'PRLabel18'#7'Caption'#6#1'6'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8
+#4'Left'#2#4#6'Height'#2'!'#3'Top'#3#201#0#5'Width'#2#13#0#0#8'TPRLabel'#9'P'
+'RLabel19'#7'Caption'#6#1'7'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'
+#2#4#6'Height'#2'!'#3'Top'#3#239#0#5'Width'#2#13#0#0#8'TPRLabel'#9'PRLabel20'
+#7'Caption'#6#1'8'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#4#6'He'
+'ight'#2'!'#3'Top'#3#21#1#5'Width'#2#13#0#0#8'TPRLabel'#9'PRLabel21'#7'Capti'
+'on'#6#1'9'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#4#6'Height'#2
+'!'#3'Top'#3';'#1#5'Width'#2#13#0#0#8'TPRLabel'#9'PRLabel22'#7'Caption'#6#2
+'10'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#2#6'Height'#2'!'#3'T'
+'op'#3'a'#1#5'Width'#2#15#0#0#8'TPRLabel'#9'PRLabel23'#7'Caption'#6#2'11'#8
+'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#2#6'Height'#2'!'#3'Top'#3
+#135#1#5'Width'#2#15#0#0#8'TPRLabel'#9'PRLabel24'#7'Caption'#6#2'12'#8'FontN'
+'ame'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#2#6'Height'#2'!'#3'Top'#3#172#1
,#5'Width'#2#15#0#0#8'TPRLabel'#9'PRLabel25'#7'Caption'#6#2'13'#8'FontName'#7
+#7'fnArial'#8'FontSize'#2#8#4'Left'#2#2#6'Height'#2'!'#3'Top'#3#210#1#5'Widt'
+'h'#2#15#0#0#8'TPRLabel'#9'PRLabel26'#7'Caption'#6#2'14'#8'FontName'#7#7'fnA'
+'rial'#8'FontSize'#2#8#4'Left'#2#2#6'Height'#2'!'#3'Top'#3#248#1#5'Width'#2
+#15#0#0#8'TPRLabel'#9'PRLabel27'#7'Caption'#6#2'15'#8'FontName'#7#7'fnArial'
+#8'FontSize'#2#8#4'Left'#2#2#6'Height'#2#17#3'Top'#3#30#2#5'Width'#2#15#0#0#0
+#0#7'TButton'#7'Button1'#22'BorderSpacing.OnChange'#13#7'Caption'#6#9'Create'
+'Pdf'#7'OnClick'#7#12'Button1Click'#8'TabOrder'#2#1#4'Left'#2#8#6'Height'#2
+#25#3'Top'#2#8#5'Width'#2'K'#0#0#11'TRadioGroup'#11'RadioGroup1'#22'BorderSp'
+'acing.OnChange'#13#7'Caption'#6#10'PageLayout'#9'ItemIndex'#2#0#13'Items.St'
+'rings'#1#6#12'plSinglePage'#6#11'plOneColumn'#6#15'plTwoColumnLeft'#6#16'pl'
+'TwoColumnRight'#0#11'ParentColor'#9#4'Left'#2#8#6'Height'#2'g'#3'Top'#2'*'#5
+'Width'#2'{'#0#0#11'TRadioGroup'#11'RadioGroup2'#22'BorderSpacing.OnChange'
+#13#7'Caption'#6#8'PageMode'#9'ItemIndex'#2#0#13'Items.Strings'#1#6#9'pmUseN'
+'one'#6#13'pmUseOutlines'#6#11'pmUseThumbs'#6#12'pmFullScreen'#0#11'ParentCo'
+'lor'#9#4'Left'#3#142#0#6'Height'#2'g'#3'Top'#2'*'#5'Width'#2'{'#0#0#7'TPRPa'
+'ge'#7'PRPage2'#9'MarginTop'#2#20#10'MarginLeft'#2#5#11'MarginRight'#2#5#12
+'MarginBottom'#2#20#7'Visible'#8#4'Left'#2#30#6'Height'#3'X'#2#3'Top'#3#172#0
+#5'Width'#3'X'#2#0#14'TPRLayoutPanel'#14'PRLayoutPanel2'#5'Align'#7#8'alClie'
+'nt'#4'Left'#2#6#6'Height'#3'.'#2#3'Top'#2#21#5'Width'#3'L'#2#0#8'TPRLabel'#9
+'PRLabel28'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#8'FontName'#7#7'fnAr'
+'ial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'#2#22#6'Height'#2#30#5'Width'
+#3'-'#2#0#0#8'TPRLabel'#9'PRLabel29'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVW'
+'XYZ'#9'FontColor'#2'"'#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpac'
+'e'#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'#2'0'#5'Width'#3'-'#2#0#0#8'TPRLab'
+'el'#9'PRLabel30'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#2
+'3'#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'#2#23#6
+'Height'#2#30#3'Top'#2'`'#5'Width'#3'-'#2#0#0#8'TPRLabel'#9'PRLabel31'#7'Cap'
+'tion'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#2'D'#8'FontName'#7#7'fn'
+'Arial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'
+#3#144#0#5'Width'#3'-'#2#0#0#8'TPRLabel'#9'PRLabel32'#7'Caption'#6#26'ABCDEF'
+'GHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#2'U'#8'FontName'#7#7'fnArial'#8'FontSize'
+#2#30#9'CharSpace'#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'#3#192#0#5'Width'#3
+'-'#2#0#0#8'TPRLabel'#9'PRLabel33'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXY'
+'Z'#9'FontColor'#2'f'#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpace'
+#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'#3#240#0#5'Width'#3'-'#2#0#0#8'TPRLab'
+'el'#9'PRLabel34'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#2
+'w'#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'#2#23#6
+'Height'#2#30#3'Top'#3' '#1#5'Width'#3'-'#2#0#0#8'TPRLabel'#9'PRLabel35'#7'C'
+'aption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#3#136#0#8'FontName'#7
+#7'fnArial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'#2#23#6'Height'#2#30#3
+'Top'#3'P'#1#5'Width'#3'-'#2#0#0#8'TPRLabel'#9'PRLabel36'#7'Caption'#6#26'AB'
+'CDEFGHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#3#153#0#8'FontName'#7#7'fnArial'#8'F'
+'ontSize'#2#30#9'CharSpace'#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'#3#128#1#5
+'Width'#3'-'#2#0#0#8'TPRLabel'#9'PRLabel37'#7'Caption'#6#26'ABCDEFGHIJKLMNOP'
+'QRSTUVWXYZ'#9'FontColor'#3#170#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9
+'CharSpace'#2#1#4'Left'#2#23#6'Height'#2#30#3'Top'#3#176#1#5'Width'#3'-'#2#0
+#0#8'TPRLabel'#9'PRLabel38'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'Fo'
+'ntColor'#3#204#0#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpace'#2#1
+#4'Left'#2#23#6'Height'#2#30#3'Top'#3#224#1#5'Width'#3'-'#2#0#0#8'TPRLabel'#9
+'PRLabel39'#7'Caption'#6#26'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#9'FontColor'#7#5'clR'
+'ed'#8'FontName'#7#7'fnArial'#8'FontSize'#2#30#9'CharSpace'#2#1#4'Left'#2#25
+#6'Height'#2#30#3'Top'#3#16#2#5'Width'#3'-'#2#0#0#8'TPRLabel'#9'PRLabel40'#7
+'Caption'#6#1'1'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#6#6'Heig'
+'ht'#2#30#3'Top'#2#12#5'Width'#2#13#0#0#8'TPRLabel'#9'PRLabel41'#7'Caption'#6
+#1'2'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#6#6'Height'#2#30#3
+'Top'#2'2'#5'Width'#2#13#0#0#8'TPRLabel'#9'PRLabel42'#7'Caption'#6#1'3'#8'Fo'
+'ntName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#6#6'Height'#2#30#3'Top'#2'X'
+#5'Width'#2#13#0#0#8'TPRLabel'#9'PRLabel43'#7'Caption'#6#1'4'#8'FontName'#7#7
+'fnArial'#8'FontSize'#2#8#4'Left'#2#6#6'Height'#2#30#3'Top'#2'~'#5'Width'#2
+#13#0#0#8'TPRLabel'#9'PRLabel44'#7'Caption'#6#1'5'#8'FontName'#7#7'fnArial'#8
+'FontSize'#2#8#4'Left'#2#6#6'Height'#2#30#3'Top'#3#163#0#5'Width'#2#13#0#0#8
+'TPRLabel'#9'PRLabel45'#7'Caption'#6#1'6'#8'FontName'#7#7'fnArial'#8'FontSiz'
+'e'#2#8#4'Left'#2#4#6'Height'#2'!'#3'Top'#3#201#0#5'Width'#2#13#0#0#8'TPRLab'
,'el'#9'PRLabel46'#7'Caption'#6#1'7'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8
+#4'Left'#2#4#6'Height'#2'!'#3'Top'#3#239#0#5'Width'#2#13#0#0#8'TPRLabel'#9'P'
+'RLabel47'#7'Caption'#6#1'8'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'
+#2#4#6'Height'#2'!'#3'Top'#3#21#1#5'Width'#2#13#0#0#8'TPRLabel'#9'PRLabel48'
+#7'Caption'#6#1'9'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#4#6'He'
+'ight'#2'!'#3'Top'#3';'#1#5'Width'#2#13#0#0#8'TPRLabel'#9'PRLabel49'#7'Capti'
+'on'#6#2'10'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#2#6'Height'#2
+'!'#3'Top'#3'a'#1#5'Width'#2#15#0#0#8'TPRLabel'#9'PRLabel50'#7'Caption'#6#2
+'11'#8'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#2#6'Height'#2'!'#3'T'
+'op'#3#135#1#5'Width'#2#15#0#0#8'TPRLabel'#9'PRLabel51'#7'Caption'#6#2'12'#8
+'FontName'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#2#6'Height'#2'!'#3'Top'#3
+#172#1#5'Width'#2#15#0#0#8'TPRLabel'#9'PRLabel52'#7'Caption'#6#2'13'#8'FontN'
+'ame'#7#7'fnArial'#8'FontSize'#2#8#4'Left'#2#2#6'Height'#2'!'#3'Top'#3#210#1
+#5'Width'#2#15#0#0#8'TPRLabel'#9'PRLabel53'#7'Caption'#6#2'14'#8'FontName'#7
+#7'fnArial'#8'FontSize'#2#8#4'Left'#2#2#6'Height'#2'!'#3'Top'#3#248#1#5'Widt'
+'h'#2#15#0#0#8'TPRLabel'#9'PRLabel54'#7'Caption'#6#2'15'#8'FontName'#7#7'fnA'
+'rial'#8'FontSize'#2#8#4'Left'#2#2#6'Height'#2#17#3'Top'#3#30#2#5'Width'#2#15
+#0#0#0#0#8'TPReport'#8'PReport1'#8'FileName'#6#11'default.pdf'#12'CreationDa'
+'te'#5#0#160'g'#184#154#239#25#145#14'@'#10'PageLayout'#7#11'plOneColumn'#4
+'left'#2'`'#3'top'#2#4#0#0#0
]);

View File

@ -0,0 +1,180 @@
{*
* << P o w e r P d f >> -- PRAnnotation.pas
*
* Copyright (c) 1999-2001 Takezou. <takeshi_kanno@est.hi-ho.ne.jp>
*
* 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.
*
* You should have received a copy of the GNU Library General Public License
* along with this library.
*
* 2001.07.07 Create
* 2001.08.12 Changed the implementation of annotation.
*
*}
{$IFDEF LAZ_POWERPDF}
{$H+}
{$ENDIF}
unit PRAnnotation;
interface
uses
{$ifdef LAZ_POWERPDF}
LCLIntf, LCLType, LMessages,
{$ELSE}
Windows, Messages,
{$endif}
SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
PReport, PdfDoc, PdfFonts, PdfTypes;
type
TPRAnnotation = class(TPRItem)
private
FLines: TStrings;
FOpened: boolean;
procedure SetLines(Value: TStrings);
procedure SetText(Value: string);
function GetText: string;
function GetLines: TStrings;
protected
{$IFDEF LAZ_POWERPDF}
procedure CMTextChanged(var Message: TLMessage); message CM_TEXTCHANGED;
{$ELSE}
procedure CMTextChanged(var Message: TMessage); message CM_TEXTCHANGED;
{$ENDIF}
procedure Paint; override;
procedure Print(ACanvas: TPRCanvas; ARect: TRect); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property Text: string read GetText write SetText;
published
property Caption;
property Lines: TStrings read GetLines write SetLines;
property Opened: boolean read FOpened write FOpened;
end;
implementation
{ TPRAnnotation }
// SetLines
procedure TPRAnnotation.SetLines(Value: TStrings);
begin
FLines.Assign(Value);
Invalidate;
end;
// GetLines
function TPRAnnotation.GetLines: TStrings;
begin
result := FLines;
end;
// SetText
procedure TPRAnnotation.SetText(Value: string);
begin
FLines.Text := Value;
end;
// GetText
function TPRAnnotation.GetText: string;
begin
result := Trim(FLines.Text);
end;
// Create
constructor TPRAnnotation.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FLines := TStringList.Create;
end;
// Destroy
destructor TPRAnnotation.Destroy;
begin
FLines.Free;
inherited;
end;
// CMTextChanged
{$IFDEF LAZ_POWERPDF}
procedure TPRAnnotation.CMTextChanged(var Message: TLMessage);
{$ELSE}
procedure TPRAnnotation.CMTextChanged(var Message: TMessage);
{$ENDIF}
begin
Invalidate;
end;
procedure TPRAnnotation.Paint;
var
W: Integer;
tmpRect: TRect;
const
PDF_ANNOT_TITLE_HEIGHT = 15;
begin
with Canvas do
begin
tmpRect := GetClientRect;
tmpRect.Top := PDF_ANNOT_TITLE_HEIGHT;
InflateRect(tmpRect, -5, -1);
tmpRect.Right := tmpRect.Right - 24;
Brush.Color := clWindow;
Font.Size := 10;
Font.Style := [];
Rectangle(0, PDF_ANNOT_TITLE_HEIGHT, self.Width-1, self.Height-1);
DrawText(Handle, PChar(Text), -1, TmpRect, DT_WORDBREAK);
Brush.Color := clYellow;
Rectangle(0, 0, self.Width-1, PDF_ANNOT_TITLE_HEIGHT + 1);
Font.Size := 8;
Font.Style := [fsBold];
W := TextWidth(Caption);
TextOut((self.Width - W) div 2, 4, Caption);
end;
end;
procedure TPRAnnotation.Print(ACanvas: TPRCanvas; ARect: TRect);
var
FAnnotation: TPdfDictionary;
S: string;
APos: integer;
NewRect: TRect;
begin
// omitting LF charactors from CRLF sequence.
S := Text;
APos := pos(#13#10, S);
while APos > 0 do
begin
S := Copy(S, 1, APos) + Copy(S, APos+2, Length(S) - APos-2);
APos := pos(#13#10, S);
end;
// creating annotation object and setting properties.
with NewRect do
begin
Top := Page.ClientHeight - ARect.Bottom;
Bottom := Page.ClientHeight - ARect.Top;
Left := ARect.Left;
Right := ARect.Right;
end;
with NewRect do
FAnnotation := ACanvas.PdfCanvas.Doc.CreateAnnotation(asTextNotes,
_PdfRect(Left, Top, Right, Bottom));
FAnnotation.AddItem('Contents', TPdfText.CreateText(S));
FAnnotation.AddItem('S', TPdfText.CreateText(Caption));
if Opened then
FAnnotation.AddItem('Open', TPdfBoolean.CreateBoolean(true));
end;
end.

View File

@ -0,0 +1,96 @@
{*
* << P o w e r P d f >> -- PRJpegImage.pas
*
* Copyright (c) 1999-2001 Takezou. <takeshi_kanno@est.hi-ho.ne.jp>
*
* 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.
*
* You should have received a copy of the GNU Library General Public License
* along with this library.
*
* 2001.07.01 create
* 2001.09.07 changes the implementation of TPdfImageCreator.
*
*}
unit PRJpegImage;
interface
uses
SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
PReport, PdfDoc, PdfTypes, PdfImages, PdfJpegImage
{$IFDEF LAZ_POWERPDF}
{$ELSE}
,Windows, Messages, JPEG
{$ENDIF}
;
type
TPRJpegImage = class(TPRImage)
protected
procedure SetPicture(Value: TPicture); override;
procedure Print(ACanvas: TPRCanvas; ARect: TRect); override;
end;
implementation
// Print
procedure TPRJpegImage.Print(ACanvas: TPRCanvas; ARect: TRect);
var
FDoc: TPdfDoc;
FXObjectName: string;
i: integer;
begin
if not Printable then Exit;
if (FPicture = nil) or (FPicture.Graphic = nil) or
(FPicture.Graphic.Empty) or not (FPicture.Graphic is TJpegImage)then
Exit;
FDoc := ACanvas.PdfCanvas.Doc;
if SharedImage then
begin
FXObjectName := Self.Name;
if FDoc.GetXObject(FXObjectName) = nil then
FDoc.AddXObject(FXObjectName, CreatePdfImage(FPicture.Graphic, 'Pdf-Jpeg'));
end
else
begin
for i := 1 to MAX_IMAGE_NUMBER do
begin
FXObjectName := Self.Name + IntToStr(Random(MAX_IMAGE_NUMBER));
if FDoc.GetXObject(FXObjectName) = nil then Break;
if i = MAX_IMAGE_NUMBER then
raise Exception.Create('image count over max value..');
end;
FDoc.AddXObject(FXObjectName, CreatePdfImage(FPicture.Graphic, 'Pdf-Jpeg'));
end;
with ARect, ACanvas.PdfCanvas do
if FStretch then
DrawXObject(Left, Self.Page.Height - Bottom, Width, Height, FXObjectName)
else
DrawXObjectEx(Left, Self.Page.Height - Top - FPicture.Height,
FPicture.Width, FPicture.Height,
Left, Self.Page.Height - Top - Height, Width, Height, FXObjectName);
end;
// SetPicture
procedure TPRJpegImage.SetPicture(Value: TPicture);
begin
if (Value = nil) or (Value.Graphic = nil) or (Value.Graphic is TJpegImage) then
begin
FPicture.Assign(Value);
Invalidate;
end
else
raise exception.Create('only jpeg image is allowed.');
end;
end.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,927 @@
{*
* << P o w e r P d f >> -- PdfFonts.pas
*
* << Standerd font set for WinAnsiEncoding Charactors >>
*
* Copyright (c) 1999-2001 Takezou. <takeshi_kanno@est.hi-ho.ne.jp>
*
* 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.
*
* You should have received a copy of the GNU Library General Public License
* along with this library.
*
* Create 2000.09.14
*
*}
{$IFDEF LAZ_POWERPDF}
{$H+}
{$ENDIF}
unit PdfFonts;
interface
uses
SysUtils, Classes, PdfDoc, PdfTypes;
const
TYPE1_FONT_STR_TABLE: array[0..2] of TPDF_STR_TBL =(
(KEY: 'Type'; VAL: 'Font'),
(KEY: 'Subtype'; VAL: 'Type1'),
(KEY: 'Encoding'; VAL: 'WinAnsiEncoding')
);
// FixedWidth defination
FIXED_WIDTH_W_ARRAY: array[32..255] of Integer = (
600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600);
FIXED_WIDTH_INT_TABLE: array[0..1] of TPDF_INT_TBL =(
(KEY: 'FirstChar'; VAL: 32),
(KEY: 'LastChar'; VAL: 255)
);
FIXED_WIDTH_DISC_STR_TABLE: array[0..2] of TPDF_STR_TBL =(
(KEY: 'Type'; VAL: 'FontDescriptor'),
(KEY: 'FontName'; VAL: 'Type1'),
(KEY: 'Encoding'; VAL: 'WinAnsiEncoding')
);
FIXED_WIDTH_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 833),
(KEY: 'CapHeight'; VAL: 833),
(KEY: 'Descent'; VAL: -300),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET + PDF_FONT_FIXED_WIDTH),
(KEY: 'ItalicAngle'; VAL: -15),
(KEY: 'StemV'; VAL: 78),
(KEY: 'MissingWidth'; VAL: 600));
FIXED_WIDTH_BBOX: array[0..3] of Integer = (-103,-300,836,833);
// FixedWidth-Bold defination
FIXED_WIDTH_BOLD_W_ARRAY: array[32..255] of Integer = (
600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600);
FIXED_WIDTH_BOLD_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 833),
(KEY: 'CapHeight'; VAL: 833),
(KEY: 'Descent'; VAL: -300),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET +
PDF_FONT_FOURCE_BOLD + PDF_FONT_FIXED_WIDTH),
(KEY: 'ItalicAngle'; VAL: 0),
(KEY: 'StemV'; VAL: 156),
(KEY: 'MissingWidth'; VAL: 600));
FIXED_WIDTH_BOLD_BBOX: array[0..3] of Integer = (-46,-300,702,833);
// FixedWidth-Italic defination
FIXED_WIDTH_ITALIC_W_ARRAY: array[32..255] of Integer = (
600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600);
FIXED_WIDTH_ITALIC_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 833),
(KEY: 'CapHeight'; VAL: 833),
(KEY: 'Descent'; VAL: -300),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET +
PDF_FONT_FIXED_WIDTH),
(KEY: 'ItalicAngle'; VAL: -15),
(KEY: 'StemV'; VAL: 78),
(KEY: 'MissingWidth'; VAL: 600));
FIXED_WIDTH_ITALIC_BBOX: array[0..3] of Integer = (-67,-300,800,833);
// FixedWidth-BoldItalic defination
FIXED_WIDTH_BOLDITALIC_W_ARRAY: array[32..255] of Integer = (
600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
600,600);
FIXED_WIDTH_BOLDITALIC_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 833),
(KEY: 'CapHeight'; VAL: 833),
(KEY: 'Descent'; VAL: -300),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET +
PDF_FONT_FIXED_WIDTH + PDF_FONT_FOURCE_BOLD),
(KEY: 'ItalicAngle'; VAL: -15),
(KEY: 'StemV'; VAL: 156),
(KEY: 'MissingWidth'; VAL: 600));
FIXED_WIDTH_BOLDITALIC_BBOX: array[0..3] of Integer = (-103,-300,836,833);
// Arial definition
ARIAL_W_ARRAY: array[32..255] of Integer = (
278,278,355,556,556,889,667,191,333,333,389,584,278,333,
278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,
584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,
722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,
469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,
556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,
584,0,556,0,222,556,333,1000,556,556,333,1000,667,333,1000,0,
611,0,0,222,222,333,333,350,556,1000,333,1000,500,333,944,0,
500,667,0,333,556,556,556,556,260,556,333,737,370,556,584,0,
737,333,400,584,333,333,333,556,537,278,333,333,365,556,834,834,
834,611,667,667,667,667,667,667,1000,722,667,667,667,667,278,278,
278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,
667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,
278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,
556,500);
ARIAL_INT_TABLE: array[0..1] of TPDF_INT_TBL = (
(KEY: 'FirstChar'; VAL: 32),
(KEY: 'LastChar'; VAL: 255)
);
ARIAL_DISC_STR_TABLE: array[0..2] of TPDF_STR_TBL = (
(KEY: 'Type'; VAL: 'FontDescriptor'),
(KEY: 'FontName'; VAL: 'Type1'),
(KEY: 'Encoding'; VAL: 'WinAnsiEncoding')
);
ARIAL_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL = (
(KEY: 'Ascent'; VAL: 905),
(KEY: 'CapHeight'; VAL: 905),
(KEY: 'Descent'; VAL: -212),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET),
(KEY: 'ItalicAngle'; VAL: 0),
(KEY: 'StemV'; VAL: 78),
(KEY: 'MissingWidth'; VAL: 750)
);
ARIAL_BBOX: array[0..3] of Integer = (-166,-225,1000,931);
// Arial-Bold definition
ARIAL_BOLD_W_ARRAY: array[32..255] of Integer = (
278,333,474,556,556,889,722,238,333,333,389,584,278,333,
278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,
584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,
722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,
584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,
611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,
584,0,556,0,278,556,500,1000,556,556,333,1000,667,333,1000,0,
611,0,0,278,278,500,500,350,556,1000,333,1000,556,333,944,0,
500,667,0,333,556,556,556,556,280,556,333,737,370,556,584,0,
737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,
834,611,722,722,722,722,722,722,1000,722,667,667,667,667,278,278,
278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,
667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,
278,278,611,611,611,611,611,611,611,584,611,611,611,611,611,556,
611,556);
ARIAL_BOLD_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 905),
(KEY: 'CapHeight'; VAL: 905),
(KEY: 'Descent'; VAL: -212),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET +
PDF_FONT_FOURCE_BOLD),
(KEY: 'ItalicAngle'; VAL: 0),
(KEY: 'StemV'; VAL: 156),
(KEY: 'MissingWidth'; VAL: 750)
);
ARIAL_BOLD_BBOX: array[0..3] of Integer = (-170,-228,1003,962);
// Arial-Italic definition
ARIAL_ITALIC_W_ARRAY: array[32..255] of Integer = (
278,278,355,556,556,889,667,191,333,333,389,584,278,333,
278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,
584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,
722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,
469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,
556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,
584,0,556,0,222,556,333,1000,556,556,333,1000,667,333,1000,0,
611,0,0,222,222,333,333,350,556,1000,333,1000,500,333,944,0,
500,667,0,333,556,556,556,556,260,556,333,737,370,556,584,0,
737,333,400,584,333,333,333,556,537,278,333,333,365,556,834,834,
834,611,667,667,667,667,667,667,1000,722,667,667,667,667,278,278,
278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,
667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,
278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,
556,500);
ARIAL_ITALIC_DISC_STR_TABLE: array[0..2] of TPDF_STR_TBL =(
(KEY: 'Type'; VAL: 'FontDescriptor'),
(KEY: 'FontName'; VAL: 'Type1'),
(KEY: 'Encoding'; VAL: 'WinAnsiEncoding')
);
ARIAL_ITALIC_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 905),
(KEY: 'CapHeight'; VAL: 905),
(KEY: 'Descent'; VAL: -212),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET),
(KEY: 'ItalicAngle'; VAL: -15),
(KEY: 'StemV'; VAL: 78),
(KEY: 'MissingWidth'; VAL: 750)
);
ARIAL_ITALIC_BBOX: array[0..3] of Integer = (-170,-225,1116,931);
// Arial-BoldItalic definition
ARIAL_BOLDITALIC_W_ARRAY: array[32..255] of Integer = (
278,333,474,556,556,889,722,238,333,333,389,584,278,333,
278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,
584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,
722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,
584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,
611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,
584,0,556,0,278,556,500,1000,556,556,333,1000,667,333,1000,0,
611,0,0,278,278,500,500,350,556,1000,333,1000,556,333,944,0,
500,667,0,333,556,556,556,556,280,556,333,737,370,556,584,0,
737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,
834,611,722,722,722,722,722,722,1000,722,667,667,667,667,278,278,
278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,
667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,
278,278,611,611,611,611,611,611,611,584,611,611,611,611,611,556,
611,556);
ARIAL_BOLDITALIC_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 905),
(KEY: 'CapHeight'; VAL: 905),
(KEY: 'Descent'; VAL: -212),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET +
PDF_FONT_FOURCE_BOLD),
(KEY: 'ItalicAngle'; VAL: -15),
(KEY: 'StemV'; VAL: 156),
(KEY: 'MissingWidth'; VAL: 750));
ARIAL_BOLDITALIC_BBOX: array[0..3] of Integer = (-174,-228,1114,962);
// Times definition
TIMES_ROMAN_W_ARRAY: array[32..255] of Integer = (
250,333,408,500,500,833,778,180,333,333,500,564,250,333,
250,278,500,500,500,500,500,500,500,500,500,500,278,278,564,564,
564,444,921,722,667,667,722,611,556,722,722,333,389,722,611,889,
722,722,556,722,667,556,611,722,722,944,722,722,611,333,278,333,
469,500,333,444,500,444,500,444,333,500,500,278,278,500,278,778,
500,500,500,500,333,389,278,500,500,722,500,500,444,480,200,480,
541,0,500,0,333,500,444,1000,500,500,333,1000,556,333,889,0,
611,0,0,333,333,444,444,350,500,1000,333,980,389,333,722,0,
444,722,0,333,500,500,500,500,200,500,333,760,276,500,564,0,
760,333,400,564,300,300,333,500,453,250,333,300,310,500,750,750,
750,444,722,722,722,722,722,722,889,667,611,611,611,611,333,333,
333,333,722,722,722,722,722,722,722,564,722,722,722,722,722,722,
556,500,444,444,444,444,444,444,667,444,444,444,444,444,278,278,
278,278,500,500,500,500,500,500,500,564,500,500,500,500,500,500,
500,500);
TIMES_INT_TABLE: array[0..1] of TPDF_INT_TBL = (
(KEY: 'FirstChar'; VAL: 32),
(KEY: 'LastChar'; VAL: 255)
);
TIMES_DISC_STR_TABLE: array[0..2] of TPDF_STR_TBL =(
(KEY: 'Type'; VAL: 'FontDescriptor'),
(KEY: 'FontName'; VAL: 'Type1'),
(KEY: 'Encoding'; VAL: 'WinAnsiEncoding')
);
TIMES_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 891),
(KEY: 'CapHeight'; VAL: 891),
(KEY: 'Descent'; VAL: -216),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET +
PDF_FONT_SERIF),
(KEY: 'ItalicAngle'; VAL: 0),
(KEY: 'StemV'; VAL: 78),
(KEY: 'MissingWidth'; VAL: 778)
);
TIMES_BBOX: array[0..3] of Integer = (-168,-218,1000,898);
// Times-Italic definition
TIMES_ITALIC_W_ARRAY: array[32..255] of Integer = (
250,333,420,500,500,833,778,214,333,333,500,675,250,333,
250,278,500,500,500,500,500,500,500,500,500,500,333,333,675,675,
675,500,920,611,611,667,722,611,611,722,722,333,444,667,556,833,
667,722,611,722,611,500,556,722,611,833,611,556,556,389,278,389,
422,500,333,500,500,444,500,444,278,500,500,278,278,444,278,722,
500,500,500,500,389,389,278,500,444,667,444,444,389,400,275,400,
541,0,500,0,333,500,556,889,500,500,333,1000,500,333,944,0,
556,0,0,333,333,556,556,350,500,889,333,980,389,333,667,0,
389,556,0,389,500,500,500,500,275,500,333,760,276,500,675,0,
760,333,400,675,300,300,333,500,523,250,333,300,310,500,750,750,
750,500,611,611,611,611,611,611,889,667,611,611,611,611,333,333,
333,333,722,667,722,722,722,722,722,675,722,722,722,722,722,556,
611,500,500,500,500,500,500,500,667,444,444,444,444,444,278,278,
278,278,500,500,500,500,500,500,500,675,500,500,500,500,500,444,
500,444);
TIMES_ITALIC_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 891),
(KEY: 'CapHeight'; VAL: 891),
(KEY: 'Descent'; VAL: -216),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET +
PDF_FONT_SERIF + PDF_FONT_ITALIC),
(KEY: 'ItalicAngle'; VAL: -15),
(KEY: 'StemV'; VAL: 78),
(KEY: 'MissingWidth'; VAL: 778));
TIMES_ITALIC_BBOX: array[0..3] of Integer = (-169,-217,1010,883);
// Times-BOLD definition
TIMES_BOLD_W_ARRAY: array[32..255] of Integer = (
250,333,555,500,500,1000,833,278,333,333,500,570,250,333,
250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,
570,500,930,722,667,722,722,667,611,778,778,389,500,778,667,944,
722,778,611,778,722,556,667,722,722,1000,722,722,667,333,278,333,
581,500,333,500,556,444,556,444,333,500,556,278,333,556,278,833,
556,500,556,556,444,389,333,556,500,722,500,500,444,394,220,394,
520,0,500,0,333,500,500,1000,500,500,333,1000,556,333,1000,0,
667,0,0,333,333,500,500,350,500,1000,333,1000,389,333,722,0,
444,722,0,333,500,500,500,500,220,500,333,747,300,500,570,0,
747,333,400,570,300,300,333,556,540,250,333,300,330,500,750,750,
750,500,722,722,722,722,722,722,1000,722,667,667,667,667,389,389,
389,389,722,722,778,778,778,778,778,570,778,722,722,722,722,722,
611,556,500,500,500,500,500,500,722,444,444,444,444,444,278,278,
278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,500,
556,500);
TIMES_BOLD_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 891),
(KEY: 'CapHeight'; VAL: 891),
(KEY: 'Descent'; VAL: -216),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET +
PDF_FONT_SERIF + PDF_FONT_FOURCE_BOLD),
(KEY: 'ItalicAngle'; VAL: 0),
(KEY: 'StemV'; VAL: 156),
(KEY: 'MissingWidth'; VAL: 778));
TIMES_BOLD_BBOX: array[0..3] of Integer = (-168,-218,1000,935);
// Times-BoldItalic definition
TIMES_BOLDITALIC_W_ARRAY: array[32..255] of Integer = (
250,389,555,500,500,833,778,278,333,333,500,570,250,333,
250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,
570,500,832,667,667,667,722,667,667,722,778,389,500,667,611,889,
722,722,611,722,667,556,611,722,667,889,667,611,611,333,278,333,
570,500,333,500,500,444,500,444,333,500,556,278,278,500,278,778,
556,500,500,500,389,389,278,556,444,667,500,444,389,348,220,348,
570,0,500,0,333,500,500,1000,500,500,333,1000,556,333,944,0,
611,0,0,333,333,500,500,350,500,1000,333,1000,389,333,722,0,
389,611,0,389,500,500,500,500,220,500,333,747,266,500,606,0,
747,333,400,570,300,300,333,576,500,250,333,300,300,500,750,750,
750,500,667,667,667,667,667,667,944,667,667,667,667,667,389,389,
389,389,722,722,722,722,722,722,722,570,722,722,722,722,722,611,
611,500,500,500,500,500,500,500,722,444,444,444,444,444,278,278,
278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,444,
500,444);
TIMES_BOLDITALIC_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 891),
(KEY: 'CapHeight'; VAL: 891),
(KEY: 'Descent'; VAL: -216),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET +
PDF_FONT_SERIF + PDF_FONT_FOURCE_BOLD),
(KEY: 'ItalicAngle'; VAL: -15),
(KEY: 'StemV'; VAL: 156),
(KEY: 'MissingWidth'; VAL: 778));
TIMES_BOLDITALIC_BBOX: array[0..3] of Integer = (-200,-218,996,921);
SCRIPT_W_ARRAY: array[32..255] of Integer = (
323,202,323,424,404,485,525,202,283,283,323,525,202,525,202,444,
404,404,404,404,404,404,404,404,404,404,202,202,485,525,485,364,
545,404,465,404,465,404,404,465,485,343,303,485,384,667,485,424,
505,444,505,404,384,485,465,566,485,465,424,283,283,283,444,323,
222,323,283,222,323,202,162,303,303,141,141,283,162,505,364,283,
303,303,263,222,182,303,303,424,323,303,283,283,162,283,485,202,
202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,
202,222,202,202,202,202,202,202,202,202,202,202,202,202,202,202,
202,202,222,384,283,465,162,283,404,283,323,404,404,404,283,404,
404,404,404,404,404,384,424,404,404,404,283,404,404,404,404,364,
404,404,404,404,404,404,566,404,404,404,404,404,343,343,343,343,
465,485,424,424,424,424,424,323,404,485,485,485,485,465,444,444,
323,323,323,323,323,323,384,222,202,202,202,202,141,141,141,141,
283,364,283,283,283,283,283,404,283,303,303,303,303,303,384,303
);
SCRIPT_INT_TABLE: array[0..1] of TPDF_INT_TBL = (
(KEY: 'FirstChar'; VAL: 32),
(KEY: 'LastChar'; VAL: 255)
);
SCRIPT_DISC_STR_TABLE: array[0..2] of TPDF_STR_TBL =(
(KEY: 'Type'; VAL: 'FontDescriptor'),
(KEY: 'FontName'; VAL: 'Type1'),
(KEY: 'Encoding'; VAL: 'WinAnsiEncoding')
);
SCRIPT_DISC_INT_TABLE: array[0..6] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 758),
(KEY: 'CapHeight'; VAL: 758),
(KEY: 'Descent'; VAL: -363),
(KEY: 'Flags'; VAL: PDF_FONT_STD_CHARSET + PDF_FONT_ITALIC),
(KEY: 'ItalicAngle'; VAL: 0),
(KEY: 'StemV'; VAL: 78),
(KEY: 'MissingWidth'; VAL: 202));
SCRIPT_BBOX: array[0..3] of Integer = (-184,-363,505,758);
type
TPdfType1Font = class(TPdfFont)
private
FFirstChar: Byte;
FLastChar: Byte;
FArray: array[0..255] of Word;
public
procedure SetData(Value: TPdfDictionary); override;
function GetCharWidth(AText: string; APos: integer): integer; override;
end;
TPdfFixedWidth = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfFixedWidthBold = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfFixedWidthItalic = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfFixedWidthBoldItalic = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfArial = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfArialBold = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfArialItalic = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfArialBoldItalic = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfTimesRoman = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfTimesBold = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfTimesItalic = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfTimesBoldItalic = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfScript = class(TPdfType1Font)
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
implementation
{ TPdfType1Font }
function TPdfType1Font.GetCharWidth(AText: string; APos: integer): integer;
begin
result := FArray[ord(AText[APos])];
end;
procedure TPdfType1Font.SetData(Value: TPdfDictionary);
var
i: integer;
DefaultWidth: Word;
Widths: TPdfArray;
begin
inherited SetData(Value);
// initialize char widths array by default value (if missing width parameter
// is defined, use it as default value.)
if Data.PdfNumberByName('MissingWidth') <> nil then
DefaultWidth := Data.PdfNumberByName('MissingWidth').Value
else
DefaultWidth := 0;
for i := 0 to 255 do
FArray[i] := DefaultWidth;
FFirstChar := Data.PdfNumberByName('FirstChar').Value;
FLastChar := Data.PdfNumberByName('LastChar').Value;
// fill width array with "Widths" table values.
Widths := Data.PdfArrayByName('Widths');
for i := 0 to Widths.ItemCount - 1 do
FArray[i + FFirstChar] := TPdfNumber(Widths.Items[i]).Value;
end;
{ FixedWidth }
constructor TPdfFixedWidth.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
// make instance of TPdfDictionary and register to Xref table.
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
// adding element to the dictionary.
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, FIXED_WIDTH_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Courier'));
// create "Width" table of the font.
FWidths := TPdfArray.CreateNumArray(AXref, FIXED_WIDTH_W_ARRAY);
FFont.AddInternalItem('Widths', FWidths);
SetData(FFont);
end;
{ FixedWidthBold }
constructor TPdfFixedWidthBold.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, FIXED_WIDTH_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Courier-Bold'));
FWidths := TPdfArray.CreateNumArray(AXref, FIXED_WIDTH_BOLD_W_ARRAY);
FFont.AddInternalItem('Widths', FWidths);
SetData(FFont);
end;
{ FixedWidthItalic }
constructor TPdfFixedWidthItalic.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, FIXED_WIDTH_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Courier-Oblique'));
FWidths := TPdfArray.CreateNumArray(AXref, FIXED_WIDTH_ITALIC_W_ARRAY);
FFont.AddInternalItem('Widths', FWidths);
SetData(FFont);
end;
{ FixedWidthBoldItalic }
constructor TPdfFixedWidthBoldItalic.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, FIXED_WIDTH_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Courier-BoldOblique'));
FWidths := TPdfArray.CreateNumArray(AXref, FIXED_WIDTH_BOLDITALIC_W_ARRAY);
FFont.AddInternalItem('Widths', FWidths);
SetData(FFont);
end;
{ Arial }
constructor TPdfArial.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, ARIAL_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Helvetica'));
FWidths := TPdfArray.CreateNumArray(AXref, ARIAL_W_ARRAY);
FFont.AddInternalItem('Widths', FWidths);
SetData(FFont);
end;
{ Arial-Bold }
constructor TPdfArialBold.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, ARIAL_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Helvetica-Bold'));
FWidths := TPdfArray.CreateNumArray(AXref, ARIAL_BOLD_W_ARRAY);
FFont.AddInternalItem('Widths', FWidths);
SetData(FFont);
end;
{ Arial-Italic }
constructor TPdfArialItalic.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, ARIAL_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Helvetica-Oblique'));
FWidths := TPdfArray.CreateNumArray(AXref, ARIAL_ITALIC_W_ARRAY);
FFont.AddInternalItem('Widths', FWidths);
SetData(FFont);
end;
{ Arial-BoldItalic }
constructor TPdfArialBoldItalic.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, ARIAL_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Helvetica-BoldOblique'));
FWidths := TPdfArray.CreateNumArray(AXref, ARIAL_BOLDITALIC_W_ARRAY);
FFont.AddInternalItem('Widths', FWidths);
SetData(FFont);
end;
{ TPdfTimesRoman }
constructor TPdfTimesRoman.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, TIMES_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Times-Roman'));
FWidths := TPdfArray.CreateNumArray(AXref, TIMES_ROMAN_W_ARRAY);
FFont.AddInternalItem('Widths', FWidths);
SetData(FFont);
end;
{ TPdfTimesBold }
constructor TPdfTimesBold.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, TIMES_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Times-Bold'));
FWidths := TPdfArray.CreateNumArray(AXref, TIMES_BOLD_W_ARRAY);
FFont.AddInternalItem('Widths', FWidths);
SetData(FFont);
end;
{ TPdfTimesItalic }
constructor TPdfTimesItalic.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, TIMES_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Times-Italic'));
FWidths := TPdfArray.CreateNumArray(AXref, TIMES_ITALIC_W_ARRAY);
FFont.AddInternalItem('Widths', FWidths);
SetData(FFont);
end;
{ TPdfTimesBoldItalic }
constructor TPdfTimesBoldItalic.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, TIMES_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Times-BoldItalic'));
FWidths := TPdfArray.CreateNumArray(AXref, TIMES_BOLDITALIC_W_ARRAY);
FFont.AddInternalItem('Widths', FWidths);
SetData(FFont);
end;
{ TPdfScript }
constructor TPdfScript.Create(AXref: TPdfXref; AName: string);
var
FWidths: TPdfArray;
FFontDescriptor: TPdfDictionary;
FFont: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
AddStrElements(FFont, TYPE1_FONT_STR_TABLE);
AddIntElements(FFont, SCRIPT_INT_TABLE);
FFont.AddItem('BaseFont', TPdfName.CreateName('Script'));
FFontDescriptor := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFontDescriptor);
AddStrElements(FFontDescriptor, SCRIPT_DISC_STR_TABLE);
AddIntElements(FFontDescriptor, SCRIPT_DISC_INT_TABLE);
FFontDescriptor.AddItem('FontBBox',
TPdfArray.CreateNumArray(AXref, SCRIPT_BBOX));
FFont.AddItem('FontDescriptor', FFontDescriptor);
FWidths := TPdfArray.CreateNumArray(AXref, SCRIPT_W_ARRAY);
FFont.AddItem('Widths', FWidths);
SetData(FFont);
end;
initialization
{$IFDEF LAZ_POWERPDF}
PdfLazRegisterClassAlias(TPdfFixedWidth, 'FixedWidth');
PdfLazRegisterClassAlias(TPdfFixedWidthBold, 'FixedWidth-Bold');
PdfLazRegisterClassAlias(TPdfFixedWidthBoldItalic, 'FixedWidth-BoldItalic');
PdfLazRegisterClassAlias(TPdfFixedWidthItalic, 'FixedWidth-Italic');
PdfLazRegisterClassAlias(TPdfArial, 'Arial');
PdfLazRegisterClassAlias(TPdfArialBold, 'Arial-Bold');
PdfLazRegisterClassAlias(TPdfArialBoldItalic, 'Arial-BoldItalic');
PdfLazRegisterClassAlias(TPdfArialItalic, 'Arial-Italic');
PdfLazRegisterClassAlias(TPdfTimesRoman, 'Times-Roman');
PdfLazRegisterClassAlias(TPdfTimesBold, 'Times-Bold');
PdfLazRegisterClassAlias(TPdfTimesItalic, 'Times-Italic');
PdfLazRegisterClassAlias(TPdfTimesBoldItalic, 'Times-BoldItalic');
// PdfLazRegisterClassAlias(TPdfScript, 'Script');
// PdfLazRegisterClassAlias(TPdfSymbol, 'Symbol');
{$ELSE}
RegisterClassAlias(TPdfFixedWidth, 'FixedWidth');
RegisterClassAlias(TPdfFixedWidthBold, 'FixedWidth-Bold');
RegisterClassAlias(TPdfFixedWidthBoldItalic, 'FixedWidth-BoldItalic');
RegisterClassAlias(TPdfFixedWidthItalic, 'FixedWidth-Italic');
RegisterClassAlias(TPdfArial, 'Arial');
RegisterClassAlias(TPdfArialBold, 'Arial-Bold');
RegisterClassAlias(TPdfArialBoldItalic, 'Arial-BoldItalic');
RegisterClassAlias(TPdfArialItalic, 'Arial-Italic');
RegisterClassAlias(TPdfTimesRoman, 'Times-Roman');
RegisterClassAlias(TPdfTimesBold, 'Times-Bold');
RegisterClassAlias(TPdfTimesItalic, 'Times-Italic');
RegisterClassAlias(TPdfTimesBoldItalic, 'Times-BoldItalic');
// RegisterClassAlias(TPdfScript, 'Script');
// RegisterClassAlias(TPdfSymbol, 'Symbol');
{$ENDIF}
finalization
UnRegisterClass(TPdfFixedWidth);
UnRegisterClass(TPdfFixedWidthBold);
UnRegisterClass(TPdfFixedWidthBoldItalic);
UnRegisterClass(TPdfFixedWidthBold);
UnRegisterClass(TPdfArial);
UnRegisterClass(TPdfArialBold);
UnRegisterClass(TPdfArialBoldItalic);
UnRegisterClass(TPdfArialBold);
UnRegisterClass(TPdfTimesRoman);
UnRegisterClass(TPdfTimesBold);
UnRegisterClass(TPdfTimesItalic);
UnRegisterClass(TPdfTimesBoldItalic);
// UnRegisterClass(TPdfScript);
// UnRegisterClass(TPdfSymbol);
end.

View File

@ -0,0 +1,221 @@
{*
* << P o w e r P d f >> -- PdfGBFonts.pas
*
* << Japanese font set for Shift-JIS Charactors >>
*
* Copyright (c) 1999-1101 Takezou. <takeshi_kanno@est.hi-ho.ne.jp>
*
* 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.
*
* You should have received a copy of the GNU Library General Public License
* along with this library.
*
* Create 2001.04.14
*
*}
{$IFDEF LAZ_POWERPDF}
{$H+}
{$ENDIF}
unit PdfGBFonts;
interface
uses
SysUtils, Classes, PdfDoc, PdfTypes, PdfJpFonts;
const
CIDTYPE2_GB_FONT_STR_TABLE: array[0..2] of TPDF_STR_TBL =(
(KEY: 'Type'; VAL: 'Font'),
(KEY: 'Subtype'; VAL: 'CIDFontType2'),
(KEY: 'WinCharSet'; VAL: '128')
);
CIDTYPE2_GB_FONT_DEFAULT_WIDTH = 1000;
CIDTYPE2_GB_FONT_WIDTH_ARRAY: array[0..2] of Integer = (231, 631, 500);
CIDTYPE2_GB_FONT_BBOX: array[0..3] of Integer = (0,-141,1000,859);
CIDTYPE2_GB_FONT_DISC_INT_TABLE: array[0..3] of TPDF_INT_TBL =(
(KEY: 'Ascent'; VAL: 859),
(KEY: 'CapHeight'; VAL: 859),
(KEY: 'Descent'; VAL: -141),
(KEY: 'MissingWidth'; VAL: 500)
);
TYPE0_GB_FONT_STR_TABLE: array[0..2] of TPDF_STR_TBL =(
(KEY: 'Type'; VAL: 'Font'),
(KEY: 'Subtype'; VAL: 'Type0'),
(KEY: 'Encoding'; VAL: 'GB-EUC-H')
);
type
TCharToCMap = function(S: string; Index: integer): integer;
TPdfGBFont = class(TPdfType0Font)
protected
procedure AddDescriptorItem(AFontDescriptor: TPdfDictionary); virtual;
procedure AddDescendantFontItem(ADescendantFont: TPdfDictionary); virtual;
function GetFontName: string; virtual;
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfGBFixedFont = class(TPdfGBFont)
protected
procedure AddDescendantFontItem(ADescendantFont: TPdfDictionary); override;
public
constructor Create(AXref: TPdfXref; AName: string); override;
end;
TPdfChinese = class(TPdfGBFixedFont)
protected
procedure AddDescriptorItem(AFontDescriptor: TPdfDictionary); override;
function GetFontName: string; override;
end;
implementation
//uses
// PdfGBCMap;
{ CharToCMap_GB_EUC_H }
function CharToCMap_GB_EUC_H(S: string; Index: integer): integer;
begin
case ByteType(S, Index) of
mbSingleByte: result := 0;
mbLeadByte: result := 0;
mbTrailByte: result := -1;
end;
end;
{ TPdfGBFont }
// AddDescriptorItem
procedure TPdfGBFont.AddDescriptorItem(AFontDescriptor: TPdfDictionary);
begin
end;
// GetFontName
function TPdfGBFont.GetFontName: string;
begin
result := '';
end;
// .AddDescendantFontItem
procedure TPdfGBFont.AddDescendantFontItem(ADescendantFont: TPdfDictionary);
begin
end;
// Create
constructor TPdfGBFont.Create(AXref: TPdfXref; AName: string);
var
FFontDescriptor: TPdfDictionary;
FFont: TPdfDictionary;
FDescendantFont: TPdfDictionary;
FDescendantFontArray: TPdfArray;
FCIDSystemInfo: TPdfDictionary;
begin
inherited Create(AXref, AName);
FFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFont);
FFont.AddNameItem('BaseFont', GetFontName);
// create descendant font.
FDescendantFont := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FDescendantFont);
FDescendantFontArray := TPdfArray.CreateArray(AXref);
FDescendantFontArray.AddItem(FDescendantFont);
FFont.AddItem('DescendantFonts', FDescendantFontArray);
AddStrElements(FDescendantFont, CIDTYPE2_GB_FONT_STR_TABLE);
FDescendantFont.AddNameItem('BaseFont', GetFontName);
FCIDSystemInfo := TPdfDictionary.CreateDictionary(AXref);
with FCIDSystemInfo do
begin
AddItem('Registry', TPdfText.CreateText('Adobe'));
AddItem('Ordering', TPdfText.CreateText('GB1'));
AddItem('Supplement', TPdfNumber.CreateNumber(2));
end;
with FDescendantFont do
begin
AddItem('CIDSystemInfo', FCIDSystemInfo);
AddNumberItem('DW', CIDTYPE2_GB_FONT_DEFAULT_WIDTH);
end;
AddDescendantFontItem(FDescendantFont);
// create font descriptor.
FFontDescriptor := TPdfDictionary.CreateDictionary(AXref);
AXref.AddObject(FFontDescriptor);
FFontDescriptor.AddNameItem('Type', 'FontDescriptor');
FFontDescriptor.AddNameItem('BaseFont', GetFontName);
AddIntElements(FFontDescriptor, CIDTYPE2_GB_FONT_DISC_INT_TABLE);
AddDescriptorItem(FFontDescriptor);
FFontDescriptor.AddItem('FontBBox',
TPdfArray.CreateNumArray(AXref, CIDTYPE2_GB_FONT_BBOX));
FDescendantFont.AddItem('FontDescriptor', FFontDescriptor);
SetData(FFont);
end;
// AddDescendantFontItem
procedure TPdfGBFixedFont.AddDescendantFontItem(ADescendantFont: TPdfDictionary);
var
FWidths: TPdfArray;
begin
FWidths := TPdfArray.CreateNumArray(nil, CIDTYPE2_GB_FONT_WIDTH_ARRAY);
ADescendantFont.AddItem('W', FWidths);
end;
constructor TPdfGBFixedFont.Create(AXref: TPdfXref; AName: string);
begin
inherited Create(AXref, AName);
AddStrElements(Data, TYPE0_GB_FONT_STR_TABLE);
SetCharToCMap(@CharToCMap_GB_EUC_H);
end;
{ TPdfGothic }
procedure TPdfChinese.AddDescriptorItem(AFontDescriptor: TPdfDictionary);
var
Flags: integer;
begin
with AFontDescriptor do
begin
Flags := PDF_FONT_SYMBOLIC +
PDF_FONT_FIXED_WIDTH;
AddNumberItem('Flags', Flags);
AddNumberItem('ItalicAngle', 0);
AddNumberItem('StemV', 78);
end;
end;
function TPdfChinese.GetFontName: string;
begin
result := 'Chinese';
end;
initialization
{$IFDEF LAZ_POWERPDF}
PdfLazRegisterClassAlias(TPdfChinese, 'Chinese');
{$ELSE}
RegisterClassAlias(TPdfChinese, 'Chinese');
{$ENDIF}
finalization
UnRegisterClass(TPdfChinese);
end.

View File

@ -0,0 +1,315 @@
{*
* << P o w e r P d f >> -- PdfImages.pas
* << Standerd image classes defination >>
*
* Copyright (c) 1999-2001 T.KANNO. <takeshi_kanno@est.hi-ho.ne.jp>
*
* 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.
*
* You should have received a copy of the GNU Library General Public License
* along with this library.
*
* 2001.03.14 Create.
* 2001.07.30 Implemented Indexed color image.
* 2001.08.26 changed some definations and methods to work with kylix.
* 2001.09.01 changed the implementation of the image.
*
*}
{$IFDEF LAZ_POWERPDF}
{$H+}
{$ENDIF}
unit PdfImages;
interface
{$IFDEF LINUX}
{$IFDEF LAZ_POWERPDF}
{$ELSE}
{$DEFINE USE_CLX}
{$ENDIF}
{$ENDIF}
uses
SysUtils,
{$IFNDEF USE_CLX}
{$IFDEF LAZ_POWERPDF}
LCLType, LCLIntf, Graphics, FPImage, IntfGraphics, BmpComn,
{$ELSE}
Windows, Graphics,
{$ENDIF}
{$ELSE}
QGraphics, Qt,
{$ENDIF}
Classes, PdfTypes, PdfDoc;
type
TPdfImageCreator = class(TPersistent)
public
function CreateImage(AImage: TGraphic): TPdfImage; virtual;
end;
TPdfBitmapImage = class(TPdfImageCreator)
private
function CreateIndexedColorArray(ABitmap: TBitmap): TPdfArray;
public
function CreateImage(AImage: TGraphic): TPdfImage; override;
end;
EPdfInvalidImageFormat = class(Exception);
function CreatePdfImage(AImage: TGraphic; ImageClassName: string): TPdfImage;
implementation
function CreatePdfImage(AImage: TGraphic; ImageClassName: string): TPdfImage;
var
PdfImageCreator: TPdfImageCreator;
begin
Result := nil;
{$IFDEF LAZ_POWERPDF}
PdfImageCreator := TPdfImageCreator(PdfLazFindClass(ImageClassName).Create);
{$ELSE}
PdfImageCreator := TPdfImageCreator(FindClass(ImageClassName).Create);
{$ENDIF}
try
if PdfImageCreator = nil then
raise Exception.CreateFmt('AddImage --InvalidImageClassName:%s', [ImageClassName]);
Result := PdfImageCreator.CreateImage(AImage);
finally
PdfImageCreator.Free;
end;
end;
{ TPdfImageCreator }
function TPdfImageCreator.CreateImage(AImage: TGraphic): TPdfImage;
begin
result := nil;
end;
{$IFDEF USE_CLX}
type
TColorTable = array[0..MaxInt div SizeOf(QRgb)-1] of QRgb;
PColorTable = ^TColorTable;
{$ENDIF}
function TPdfBitmapImage.CreateIndexedColorArray(ABitmap: TBitmap): TPdfArray;
var
{$IFNDEF USE_CLX}
PalEntries: array[0..255] of TPaletteEntry;
{$ELSE}
PalEntries: PColorTable;
CRgb: Cardinal;
pb: PByteArray;
{$ENDIF}
i: integer;
ColorTable: TPdfBinary;
NumOfColors: integer;
S: string;
begin
// creating color table from palette of bitmap.
if ABitmap.PixelFormat <> pf8bit then
raise EPdfInvalidImageFormat.Create('only 8 bit color image is allowed.');
NumOfColors := 256;
{$IFNDEF USE_CLX}
if GetPaletteEntries(ABitmap.Palette, 0, NumOfColors + 1, PalEntries) = 0 then
raise EPdfInvalidImageFormat.Create('failed to get Palette..');
{$ELSE}
PalEntries := PColorTable(ABitmap.ColorTable);
{$ENDIF}
ColorTable := TPdfBinary.Create;
S := '<';
{$IFNDEF USE_CLX}
for i := 0 to NumOfColors - 1 do
with PalEntries[i] do
S := S + IntToHex(peRed, 2) +
IntToHex(peGreen, 2) +
IntToHex(peBlue, 2) +
' ';
{$ELSE}
for i := 0 to NumOfColors - 1 do
begin
CRgb := PalEntries[i];
pb := PByteArray(@CRgb);
S := S + IntToHex(pb[2], 2) +
IntToHex(pb[1], 2) +
IntToHex(pb[0], 2) +
' ';
end;
{$ENDIF}
S := S + '>';
ColorTable.Stream.Write(PChar(S)^, Length(S));
result := TPdfArray.CreateArray(nil);
with result do
begin
AddItem(TPdfName.CreateName('Indexed'));
AddItem(TPdfName.CreateName('DeviceRGB'));
AddItem(TPdfNumber.CreateNumber(NumOfColors - 1));
AddItem(ColorTable);
end;
end;
function TPdfBitmapImage.CreateImage(AImage: TGraphic): TPdfImage;
var
ABitmap: TBitmap;
x, y: integer;
pb: PByteArray;
b: Byte;
{$IFDEF LAZ_POWERPDF}
aIntfImage: TLazIntfImage;
aColor : TFPColor;
{$endif}
const
{$IFDEF USE_CLX}
PIXEL_COLOR_SIZE = 4;
{$ELSE}
PIXEL_COLOR_SIZE = 3;
{$ENDIF}
begin
result := TPdfImage.CreateStream(nil);
with result do
try
with Attributes do
begin
AddItem('Type', TPdfName.CreateName('XObject'));
AddItem('Subtype', TPdfName.CreateName('Image'));
end;
ABitmap := TBitmap.Create;
with ABitmap do
try
Assign(AImage);
{$IFDEF FPC}
aIntfImage := TLazIntfImage.Create(0,0);
aIntfImage.LoadFromBitmap(aBitmap.Handle, aBitmap.MaskHandle);
{$ENDIF}
// if bitmap image has less then 8 bit color, set PixelFormat to 8 bit.
if (PixelFormat = pf1bit) or
{$IFNDEF USE_CLX}
(PixelFormat = pf4bit) or
{$ENDIF}
(PixelFormat = pf8bit) then
PixelFormat := pf8bit
else
{$IFNDEF USE_CLX}
PixelFormat := pf24Bit;
{$ELSE}
PixelFormat := pf32Bit;
{$ENDIF}
// translate TBitmap object to pdf image format.
if PixelFormat = pf8bit then
begin
{$IFNDEF FPC}
for y := 0 to Height - 1 do
begin
pb := ScanLine[y];
Stream.Write(pb^, Width);
{$ELSE}
for y := 0 to aintfimage.Height - 1 do
begin
new(pb);
for x := 0 to aintfimage.Width-1 do
begin
aColor := aIntfImage.Colors[x,y];
{ kleurwaarden worden als 16bits waarden opgeslagen, we kappen er
dus 8 van af.
red is willekeurig genomen
}
pb^[x] := acolor.red shr 8;
end;
Stream.Write(pb^, Width);
dispose(pb);
{$ENDIF}
end;
Attributes.AddItem('ColorSpace', CreateIndexedColorArray(ABitmap));
end
else
begin
{$ifndef fpc}
for y := 0 to Height - 1 do
begin
pb := ScanLine[y];
x := 0;
while x < Width * PIXEL_COLOR_SIZE - 1 do
begin
b := pb[x];
pb[x] := pb[x+2];
pb[x+2] := b;
Stream.Write(pb[x], 3);
x := x + PIXEL_COLOR_SIZE;
end;
{$else}
for y := 0 to aintfimage.Height - 1 do
begin
new(pb);
for x := 0 to aintfimage.Width-1 do
begin
aColor := aIntfImage.Colors[x,y];
pb[ 0 ] := acolor.red shr 8;
pb[ 1 ] := acolor.green shr 8;
pb[ 2 ] := acolor.blue shr 8;
Stream.write(pb[ 0 ], 3);
end;
dispose(pb);
{$endif}
Attributes.AddItem('ColorSpace', TPdfName.CreateName('DeviceRGB'));
end;
end;
with Attributes do
begin
{$IFDEF FPC}
AddItem('Width', TPdfNumber.CreateNumber(aintfimage.Width));
AddItem('Height', TPdfNumber.CreateNumber(aintfimage.Height));
{$ELSE}
AddItem('Width', TPdfNumber.CreateNumber(abitmap.Width));
AddItem('Height', TPdfNumber.CreateNumber(abitmap.Height));
{$ENDIF}
AddItem('BitsPerComponent', TPdfNumber.CreateNumber(8));
if USE_ZLIB then
PdfArrayByName('Filter').AddItem(TPdfName.CreateName('FlateDecode'));
end;
finally
Free;
end;
{$IFDEF FPC}
aIntfImage.Free();
{$ENDIF}
except
result.Free;
raise;
end;
end;
initialization
{$IFDEF LAZ_POWERPDF}
PdfLazRegisterClassAlias(TPdfBitmapImage, 'Pdf-Bitmap');
{$ELSE}
RegisterClassAlias(TPdfBitmapImage, 'Pdf-Bitmap');
{$ENDIF}
finalization
UnRegisterClass(TPdfBitmapImage);
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,454 @@
{*
* << P o w e r P d f >> -- PdfJpCMap.pas
*
* << conversion routines from japanese charactor code to CID >>
*
* Copyright (c) 1999-2001 Takezou. <takeshi_kanno@est.hi-ho.ne.jp>
*
* 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.
*
* You should have received a copy of the GNU Library General Public License
* along with this library.
*
* Create 2001.04.16
*
*}
{$IFDEF LAZ_POWERPDF}
{$H+}
{$ENDIF}
unit PdfJpCMap;
interface
uses
SysUtils;
type
{*
* PdfCidRange
*}
TPdfCidRange = record
CFrom, CTo: integer;
CRange: integer;
end;
const
CMAP_90MS_RKSJ_H: array[0..170] of TPdfCidRange = (
(CFrom: $20; CTo: $7d; CRange: 231),
(CFrom: $7e; CTo: $7e; CRange: 631),
(CFrom: $8140; CTo: $817e; CRange: 633),
(CFrom: $8180; CTo: $81ac; CRange: 696),
(CFrom: $81b8; CTo: $81bf; CRange: 741),
(CFrom: $81c8; CTo: $81ce; CRange: 749),
(CFrom: $81da; CTo: $81e8; CRange: 756),
(CFrom: $81f0; CTo: $81f7; CRange: 771),
(CFrom: $81fc; CTo: $81fc; CRange: 779),
(CFrom: $824f; CTo: $8258; CRange: 780),
(CFrom: $8260; CTo: $8279; CRange: 790),
(CFrom: $8281; CTo: $829a; CRange: 816),
(CFrom: $829f; CTo: $82f1; CRange: 842),
(CFrom: $8340; CTo: $837e; CRange: 925),
(CFrom: $8380; CTo: $8396; CRange: 988),
(CFrom: $839f; CTo: $83b6; CRange: 1011),
(CFrom: $83bf; CTo: $83d6; CRange: 1035),
(CFrom: $8440; CTo: $8460; CRange: 1059),
(CFrom: $8470; CTo: $847e; CRange: 1092),
(CFrom: $8480; CTo: $8491; CRange: 1107),
(CFrom: $849f; CTo: $849f; CRange: 7479),
(CFrom: $84a0; CTo: $84a0; CRange: 7481),
(CFrom: $84a1; CTo: $84a1; CRange: 7491),
(CFrom: $84a2; CTo: $84a2; CRange: 7495),
(CFrom: $84a3; CTo: $84a3; CRange: 7503),
(CFrom: $84a4; CTo: $84a4; CRange: 7499),
(CFrom: $84a5; CTo: $84a5; CRange: 7507),
(CFrom: $84a6; CTo: $84a6; CRange: 7523),
(CFrom: $84a7; CTo: $84a7; CRange: 7515),
(CFrom: $84a8; CTo: $84a8; CRange: 7531),
(CFrom: $84a9; CTo: $84a9; CRange: 7539),
(CFrom: $84aa; CTo: $84aa; CRange: 7480),
(CFrom: $84ab; CTo: $84ab; CRange: 7482),
(CFrom: $84ac; CTo: $84ac; CRange: 7494),
(CFrom: $84ad; CTo: $84ad; CRange: 7498),
(CFrom: $84ae; CTo: $84ae; CRange: 7506),
(CFrom: $84af; CTo: $84af; CRange: 7502),
(CFrom: $84b0; CTo: $84b0; CRange: 7514),
(CFrom: $84b1; CTo: $84b1; CRange: 7530),
(CFrom: $84b2; CTo: $84b2; CRange: 7522),
(CFrom: $84b3; CTo: $84b3; CRange: 7538),
(CFrom: $84b4; CTo: $84b4; CRange: 7554),
(CFrom: $84b5; CTo: $84b5; CRange: 7511),
(CFrom: $84b6; CTo: $84b6; CRange: 7526),
(CFrom: $84b7; CTo: $84b7; CRange: 7519),
(CFrom: $84b8; CTo: $84b8; CRange: 7534),
(CFrom: $84b9; CTo: $84b9; CRange: 7542),
(CFrom: $84ba; CTo: $84ba; CRange: 7508),
(CFrom: $84bb; CTo: $84bb; CRange: 7527),
(CFrom: $84bc; CTo: $84bc; CRange: 7516),
(CFrom: $84bd; CTo: $84bd; CRange: 7535),
(CFrom: $84be; CTo: $84be; CRange: 7545),
(CFrom: $8740; CTo: $875d; CRange: 7555),
(CFrom: $875f; CTo: $8760; CRange: 7585),
(CFrom: $8761; CTo: $8761; CRange: 8038),
(CFrom: $8762; CTo: $8762; CRange: 7588),
(CFrom: $8763; CTo: $8763; CRange: 8040),
(CFrom: $8764; CTo: $8764; CRange: 7590),
(CFrom: $8765; CTo: $8765; CRange: 8042),
(CFrom: $8766; CTo: $8767; CRange: 7592),
(CFrom: $8768; CTo: $8768; CRange: 8044),
(CFrom: $8769; CTo: $876a; CRange: 7595),
(CFrom: $876b; CTo: $876b; CRange: 8043),
(CFrom: $876c; CTo: $876d; CRange: 7598),
(CFrom: $876e; CTo: $876e; CRange: 8047),
(CFrom: $876f; CTo: $8775; CRange: 7601),
(CFrom: $877e; CTo: $877e; CRange: 8323),
(CFrom: $8780; CTo: $8783; CRange: 7608),
(CFrom: $8784; CTo: $8784; CRange: 8055),
(CFrom: $8785; CTo: $878f; CRange: 7613),
(CFrom: $8790; CTo: $8790; CRange: 762),
(CFrom: $8791; CTo: $8791; CRange: 761),
(CFrom: $8792; CTo: $8792; CRange: 769),
(CFrom: $8793; CTo: $8799; CRange: 7624),
(CFrom: $879a; CTo: $879a; CRange: 768),
(CFrom: $879b; CTo: $879c; CRange: 7631),
(CFrom: $889f; CTo: $88fc; CRange: 1125),
(CFrom: $8940; CTo: $897e; CRange: 1219),
(CFrom: $8980; CTo: $89fc; CRange: 1282),
(CFrom: $8a40; CTo: $8a7e; CRange: 1407),
(CFrom: $8a80; CTo: $8afc; CRange: 1470),
(CFrom: $8b40; CTo: $8b7e; CRange: 1595),
(CFrom: $8b80; CTo: $8bfc; CRange: 1658),
(CFrom: $8c40; CTo: $8c7e; CRange: 1783),
(CFrom: $8c80; CTo: $8cfc; CRange: 1846),
(CFrom: $8d40; CTo: $8d7e; CRange: 1971),
(CFrom: $8d80; CTo: $8dfc; CRange: 2034),
(CFrom: $8e40; CTo: $8e7e; CRange: 2159),
(CFrom: $8e80; CTo: $8efc; CRange: 2222),
(CFrom: $8f40; CTo: $8f7e; CRange: 2347),
(CFrom: $8f80; CTo: $8ffc; CRange: 2410),
(CFrom: $9040; CTo: $907e; CRange: 2535),
(CFrom: $9080; CTo: $90fc; CRange: 2598),
(CFrom: $9140; CTo: $917e; CRange: 2723),
(CFrom: $9180; CTo: $91fc; CRange: 2786),
(CFrom: $9240; CTo: $927e; CRange: 2911),
(CFrom: $9280; CTo: $92fc; CRange: 2974),
(CFrom: $9340; CTo: $937e; CRange: 3099),
(CFrom: $9380; CTo: $93fc; CRange: 3162),
(CFrom: $9440; CTo: $947e; CRange: 3287),
(CFrom: $9480; CTo: $94fc; CRange: 3350),
(CFrom: $9540; CTo: $957e; CRange: 3475),
(CFrom: $9580; CTo: $95fc; CRange: 3538),
(CFrom: $9640; CTo: $967e; CRange: 3663),
(CFrom: $9680; CTo: $96fc; CRange: 3726),
(CFrom: $9740; CTo: $977e; CRange: 3851),
(CFrom: $9780; CTo: $97fc; CRange: 3914),
(CFrom: $9840; CTo: $9872; CRange: 4039),
(CFrom: $989f; CTo: $98fc; CRange: 4090),
(CFrom: $9940; CTo: $997e; CRange: 4184),
(CFrom: $9980; CTo: $99fc; CRange: 4247),
(CFrom: $9a40; CTo: $9a7e; CRange: 4372),
(CFrom: $9a80; CTo: $9afc; CRange: 4435),
(CFrom: $9b40; CTo: $9b7e; CRange: 4560),
(CFrom: $9b80; CTo: $9bfc; CRange: 4623),
(CFrom: $9c40; CTo: $9c7e; CRange: 4748),
(CFrom: $9c80; CTo: $9cfc; CRange: 4811),
(CFrom: $9d40; CTo: $9d7e; CRange: 4936),
(CFrom: $9d80; CTo: $9dfc; CRange: 4999),
(CFrom: $9e40; CTo: $9e7e; CRange: 5124),
(CFrom: $9e80; CTo: $9efc; CRange: 5187),
(CFrom: $9f40; CTo: $9f7e; CRange: 5312),
(CFrom: $9f80; CTo: $9ffc; CRange: 5375),
(CFrom: $a0; CTo: $df; CRange: 326),
(CFrom: $e040; CTo: $e07e; CRange: 5500),
(CFrom: $e080; CTo: $e0fc; CRange: 5563),
(CFrom: $e140; CTo: $e17e; CRange: 5688),
(CFrom: $e180; CTo: $e1fc; CRange: 5751),
(CFrom: $e240; CTo: $e27e; CRange: 5876),
(CFrom: $e280; CTo: $e2fc; CRange: 5939),
(CFrom: $e340; CTo: $e37e; CRange: 6064),
(CFrom: $e380; CTo: $e3fc; CRange: 6127),
(CFrom: $e440; CTo: $e47e; CRange: 6252),
(CFrom: $e480; CTo: $e4fc; CRange: 6315),
(CFrom: $e540; CTo: $e57e; CRange: 6440),
(CFrom: $e580; CTo: $e5fc; CRange: 6503),
(CFrom: $e640; CTo: $e67e; CRange: 6628),
(CFrom: $e680; CTo: $e6fc; CRange: 6691),
(CFrom: $e740; CTo: $e77e; CRange: 6816),
(CFrom: $e780; CTo: $e7fc; CRange: 6879),
(CFrom: $e840; CTo: $e87e; CRange: 7004),
(CFrom: $e880; CTo: $e8fc; CRange: 7067),
(CFrom: $e940; CTo: $e97e; CRange: 7192),
(CFrom: $e980; CTo: $e9fc; CRange: 7255),
(CFrom: $ea40; CTo: $ea7e; CRange: 7380),
(CFrom: $ea80; CTo: $eaa2; CRange: 7443),
(CFrom: $eaa3; CTo: $eaa4; CRange: 8284),
(CFrom: $ed40; CTo: $ed7e; CRange: 8359),
(CFrom: $ed80; CTo: $edb3; CRange: 8422),
(CFrom: $edb4; CTo: $edb4; CRange: 1993),
(CFrom: $edb5; CTo: $edfc; CRange: 8474),
(CFrom: $ee40; CTo: $ee7e; CRange: 8546),
(CFrom: $ee80; CTo: $eeec; CRange: 8609),
(CFrom: $eeef; CTo: $eef8; CRange: 8092),
(CFrom: $eef9; CTo: $eef9; CRange: 751),
(CFrom: $eefa; CTo: $eefc; CRange: 8005),
(CFrom: $fa40; CTo: $fa49; CRange: 8092),
(CFrom: $fa4a; CTo: $fa53; CRange: 7575),
(CFrom: $fa54; CTo: $fa54; CRange: 751),
(CFrom: $fa55; CTo: $fa57; CRange: 8005),
(CFrom: $fa58; CTo: $fa58; CRange: 7618),
(CFrom: $fa59; CTo: $fa59; CRange: 7610),
(CFrom: $fa5a; CTo: $fa5a; CRange: 8055),
(CFrom: $fa5b; CTo: $fa5b; CRange: 768),
(CFrom: $fa5c; CTo: $fa7e; CRange: 8359),
(CFrom: $fa80; CTo: $facf; CRange: 8394),
(CFrom: $fad0; CTo: $fad0; CRange: 1993),
(CFrom: $fad1; CTo: $fafc; CRange: 8474),
(CFrom: $fb40; CTo: $fb7e; CRange: 8518),
(CFrom: $fb80; CTo: $fbfc; CRange: 8581),
(CFrom: $fc40; CTo: $fc4b; CRange: 8706));
CMAP_90MSP_RKSJ_H: array[0..170] of TPdfCidRange = (
(CFrom: $20; CTo: $7d; CRange: 1),
(CFrom: $7e; CTo: $7e; CRange: 631),
(CFrom: $8140; CTo: $817e; CRange: 633),
(CFrom: $8180; CTo: $81ac; CRange: 696),
(CFrom: $81b8; CTo: $81bf; CRange: 741),
(CFrom: $81c8; CTo: $81ce; CRange: 749),
(CFrom: $81da; CTo: $81e8; CRange: 756),
(CFrom: $81f0; CTo: $81f7; CRange: 771),
(CFrom: $81fc; CTo: $81fc; CRange: 779),
(CFrom: $824f; CTo: $8258; CRange: 780),
(CFrom: $8260; CTo: $8279; CRange: 790),
(CFrom: $8281; CTo: $829a; CRange: 816),
(CFrom: $829f; CTo: $82f1; CRange: 842),
(CFrom: $8340; CTo: $837e; CRange: 925),
(CFrom: $8380; CTo: $8396; CRange: 988),
(CFrom: $839f; CTo: $83b6; CRange: 1011),
(CFrom: $83bf; CTo: $83d6; CRange: 1035),
(CFrom: $8440; CTo: $8460; CRange: 1059),
(CFrom: $8470; CTo: $847e; CRange: 1092),
(CFrom: $8480; CTo: $8491; CRange: 1107),
(CFrom: $849f; CTo: $849f; CRange: 7479),
(CFrom: $84a0; CTo: $84a0; CRange: 7481),
(CFrom: $84a1; CTo: $84a1; CRange: 7491),
(CFrom: $84a2; CTo: $84a2; CRange: 7495),
(CFrom: $84a3; CTo: $84a3; CRange: 7503),
(CFrom: $84a4; CTo: $84a4; CRange: 7499),
(CFrom: $84a5; CTo: $84a5; CRange: 7507),
(CFrom: $84a6; CTo: $84a6; CRange: 7523),
(CFrom: $84a7; CTo: $84a7; CRange: 7515),
(CFrom: $84a8; CTo: $84a8; CRange: 7531),
(CFrom: $84a9; CTo: $84a9; CRange: 7539),
(CFrom: $84aa; CTo: $84aa; CRange: 7480),
(CFrom: $84ab; CTo: $84ab; CRange: 7482),
(CFrom: $84ac; CTo: $84ac; CRange: 7494),
(CFrom: $84ad; CTo: $84ad; CRange: 7498),
(CFrom: $84ae; CTo: $84ae; CRange: 7506),
(CFrom: $84af; CTo: $84af; CRange: 7502),
(CFrom: $84b0; CTo: $84b0; CRange: 7514),
(CFrom: $84b1; CTo: $84b1; CRange: 7530),
(CFrom: $84b2; CTo: $84b2; CRange: 7522),
(CFrom: $84b3; CTo: $84b3; CRange: 7538),
(CFrom: $84b4; CTo: $84b4; CRange: 7554),
(CFrom: $84b5; CTo: $84b5; CRange: 7511),
(CFrom: $84b6; CTo: $84b6; CRange: 7526),
(CFrom: $84b7; CTo: $84b7; CRange: 7519),
(CFrom: $84b8; CTo: $84b8; CRange: 7534),
(CFrom: $84b9; CTo: $84b9; CRange: 7542),
(CFrom: $84ba; CTo: $84ba; CRange: 7508),
(CFrom: $84bb; CTo: $84bb; CRange: 7527),
(CFrom: $84bc; CTo: $84bc; CRange: 7516),
(CFrom: $84bd; CTo: $84bd; CRange: 7535),
(CFrom: $84be; CTo: $84be; CRange: 7545),
(CFrom: $8740; CTo: $875d; CRange: 7555),
(CFrom: $875f; CTo: $8760; CRange: 7585),
(CFrom: $8761; CTo: $8761; CRange: 8038),
(CFrom: $8762; CTo: $8762; CRange: 7588),
(CFrom: $8763; CTo: $8763; CRange: 8040),
(CFrom: $8764; CTo: $8764; CRange: 7590),
(CFrom: $8765; CTo: $8765; CRange: 8042),
(CFrom: $8766; CTo: $8767; CRange: 7592),
(CFrom: $8768; CTo: $8768; CRange: 8044),
(CFrom: $8769; CTo: $876a; CRange: 7595),
(CFrom: $876b; CTo: $876b; CRange: 8043),
(CFrom: $876c; CTo: $876d; CRange: 7598),
(CFrom: $876e; CTo: $876e; CRange: 8047),
(CFrom: $876f; CTo: $8775; CRange: 7601),
(CFrom: $877e; CTo: $877e; CRange: 8323),
(CFrom: $8780; CTo: $8783; CRange: 7608),
(CFrom: $8784; CTo: $8784; CRange: 8055),
(CFrom: $8785; CTo: $878f; CRange: 7613),
(CFrom: $8790; CTo: $8790; CRange: 762),
(CFrom: $8791; CTo: $8791; CRange: 761),
(CFrom: $8792; CTo: $8792; CRange: 769),
(CFrom: $8793; CTo: $8799; CRange: 7624),
(CFrom: $879a; CTo: $879a; CRange: 768),
(CFrom: $879b; CTo: $879c; CRange: 7631),
(CFrom: $889f; CTo: $88fc; CRange: 1125),
(CFrom: $8940; CTo: $897e; CRange: 1219),
(CFrom: $8980; CTo: $89fc; CRange: 1282),
(CFrom: $8a40; CTo: $8a7e; CRange: 1407),
(CFrom: $8a80; CTo: $8afc; CRange: 1470),
(CFrom: $8b40; CTo: $8b7e; CRange: 1595),
(CFrom: $8b80; CTo: $8bfc; CRange: 1658),
(CFrom: $8c40; CTo: $8c7e; CRange: 1783),
(CFrom: $8c80; CTo: $8cfc; CRange: 1846),
(CFrom: $8d40; CTo: $8d7e; CRange: 1971),
(CFrom: $8d80; CTo: $8dfc; CRange: 2034),
(CFrom: $8e40; CTo: $8e7e; CRange: 2159),
(CFrom: $8e80; CTo: $8efc; CRange: 2222),
(CFrom: $8f40; CTo: $8f7e; CRange: 2347),
(CFrom: $8f80; CTo: $8ffc; CRange: 2410),
(CFrom: $9040; CTo: $907e; CRange: 2535),
(CFrom: $9080; CTo: $90fc; CRange: 2598),
(CFrom: $9140; CTo: $917e; CRange: 2723),
(CFrom: $9180; CTo: $91fc; CRange: 2786),
(CFrom: $9240; CTo: $927e; CRange: 2911),
(CFrom: $9280; CTo: $92fc; CRange: 2974),
(CFrom: $9340; CTo: $937e; CRange: 3099),
(CFrom: $9380; CTo: $93fc; CRange: 3162),
(CFrom: $9440; CTo: $947e; CRange: 3287),
(CFrom: $9480; CTo: $94fc; CRange: 3350),
(CFrom: $9540; CTo: $957e; CRange: 3475),
(CFrom: $9580; CTo: $95fc; CRange: 3538),
(CFrom: $9640; CTo: $967e; CRange: 3663),
(CFrom: $9680; CTo: $96fc; CRange: 3726),
(CFrom: $9740; CTo: $977e; CRange: 3851),
(CFrom: $9780; CTo: $97fc; CRange: 3914),
(CFrom: $9840; CTo: $9872; CRange: 4039),
(CFrom: $989f; CTo: $98fc; CRange: 4090),
(CFrom: $9940; CTo: $997e; CRange: 4184),
(CFrom: $9980; CTo: $99fc; CRange: 4247),
(CFrom: $9a40; CTo: $9a7e; CRange: 4372),
(CFrom: $9a80; CTo: $9afc; CRange: 4435),
(CFrom: $9b40; CTo: $9b7e; CRange: 4560),
(CFrom: $9b80; CTo: $9bfc; CRange: 4623),
(CFrom: $9c40; CTo: $9c7e; CRange: 4748),
(CFrom: $9c80; CTo: $9cfc; CRange: 4811),
(CFrom: $9d40; CTo: $9d7e; CRange: 4936),
(CFrom: $9d80; CTo: $9dfc; CRange: 4999),
(CFrom: $9e40; CTo: $9e7e; CRange: 5124),
(CFrom: $9e80; CTo: $9efc; CRange: 5187),
(CFrom: $9f40; CTo: $9f7e; CRange: 5312),
(CFrom: $9f80; CTo: $9ffc; CRange: 5375),
(CFrom: $a0; CTo: $df; CRange: 326),
(CFrom: $e040; CTo: $e07e; CRange: 5500),
(CFrom: $e080; CTo: $e0fc; CRange: 5563),
(CFrom: $e140; CTo: $e17e; CRange: 5688),
(CFrom: $e180; CTo: $e1fc; CRange: 5751),
(CFrom: $e240; CTo: $e27e; CRange: 5876),
(CFrom: $e280; CTo: $e2fc; CRange: 5939),
(CFrom: $e340; CTo: $e37e; CRange: 6064),
(CFrom: $e380; CTo: $e3fc; CRange: 6127),
(CFrom: $e440; CTo: $e47e; CRange: 6252),
(CFrom: $e480; CTo: $e4fc; CRange: 6315),
(CFrom: $e540; CTo: $e57e; CRange: 6440),
(CFrom: $e580; CTo: $e5fc; CRange: 6503),
(CFrom: $e640; CTo: $e67e; CRange: 6628),
(CFrom: $e680; CTo: $e6fc; CRange: 6691),
(CFrom: $e740; CTo: $e77e; CRange: 6816),
(CFrom: $e780; CTo: $e7fc; CRange: 6879),
(CFrom: $e840; CTo: $e87e; CRange: 7004),
(CFrom: $e880; CTo: $e8fc; CRange: 7067),
(CFrom: $e940; CTo: $e97e; CRange: 7192),
(CFrom: $e980; CTo: $e9fc; CRange: 7255),
(CFrom: $ea40; CTo: $ea7e; CRange: 7380),
(CFrom: $ea80; CTo: $eaa2; CRange: 7443),
(CFrom: $eaa3; CTo: $eaa4; CRange: 8284),
(CFrom: $ed40; CTo: $ed7e; CRange: 8359),
(CFrom: $ed80; CTo: $edb3; CRange: 8422),
(CFrom: $edb4; CTo: $edb4; CRange: 1993),
(CFrom: $edb5; CTo: $edfc; CRange: 8474),
(CFrom: $ee40; CTo: $ee7e; CRange: 8546),
(CFrom: $ee80; CTo: $eeec; CRange: 8609),
(CFrom: $eeef; CTo: $eef8; CRange: 8092),
(CFrom: $eef9; CTo: $eef9; CRange: 751),
(CFrom: $eefa; CTo: $eefc; CRange: 8005),
(CFrom: $fa40; CTo: $fa49; CRange: 8092),
(CFrom: $fa4a; CTo: $fa53; CRange: 7575),
(CFrom: $fa54; CTo: $fa54; CRange: 751),
(CFrom: $fa55; CTo: $fa57; CRange: 8005),
(CFrom: $fa58; CTo: $fa58; CRange: 7618),
(CFrom: $fa59; CTo: $fa59; CRange: 7610),
(CFrom: $fa5a; CTo: $fa5a; CRange: 8055),
(CFrom: $fa5b; CTo: $fa5b; CRange: 768),
(CFrom: $fa5c; CTo: $fa7e; CRange: 8359),
(CFrom: $fa80; CTo: $facf; CRange: 8394),
(CFrom: $fad0; CTo: $fad0; CRange: 1993),
(CFrom: $fad1; CTo: $fafc; CRange: 8474),
(CFrom: $fb40; CTo: $fb7e; CRange: 8518),
(CFrom: $fb80; CTo: $fbfc; CRange: 8581),
(CFrom: $fc40; CTo: $fc4b; CRange: 8706));
function CharToCMap_90MS_RKSJ_H(S: string; Index: integer): integer;
function CharToCMap_90MSP_RKSJ_H(S: string; Index: integer): integer;
implementation
{ CharToCMap_90MS_RKSJ_H }
function CharToCMap_90MS_RKSJ_H(S: string; Index: integer): integer;
var
i: integer;
C: integer;
begin
C := 0;
result := 0;
case ByteType(S, Index) of
mbSingleByte: C := Integer(S[Index]);
mbLeadByte: C := Integer(S[Index])*256 + Integer(S[Index+1]);
mbTrailByte:
begin
result := -1;
Exit;
end;
end;
for i := 0 to High(CMAP_90MS_RKSJ_H) - 1 do
begin
with CMAP_90MS_RKSJ_H[i] do
if (C <= CTo) and (C >= CFrom) then
begin
result := CRange + (C - CFrom);
Break;
end;
end;
end;
{ CharToCMap_90MS_RKSJ_H }
function CharToCMap_90MSP_RKSJ_H(S: string; Index: integer): integer;
var
i: integer;
C: integer;
begin
C := 0;
result := 0;
case ByteType(S, Index) of
mbSingleByte: C := Integer(S[Index]);
mbLeadByte: C := Integer(S[Index])*256 + Integer(S[Index+1]);
mbTrailByte:
begin
result := -1;
Exit;
end;
end;
for i := 0 to High(CMAP_90MSP_RKSJ_H) do
begin
with CMAP_90MSP_RKSJ_H[i] do
if (C <= CTo) and (C >= CFrom) then
begin
result := CRange + (C - CFrom);
Break;
end;
end;
end;
end.

View File

@ -0,0 +1,83 @@
{*
* << P o w e r P d f >> -- PdfJpegImage.pas
*
* Copyright (c) 1999-2001 Takezou. <takeshi_kanno@est.hi-ho.ne.jp>
*
* 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.
*
* You should have received a copy of the GNU Library General Public License
* along with this library.
*
* 2001.06.14 create
* 2001.09.07 changes the implementation of TPdfImageCreator.
*
*}
unit PdfJpegImage;
interface
uses
SysUtils, Classes, Graphics, PdfTypes, PdfDoc, PdfImages
{$IFDEF LAZ_POWERPDF}
{$ELSE}
,JPEG
{$ENDIF}
;
type
{ TPdfJpegImage }
TPdfJpegImage = class(TPdfImageCreator)
public
function CreateImage(AImage: TGraphic): TPdfImage; override;
end;
implementation
// CreateImage
function TPdfJpegImage.CreateImage(AImage: TGraphic): TPdfImage;
begin
// check whether specified graphic is valid image.
if not (AImage is TJpegImage) then
raise EPdfInvalidValue.Create('only jpeg image is allowed.');
result := TPdfImage.CreateStream(nil);
with result do
try
TJpegImage(AImage).SaveToStream(Stream);
with Attributes do
begin
AddItem('Type', TPdfName.CreateName('XObject'));
AddItem('Subtype', TPdfName.CreateName('Image'));
AddItem('ColorSpace', TPdfName.CreateName('DeviceRGB'));
AddItem('Width', TPdfNumber.CreateNumber(AImage.Width));
AddItem('Height', TPdfNumber.CreateNumber(AImage.Height));
AddItem('BitsPerComponent', TPdfNumber.CreateNumber(8));
PdfArrayByName('Filter').AddItem(TPdfName.CreateName('DCTDecode'));
end;
except
result.Free;
raise;
end;
end;
initialization
{$IFDEF LAZ_POWERPDF}
PdfLazRegisterClassAlias(TPdfJpegImage, 'Pdf-Jpeg');
{$ELSE}
RegisterClassAlias(TPdfJpegImage, 'Pdf-Jpeg');
{$ENDIF}
finalization
UnRegisterClass(TPdfJpegImage);
end.

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More