Synopse PDF engine is a fully featured Open Source PDF document creation library for Delphi, embedded in one unit
Synopse PDF engine is a fully featured Open Source PDF document creation library for Delphi and FPC, embedded in one unit.
It's used e.g. in our mORMot framework, for creating PDF files from generated reports. But you can use it stand-alone, without our main ORM/SOA framework.
If you download the whole mORMot source code, you do not need this separate package: ensure you get rid of any existing separated SynPDF installation, and use the PDF units as available in the main mORMot trunk. This SynPDF distribution/GitHub account targets only people needing PDF writing, without other mORMot features, under Delphi (some files may be missing for FPC).
If you plan using any part of the framework (e.g. SynLog, SynDB or the ORM/SOA), don't use this repository, but use the main mORMot framework. Having the two repositories on the same environement may be a source of unexpected version conflict. Just use and trust the main mORMot repository, which will be updated much more often.
In fact, you have at least three ways of generating pdfs using the library: * Directly call of a
TPdfCanvasas published by a
TPdfDocumentinstance - this is the most direct but also more difficult way of rendering; * Use regular VCL
TCanvasmethods thanks to
TMetaFilesupport - see
TPdfDocumentGDI.VCLCanvasproperty and the
TPdfCanvas.RenderMetaFilemethod - this is very easy if you want to use "regular"
TCanvasmethods to draw the page content, especially if you have some existing printing code; * Use
TGDIPagesof the supplied
mORMotReport.pasunit (extracted from our mORMot ORM/SOA framework) to easily create the content from code, with some report-oriented methods (including complex rtf with
TGDIPages.AppendRichEdit) - for basic reporting features, it is pretty much the solution.
The 2nd and 3rd ways are preferred, for most applications.
Some users did fork the project, and add some nice features, useful for some particular needs, but which were not merged yet to ease maintenance and ensure backward compatibility.
For detailed documentation of the unit, see the corresponding pages in the "Software Architecture Document" of mORMot official documentation, or directly in the interface part of the unit, as methods comments.
Including the report generation pages within the "SynFile Main Demo" description.
A blog is available at http://blog.synopse.info, and will notify any evolution of this component.
A forum is dedicated to this component, and is available on https://synopse.info
This is the main entry point for support: first search for an existing answer, then ask your question in a new thread.