delphi SynPDF 介紹
阿新 • • 發佈:2022-04-06
SynPDF
介紹
概述
Synopse PDF 引擎是一個功能齊全的開源 PDF 文件建立庫,用於 Delphi 和 FPC,嵌入在一個單元中。
被用於 mORMot 框架 中,用於從生成的報告建立 PDF 檔案。如果下載整個 mORMot 原始碼,則不需要這個單獨的包。
特徵
- 純 Delphi 程式碼,沒有外部 .dll,並且為您的可執行檔案添加了非常小的程式碼大小;
- 針對Delphi 6及以上版本,包括Unicode版本的Delphi和最新版本的FPC,適用於Win32和Win64平臺,並提供完整的原始碼;
- 包括大多數向量繪圖命令,包括文字、線條或曲線;
- 渲染點陣圖和圖元檔案(即使是大多數具有剪輯和區域功能的 .emf 檔案);
- 引入元資料、書籤和大綱資訊;
- 生成非常小的 .pdf 檔案;
- 可選擇使用 40 位或 128 位金鑰加密和保護 .pdf 內容;
- 以低記憶體開銷快速生成檔案(用數千頁測試);
- 訪問一個真正的 VCL TCanvas 例項來建立 PDF 內容;
- 可選擇嵌入 True Type 字型子集;
- Unicode 就緒,即使使用 Unicode 之前的 Delphi 版本,包括高階 Uniscribe 字形底紋和字型回退;
- 可以釋出PDF/A-1存檔檔案;
- 用於許多應用程式,並定期進行增強,主要來自活躍的終端使用者;
- 根據 MPL/GPL/LGPL 三項許可 獲得許可。
呼叫方法
事實上,至少有三種使用該庫生成 pdf 的方法:
-
直接呼叫 由
TPdfDocument
例項釋出的TPdfCanvas
——這是最直接但也更困難的渲染方式; -
使用常規 VCL
TCanvas
方法 由於TMetaFile
支援 - 參見TPdfDocumentGDI.VCLCanvas
屬性和TPdfCanvas.RenderMetaFile
方法 - 如果你想使用“常規”TCanvas
方法來繪製頁面內容,這很容易,特別是如果您有一些現有的列印程式碼; -
使用提供的
mORMotReport.pas
單元的TGDIPages
(從我們的 mORMot ORM/SOA 框架中提取)輕鬆地從程式碼建立內容,使用一些面向報告的方法(包括複雜的 rtf 和TGDIPages.AppendRichEdit
對於大多數應用程式,首選第 2 和第 3 種方式。
幫助文件
https://synopse.info/files/html/api-1.18/SynPdf.html
主要類
TPdfDocument
TPdfDocument = class(TObject);
PDF引擎的主類,處理整個PDF文件。
unit
SynPdf
TPdfDocumentGDI
TPdfDocumentGDI = class(TPdfDocument);
使用 GDI 命令建立PDF文件的類,此類允許使用VCL標準Canvas
類,還直接從 TMetaFile
內容處理PDF建立。
unit
SynPdf
TPdfPage
TPdfPage = class(TPdfDictionary);
PDF頁面。
unit
SynPdf
TPdfInfo
TPdfInfo = class(TPdfDictionaryWrapper);
PDF文件資訊欄位的字典包裝類,所有值都使用通用VCL字串型別,如有必要,將被編碼為Unicode。
unit
SynPdf
TPdfOutlineEntry
TPdfOutlineEntry = class(TPdfDictionaryWrapper);
PDF文件中的大綱條目。
unit
SynPdf
TPdfEncryption
TPdfEncryption = class(TObject);
處理PDF安全性的抽象類。
unit
SynPdf