source upload
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
program SynPdfFormCanvas;
|
||||
|
||||
{$APPTYPE CONSOLE}
|
||||
|
||||
uses
|
||||
{$I SynDprUses.inc} // use FastMM4 on older Delphi, or set FPC threads
|
||||
SysUtils,
|
||||
Math,
|
||||
DateUtils,
|
||||
SynCommons,
|
||||
SynPDF;
|
||||
|
||||
const
|
||||
PDFFactor: Single = 72.0 / 2.54;
|
||||
|
||||
var
|
||||
obPDF: TPdfDocument;
|
||||
obFormCanvas: TPdfFormWithCanvas;
|
||||
|
||||
begin
|
||||
obPDF := TPdfDocument.Create(false,0,false);
|
||||
obPDF.GeneratePDF15File := true;
|
||||
obPDF.DefaultPaperSize := psA4;
|
||||
obPDF.DefaultPageLandscape := false;
|
||||
obPDF.CompressionMethod := cmFlateDecode;
|
||||
|
||||
obFormCanvas := TPdfFormWithCanvas.Create(obPDF,Trunc(5.0*PDFFactor),Trunc(5.0*PDFFactor));
|
||||
obPDF.AddXObject('FORMOBJECT',obFormCanvas);
|
||||
|
||||
obFormCanvas.Canvas.SetTextRenderingMode(trFill);
|
||||
obFormCanvas.Canvas.SetFont('Arial',10.0,[]);
|
||||
|
||||
obFormCanvas.Canvas.SetLineWidth(0.01*PDFFactor);
|
||||
|
||||
obFormCanvas.Canvas.Rectangle(0.0*PDFFactor,0.0*PDFFactor,4.9*PDFFactor,4.9*PDFFactor);
|
||||
obFormCanvas.Canvas.Stroke;
|
||||
|
||||
obFormCanvas.Canvas.TextOut(1.0*PDFFactor,2.5*PDFFactor,'form text');
|
||||
|
||||
obFormCanvas.CloseCanvas;
|
||||
|
||||
obPDF.AddPage;
|
||||
|
||||
obPDF.Canvas.SetTextRenderingMode(trFill);
|
||||
obPDF.Canvas.SetFont('Arial',10.0,[]);
|
||||
|
||||
obPDF.Canvas.SetLineWidth(0.01*PDFFactor);
|
||||
|
||||
obPDF.Canvas.Rectangle(1.0*PDFFactor,1.0*PDFFactor,19.0*PDFFactor,27.9*PDFFactor);
|
||||
obPDF.Canvas.Stroke;
|
||||
|
||||
obPDF.Canvas.TextOut(2.0*PDFFactor,27.0*PDFFactor,'XObject form canvas sample');
|
||||
|
||||
obPDF.Canvas.DrawXObject(2.0*PDFFactor,5.0*PDFFactor,1.0,1.0,'FORMOBJECT');
|
||||
obPDF.Canvas.DrawXObject(10.0*PDFFactor,10.0*PDFFactor,1.0,0.5,'FORMOBJECT');
|
||||
obPDF.Canvas.DrawXObject(8.0*PDFFactor,15.0*PDFFactor,2.0,2.0,'FORMOBJECT');
|
||||
obPDF.Canvas.DrawXObject(2.0*PDFFactor,20.0*PDFFactor,0.5,1.0,'FORMOBJECT');
|
||||
|
||||
obPDF.SaveToFile(ChangeFileExt(ExeVersion.ProgramFileName,'.pdf'));
|
||||
|
||||
FreeAndNil(obPDF);
|
||||
end.
|
Reference in New Issue
Block a user