新闻详情

新闻详情

首页 / 资讯中心 / 详情

用KillerPDF.Engine创建PDF 2.0文档:PdfDocumentBuilder API从空白页到完整文档教程

发布时间:2026/11/15 15:12:10来源:尧图网络
用KillerPDF.Engine创建PDF 2.0文档:PdfDocumentBuilder API从空白页到完整文档教程
用KillerPDF.Engine创建PDF 2.0文档PdfDocumentBuilder API从空白页到完整文档教程【免费下载链接】KillerPDFFree and open-source PDF editor for Windows with a built-in PDF 2.0 engine. View, annotate, OCR, merge, split, crop, rotate, compare, edit text, draw, sign, fill forms, print, flatten, and open password-protected PDFs without a subscription.项目地址: https://gitcode.com/gh_mirrors/ki/KillerPDFKillerPDF.Engine 是免费开源的 .NET PDF 2.0 文档创建引擎来自 KillerPDF 项目。通过其 PdfDocumentBuilder API你只需几行代码就能从一张空白页开始构建包含文字、图形、书签、表单和密码保护的完整 PDF 文档——无界面依赖、无订阅费用Windows、Linux、macOS 均可运行。 认识 KillerPDF.Engine免费开源的 PDF 2.0 文档引擎KillerPDF.Engine 是一个无 UI 的 .NET 10 类库它只负责读、写、创建和校验 PDF 文件不关心你的应用用什么界面或渲染器。它支持 创建完整的 PDF 2.0 文档页面、内容流、字体、图像、渐变、透明度 解析现有 PDF对象、交叉引用表、增量修订✍️ 书签、链接、注释、AcroForm 表单字段 密码加密RC4、AES-128、AES-256与数字签名✅ PDF/A-4、PDF/UA-2 等标准合规保护机制安装只需一条命令在项目目录执行dotnet add package KillerPdf.Engine如果直接基于 KillerPDF 仓库开发也可以改为项目引用engine/KillerPdf.Engine/KillerPdf.Engine.csproj。更多入门细节可参考 getting-started.md 与 engine/README.md。 第一步3 行代码创建你的第一张空白页PdfDocumentBuilder 采用流式链式API默认就生成 PDF 2.0 文档using KillerPdf.Engine.Authoring; byte[] pdf new PdfDocumentBuilder() .SetMetadata(new PdfDocumentMetadata { Title 我的第一份PDF, Author 示例应用, Language zh-CN }) .AddBlankPage(612, 792) // 美纸尺寸单位PDF 点 .Build(); File.WriteAllBytes(hello.pdf, pdf);三个要点SetMetadata—— 写入标题、作者、语言等文档信息语言必须是合法的 BCP 47 语言标签AddBlankPage(612, 792)—— 页面尺寸用 PDF 点表示612×792 即美纸LetterBuild()—— 返回文档字节数组在写盘之前会对整个文档做协调校验页面几何、结构完整性、字段一致性构建失败就不会产生残缺文件。✍️ 第二步用 PdfContentStreamBuilder 写入文字与图形空白页还不够PdfContentStreamBuilder负责在页面上画内容。以下代码生成一个带标题的页面var content new PdfContentStreamBuilder() .BeginText() .SetFont(PdfStandardFont.Helvetica, 18) .MoveText(72, 720) .ShowLatin1Text(Created with KillerPDF.Engine) .EndText(); byte[] pdf new PdfDocumentBuilder() .AddPage(612, 792, content) .Build();内容构建器同样采用链式 API除文本外还支持路径与图形、线条样式、颜色、图像、嵌入式 TrueType 字体、透明度、图样与着色渐变、可选内容组、标记内容等。KillerPDF 桌面应用的完整标注烧录流水线文本框、高亮、手写笔迹、签名、图片、页码、水印正是建立在这套类型化内容 API 之上 第三步从空白页到完整文档——书签、链接与表单一个完整的文档往往不止有页面。同一个PdfDocumentBuilder会自动协调分散在页面树、目录、资源、名称树、结构树和 AcroForm 中的多处改动你无需手动拼 PDF 对象功能常用方法 层级书签AddBookmark(title, pageIndex, level) 页内跳转链接AddPageLink(...)/AddNamedDestination(...) 外部 URI 链接AddUriLink(...) 嵌入文件附件AddAttachment(...) 文本字段 / 复选框AddTextField(...)/AddCheckBox(...) 签名域 / 按钮AddSignatureField(...)/ 推按钮 API️ 阅读器行为SetViewerPreferences/SetPageLayout/SetPageMode例如为文档加一个可折叠的书签树var builder new PdfDocumentBuilder() .AddBlankPage(612, 792) .AddBlankPage(612, 792) .AddBookmark(第一章 概述, 0) .AddBookmark(1.1 背景, 0, level: 1) .AddBookmark(第二章 详情, 1);书签层级不能跳级、第一个书签必须位于 0 级——这些规则由 API 自动校验帮助你写出结构合法的目录。完整的类型化方法清单可查看 PdfDocumentBuilder.cs 源码注释边界行为还有 PdfDocumentBuilderTests.cs 中的大量测试用例兜底。 进阶PDF/A、PDF/UA 合规与密码保护针对长期归档和无障碍场景构建器提供合规开关var builder new PdfDocumentBuilder() .EnablePdfA4Conformance() // PDF/A-4另有 4e / 4f 变体 .EnablePdfUa2Conformance() // PDF/UA-2 无障碍 .SetPasswordEncryption(new PdfPasswordEncryptionOptions { UserPassword 用户密码 });注意开关只是协调保护合规文档仍需配套字体嵌入、输出意图SetOutputIntent嵌入 ICC 配置文件、语义结构AddStructureElement等信息建议用独立校验器做最终验证。合规与加密功能要求文档为PDF 2.0这也是该引擎的默认版本用低版本构建器声明合规会在Build()时直接报错。✅ 保存与验证让生成的 PDF 可被信赖推荐的保存姿势是先构建到内存再落盘byte[] pdf builder.Build(); // 校验失败在此处抛出 File.WriteAllBytes(created.pdf, pdf);生成后还可以用引擎自带的读取与校验 API 做自检PdfDocument.OpenPdfDocumentInformation.Read—— 确认标题、页数、版本PdfRoundTripValidator.Validate—— 重新打开并做往返验证确保文档可被完整解析。这样即使你的业务逻辑有 bug也不会把半个 PDF写进磁盘或发给用户。 总结与延伸阅读用 PdfDocumentBuilder 创建 PDF 2.0 文档的思路非常清晰new PdfDocumentBuilder()—— 默认 PDF 2.0 版本SetMetadataAddBlankPage/AddPage(内容流)—— 搭建页面与内容书签 / 链接 / 表单 / 附件等类型化方法—— 补齐文档功能Build()校验通过后写盘—— 得到一份可信赖的文档。这套 API 用类型化意图代替裸对象字典把最容易出错的跨结构协调交给了引擎是新手上手 PDF 编程的极佳起点。 官方入门getting-started.md 创建 PDF 详解creating-pdfs.md API 命名空间速查api.md 构建器核心源码engine/KillerPdf.Engine/Authoring/PdfDocumentBuilder.cs 内容流源码engine/KillerPdf.Engine/Authoring/PdfContentStreamBuilder.cs 回归测试engine/KillerPdf.Engine.Tests/Authoring/PdfDocumentBuilderTests.cs【免费下载链接】KillerPDFFree and open-source PDF editor for Windows with a built-in PDF 2.0 engine. View, annotate, OCR, merge, split, crop, rotate, compare, edit text, draw, sign, fill forms, print, flatten, and open password-protected PDFs without a subscription.项目地址: https://gitcode.com/gh_mirrors/ki/KillerPDF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/15 4:54:16

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/15 2:04:12

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/14 10:11:15

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/14 17:14:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/14 16:35:50

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/15 4:06:36

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉