1. 程式人生 > 其它 >delphi SynPDF 介紹

delphi SynPDF 介紹

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