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

posted @ 2022-04-06 17:12  txgh  阅读(1305)  评论(0编辑  收藏  举报