Delphi 7 到 13 与 C++ Builder 无 DLL

sgcPDF,面向 Delphi 与 C++ Builder 的纯 Pascal PDF 库

使用完全用 Object Pascal 编写的组件来创建、编辑、查看、渲染、提取、加密、签名、润饰以及验证 PDF 文件。无需部署任何 DLL,也无需外部 PDF 引擎:解析器、写入器、字体、图像解码器、渲染器和加密都编译进您的应用程序。核心代码可在 Windows、Linux、macOS、iOS 和 Android 上运行,并提供 VCL 查看器控件、FireMonkey 查看器以及面向服务器的光栅渲染器。附带完整源代码。

完整源代码
Windows, Linux, macOS, iOS & Android
Delphi 7 → 13, C++ Builder
零外部依赖
15 个组件 sgcPDF_*.pas PDF 1.0 到 2.0,支持读写,纯 Object Pascal 实现。
创建 TsgcPDFDocument
编辑 TsgcPDFEditor
查看 TsgcPDFViewerControl
提取 TsgcPDFTextExtractor
签名 PAdES B-B to B-LTA
PDF/A & PDF/UA TsgcPDFAValidator
润饰 TsgcPDFRedactor
15 面板组件 文档、编辑器、查看器、提取器、签名
0 需部署的 DLL 解析器、渲染器、字体和加密均用 Pascal 实现
5 操作系统 Windows, Linux, macOS, iOS, Android
6 PDF/A 合规级别 PDF/A-1、2 和 3,a 与 b 级别,以及 PDF/UA-1

先了解三件事

目标机器上无需安装任何内容

sgcPDF 不封装 PDFium、Ghostscript、COM 服务器或其他任何本机库。解析、写入、字体嵌入与子集化、图像解码、渲染、加密以及签名均在 sgcPDF_*.pas 单元中实现,因此您的可执行文件就是完整的部署。

核心单元不依赖 VCL 或 FMX,因此同一份代码可在控制台工具、Windows 服务、Linux 守护进程或 Web 服务器中运行。

平台范围

哪些部分在哪里运行

创建、编辑、文本与图像提取、表单、加密、签名、润饰、PDF/A 以及光栅渲染器均可为 Windows 与 Linux64,以及 macOS、iOS 和 Android 编译。GDI 渲染器、导出器和 VCL 查看器控件仅限 Windows,而 TsgcPDFViewerFMX 支持 Windows、macOS、iOS 和 Android。

高级签名

通过 sgcSign 实现 PAdES,内置基础签名

sgcPDF 可仅凭证书自行对 PDF 文件进行签名与验证(PFX 证书)。对于 PAdES 基线级别 B-B、B-T、B-LT 和 B-LTA,以及保存在智能卡、Windows 证书存储或云 HSM 中的密钥,可选的 TsgcPDFPAdESSigner 桥接会使用 sgcSign(单独授权)的密钥提供者。

一个库覆盖整个 PDF 生命周期

从您编写的第一页开始,到交付经过签名、归档和润饰的最终文件,每一步都在同一个 Object Pascal 代码库中运行。

创建:从代码、HTML 或画布生成文档

页面、14 种标准字体或嵌入式/子集化的 TrueType 和 OpenType 字体文本、图像(JPEG、PNG、BMP、TIFF)、线条、曲线、渐变、跨页流布的表格、条形码与二维码、注释、书签以及可选内容层。TsgcPDFHTMLRenderer 可将带 CSS 的 HTML 转换为分页 PDF,TsgcPDFCanvas 与 EMF 回放可转换现有绘图代码。

查看功能 →

编辑:修改不是您创建的文件

水印、页眉/页脚、页码与盖章、合并与拆分、提取、插入、删除、旋转以及重新排序页面。增量保存会在原文件上追加新修订版本,使之前的签名保持有效。

查看功能 →

查看与渲染:VCL 与 FMX 查看器,加上服务器渲染器

带缩略图、大纲、文本选择、搜索、表单填写与打印功能的 VCL 查看器控件,适用于 Windows、macOS、iOS 和 Android 的 FireMonkey 查看器,以及无需 GDI、可在 Windows 和 Linux 服务器上将页面转为 PNG 的纯 Pascal 光栅渲染器。

查看功能 →

提取:文本、位置与图像

按页或整个文档的纯文本、带坐标、字体和字号的文本片段,以及页面图像解码为 PNG、JPEG 或 BMP。解码器支持 Flate、LZW、ASCII85、RunLength、JPEG(基本与渐进)、JPEG 2000、CCITT G3/G4 以及 JBIG2。

查看功能 →

安全与签名:加密、签名、润饰

RC4 40/128、AES-128 与 AES-256 密码加密,证书(公钥)加密,带可见字段与时间戳的数字签名,通过 sgcSign 桥接实现的 PAdES B-B、B-T、B-LT 和 B-LTA,签名验证,以及真正删除内容而非仅仅遮盖的润饰功能。

查看功能 →

合规:PDF/A、PDF/UA、标记 PDF、Factur-X

具有内置验证器的 a/b 级别 PDF/A-1、PDF/A-2 与 PDF/A-3 输出,带结构树与替代文本的标记 PDF,PDF/UA-1 检查,带 PDF/A-3 关系的嵌入文件,以及 Factur-X、ZUGFeRD 和 XRechnung 电子发票嵌入。

查看功能 →

几行 Delphi 代码

本页面上的每个示例都取自一个针对 sgcPDF 源码编译并运行过的程序。坐标以 PDF 点(1/72 英寸)为单位,原点位于页面左下角。

procedure CreateHelloPDF(const AFileName: string);
var
  oPDF: TsgcPDFDocument;
  oPage: TsgcPDFPage;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.Info.Title := 'Hello sgcPDF';
    // A4 portrait: 595 x 842 points, origin at the bottom left corner
    oPage := oPDF.AddPage(595, 842);
    oPage.DrawTextColor('Hello sgcPDF', 50, 780, sfHelveticaBold, 24, 0, 0.2, 0.6);
    oPage.DrawLine(50, 770, 545, 770, 1.5);
    oPage.DrawText('A PDF written in pure Pascal.', 50, 740, sfHelvetica, 12);
    oPDF.SaveToFile(AFileName);
  finally
    oPDF.Free;
  end;
end;
procedure StampExistingPDF(const AInput, AOutput: string);
var
  oEditor: TsgcPDFEditor;
  oWatermark: TsgcPDFWatermarkOptions;
begin
  oEditor := TsgcPDFEditor.Create;
  try
    oEditor.LoadFromFile(AInput);
    oWatermark.Text := 'CONFIDENTIAL';
    oWatermark.Font := sfHelveticaBold;
    oWatermark.FontSize := 48;
    oWatermark.Rotation := 45;
    oWatermark.Opacity := 0.3;
    oWatermark.R := 0.5;
    oWatermark.G := 0.5;
    oWatermark.B := 0.5;
    oEditor.AddWatermarkAllPages(oWatermark);
    oEditor.AddPageNumbers(sfHelvetica, 10, 'Page %d of %d');
    oEditor.SaveToFile(AOutput);
  finally
    oEditor.Free;
  end;
end;
procedure PrintAllText(const AFileName: string);
var
  oPDF: TsgcPDFDocument;
  i: Integer;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.LoadFromFile(AFileName);
    for i := 0 to oPDF.PageCount - 1 do
      WriteLn(string(oPDF.ExtractTextW(i)));
  finally
    oPDF.Free;
  end;
end;
procedure RenderPageToPNG(const APDFFile, APNGFile: string; ADPI: Integer);
var
  oPDF: TsgcPDFDocument;
  oRenderer: TsgcPDFRendererRaster;
  oPage: TsgcPDFPage;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.LoadFromFile(APDFFile);
    oPage := oPDF.Pages[0];
    // pure Pascal rasterizer: no GDI, runs on Windows and Linux servers
    oRenderer := TsgcPDFRendererRaster.Create;
    try
      oRenderer.RenderPageToPNG(oPDF.Parser, oPage.PageDict,
        Round(oPage.Width * ADPI / 72), Round(oPage.Height * ADPI / 72),
        APNGFile);
    finally
      oRenderer.Free;
    end;
  finally
    oPDF.Free;
  end;
end;

sgcPDF 面板上的 15 个组件

将它们拖放到窗体或数据模块上,或在代码中创建。每个组件也可在无窗体情况下从控制台应用和服务中使用。

所有组件

试用与授权

sgcPDF 是一款新产品。请联系 eSeGeCe 申请试用或报价。与每一款 eSeGeCe 库一样,许可证包含完整源代码。

sgcPDF

  • 全部 15 个组件以及 sgcPDF_*.pas 单元
  • Delphi 7 到 13 与 C++ Builder
  • Windows、Linux、macOS、iOS 和 Android
  • 完整源代码

eSeGeCe 的其他产品

将 sgcPDF 与我们其他的 Delphi 与 C++ Builder 组件库搭配使用。

sgcSign

企业级数字签名。支持 XAdES、PAdES、CAdES 和 ASiC,提供 10 个密钥提供者和 21 个欧盟国家配置文件。

了解更多 →

sgcWebSockets

面向 Delphi、C++ Builder 与 .NET 的企业级 WebSocket、HTTP/2、MQTT、AMQP 与 WebRTC 组件。

了解更多 →

sgcHTML

面向 Delphi 与 C++ Builder、基于 Bootstrap 与 htmx 构建的服务器端 HTML 与 UI 组件。

了解更多 →

sgcCrypto

纯 Object Pascal 实现的现代密码学:AES-GCM、SHA-3、Ed25519、X.509 以及后量子 ML-KEM 与 ML-DSA。

了解更多 →
3,000+开发者
20+年
761+组件
30+API 集成
5平台
30 天退款保证不满意?可在购买后 30 天内申请全额退款。 查看退款政策

无需 DLL 的 PDF

使用您已有的 Delphi 或 C++ Builder 代码创建、查看、签名并归档 PDF 文件。