该页面可以包含自动翻译的文本。
用于 PDF 生成的 .NET 库
使用布局 API 生成 PDF 文档,该 API 可以根据您的需要创建复杂或简单的 PDF 文件。 使用 Fluent API 在代 码中描述文档的布局。 具有分页支持的功能强大的 C# PDF 生成器将完成剩下的工作。
使用结构元素作为 C# 或 VB.NET 代码中的构建块来获得完美的文档。 这些元素是页面、容器、表格、段落、图 像、链接等。 该库将自动将文档内容分成页面。 您可以添加页眉和页脚。 API 支持自定义可重用组件。 Layout API 提供内置组件,例如目录或水印。
布局 API 可作为 Docotic.Pdf 库的免费插件使用。 该库和附加组件都是 100% 托管代码 DLL。 它们没有第三 方外部依赖项。 您可以使用 API 在 Windows、Linux、Amazon 和 Azure 云环境中创建 PDF 文档。 macOS、iOS 和 Android 也很好。
Docotic.Pdf 和 Layout 附加组件可在 NuGet 和我们的网站上获取。 在 下载 C# .NET PDF 库 页面获取库、附加组件和免费限时许可证密钥。
9.5.17615-dev 9.5.17615-dev14,813 通过 NuGet 总下载量 4,924,084
流畅的 API 创建 PDF
该附加组件提供了流畅的 API。 您可以将大多数调用链接在一起。 这使得代码比“声明式”框架更紧凑。 您仍然 可以使用所有常规方法来开发代码。 例如,您可以使用辅助类和方法中的可重用部分使布局实现更加简洁。
如何用C#创建PDF文档
好的,是时候举一些例子了。
你好,PDF!
下面是一个简单的示例,展示了如何使用 Layout API 在 C# 中生成 PDF。 它创建一个包含两页的文档。 它有 点合成,但说明了 API 的工作方式。
PdfDocumentBuilder.Create().Generate("pages.pdf", doc =>
{
doc.Pages((PageLayout page) =>
{
page.Size(PdfPaperSize.A5);
page.Header().PaddingTop(70).AlignCenter().Text("Hello, PDF!");
page.Content().Column(c =>
{
for (int i = 0; i < 10; i++)
c.Item().AlignCenter().Text($"Page 1 block {i + 1}");
c.Item().PageBreak();
c.Item().Text("Page 2");
});
page.Footer().Text(t => t.CurrentPageNumber());
});
});
PdfDocumentBuilder.Generate 方法 提供 Document class 的实例。 使用该对象及其 Pages 方 法,可以定义一页或多页的布局。
示例代码设置页面大小并描述 Header
、Content
和 Footer
槽中的内容。 所有这些插槽都具有相同的
LayoutContainer 类型。 LayoutContainer
是布局
API 的关键构建块。 使用容器您可以生成任意布局。
布局引擎生成包含所有数据的页面。 确切的数量取决于 PageLayout.Content 和其他插槽中的内容。 该库在 每个页面上重复 Header 和 Footer 插槽的内容。所有页面都将具有相同的大小。
要使页面具有不同的布局或不同的大小,请多次调用 Pages 方法。
在 C# 中创建文本 PDF
一项常见任务是将文本字符串转换为 PDF 文件。 以下代码使用布局 API 从 C# 中的文本文件创建 PDF 文档。
PdfDocumentBuilder
.Create()
.Generate("long-text.pdf", doc => doc.Pages(page =>
{
string text = File.ReadAllText(@"PDF_Succinctly.txt");
page.Content().Text(text);
}));
该代码从文件中读取所有文本并将其用于 Content 槽。 无需计算任何大小或将文本字符串分成块。 Layout 插件负责所有这些任务。 使用 API,可以轻松地用 C# 代码将文本转换为 PDF。
在 .NET 中加密 PDF
要生成加密的 PDF,请使用加密处理程序,如以下 C# 代码示例所示。
PdfDocumentBuilder
.Create()
.Encryption(new PdfStandardEncryptionHandler("owner", "user"))
.Generate("encrypted-with-password.pdf", doc => doc.Pages(page =>
{
// 在这里布置页面内容
}));
图书馆将生成使用用户和所有者密码加密的 PDF。 可以为加密文档的用户指定PDF权 限。 您还可以使用证书保护 PDF。
进一步阅读
Layout API 提供了很多用 C# 生成 PDF 的方法。 我们鼓励您阅读以下文章: