var
oPDF: TsgcPDFDocument;
oPage: TsgcPDFPage;
begin
oPDF := TsgcPDFDocument.Create;
try
oPDF.Info.Title := 'Hello sgcPDF';
oPage := oPDF.AddPage(595, 842);
oPage.DrawTextColor('Hello sgcPDF', 50, 780, sfHelveticaBold, 24, 0, 0.2, 0.6);
oPage.DrawLine(50, 770, 545, 770, 1.5);
oPage.DrawText('A PDF written in pure Pascal.', 50, 740, sfHelvetica, 12);
oPDF.SetEncryption(emAES_256, 'user123', 'owner456');
oPDF.SaveToFile('hello.pdf');
finally
oPDF.Free;
end;
end;
var
oSigner: TsgcPDFSignatureHandler;
begin
oSigner := TsgcPDFSignatureHandler.Create;
try
oSigner.LoadCertificateFromPFX('signer.pfx', 'test123');
oSigner.Reason := 'Document approval';
oSigner.Location := 'Barcelona';
oSigner.HashAlgorithm := shaSHA256;
oSigner.SetField('Signature1', 0, 50, 50, 250, 100);
oSigner.SignDocument('contract.pdf', 'contract-signed.pdf');
finally
oSigner.Free;
end;
end;
var
oPDF: TsgcPDFDocument;
oRenderer: TsgcPDFRendererRaster;
oPage: TsgcPDFPage;
begin
oPDF := TsgcPDFDocument.Create;
try
oPDF.LoadFromFile('report.pdf');
oPage := oPDF.Pages[0];
oRenderer := TsgcPDFRendererRaster.Create;
try
oRenderer.RenderPageToPNG(oPDF.Parser, oPage.PageDict,
Round(oPage.Width * 150 / 72), Round(oPage.Height * 150 / 72),
'page1.png');
finally
oRenderer.Free;
end;
finally
oPDF.Free;
end;
end;