fcl-pdf
From Lazarus wiki
Jump to navigationJump to searchAbout
fcl-pdf is PDF implementation.
The PDF generator has the following features:
- Support for basic shapes.
- Support for basic line styles.
- Dictionary support.
- Multi-page PDF.
- Image support.
- TTF Font support.
- Font embedding.
- Unicode font support.
- Stream Compression.
- Image embedding.
- Several paper types.
- Portrait/Landscape.
- Support for multiple units.
- Rotation matrix system.
- PDF creator information.
- Output validates by several PDF validators.
Contains units:
- fppdf
- fpparsettf
- fpttf
- fpttfencodings
Examples
Writing few lines, without embedded fonts
Example by forum member Moritz, fixed by member paweld. Code disables embedding of fonts into PDF.
procedure TMainForm.TestButtonClick(Sender: TObject);
var
FontID, FontBoldID: Integer;
Document: TPDFDocument;
Section: TPDFSection;
Page: TPDFPage;
begin
Document := TPDFDocument.Create(nil);
Document.FontDirectory := 'C:\Windows\Fonts';
Document.StartDocument;
FontID := Document.AddFont('arial.ttf', 'Arial');
FontBoldID := Document.AddFont('arialbd.ttf', 'Arial Bold');
Document.Options := Document.Options + [poPageOriginAtTop, poNoEmbeddedFonts];
Section := Document.Sections.AddSection;
Page := Document.Pages.AddPage;
Section.AddPage(Page);
Page.SetFont(FontID, 11);
Page.WriteText(20, 20, 'This is normal text');
Page.SetFont(FontBoldID, 11);
Page.WriteText(20, 30, 'This is bold text');
Document.SaveToFile('output.pdf');
end;