多列 PDF 用于各种类型的出版物,例如杂志、报纸、研究文章等。在使用 PDF 自动化时,您可能会遇到需要以编程方式生成多列 PDF 的场景。据此,本文介绍了如何使用 C# 创建多列 PDF 文件。
用于创建多列 PDF 的 C# API
Aspose.PDF for .NET 是一个功能强大且功能丰富的 API,用于创建和操作 PDF 文档。我们将使用此 API 使用 C# 创建多列 PDF 文件。您可以 下载 API 或使用 NuGet 安装它。
PM> Install-Package Aspose.PDF
使用 C# 创建多列 PDF
Aspose.PDF for .NET 使您可以更轻松地创建多列 PDF 文件。以下步骤从头开始创建多列 PDF。
- 创建一个新的 Document 对象。
- 使用 Document.PageInfo.Margin.Left 和 Document.PageInfo.Margin.Right 属性设置页边距。
- 使用 Documents.Pages.Add() 方法在 PDF 中添加新页面并将其引用到 Page 对象中。
- 创建一个新的 Graph 对象并使用 Page.Paragraphs.Add() 方法将其添加到段落中。
- 创建一个新的 Line 并将其添加到 Graph.Shapes 集合中。
- 使用 Page.Paragraphs.Add() 方法将标题文本添加到页面。
- 创建一个新的 FloatingBox 并指定列数、列间距和列宽。
- 创建另一个 Graph 对象。
- 向 Graph.Shapes 集合添加一条新线。
- 将 Graph 添加到 FloatingBox.Paragraphs 集合。
- 创建一个新的 TextFragment 并将其添加到 FloatingBox.Paragraphs 集合中。
- 使用 Page.Paragraphs.Add() 方法将 FloatingBox 添加到页面。
- 使用 Document.Save(string) 方法保存 PDF 文件。
以下代码示例展示了如何使用 C# 创建两列 PDF。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// 创建文档
Document doc = new Document();
// 指定 PDF 文件的左边距信息
doc.PageInfo.Margin.Left = 40;
// 指定 PDF 文件的右边距信息
doc.PageInfo.Margin.Right = 40;
// 添加页面
Page page = doc.Pages.Add();
// 创建图形对象
Aspose.Pdf.Drawing.Graph graph1 = new Aspose.Pdf.Drawing.Graph(500, 2);
// 将图形添加到 section 对象的 paraphras 集合中
page.Paragraphs.Add(graph1);
// 指定线的坐标
float[] posArr = new float[] { 1, 2, 500, 2 };
Aspose.Pdf.Drawing.Line l1 = new Aspose.Pdf.Drawing.Line(posArr);
graph1.Shapes.Add(l1);
// 使用包含 HTML 标签的文本创建字符串变量
string s = "<font face=\"Times New Roman\" size=4>" +
"<strong> How to Steer Clear of money scams</<strong> "
+ "</font>";
// 创建文本片段并初始化它
HtmlFragment heading_text = new HtmlFragment(s);
page.Paragraphs.Add(heading_text);
// 创建一个浮动框
Aspose.Pdf.FloatingBox box = new Aspose.Pdf.FloatingBox();
// 在节中添加四列
box.ColumnInfo.ColumnCount = 2;
// 设置列间距
box.ColumnInfo.ColumnSpacing = "5";
// 设置列宽
box.ColumnInfo.ColumnWidths = "250 250";
// 创建一个新的文本片段
TextFragment text1 = new TextFragment("By A Googler (The Official Google Blog)");
text1.TextState.FontSize = 8;
text1.TextState.LineSpacing = 2;
box.Paragraphs.Add(text1);
text1.TextState.FontSize = 10;
text1.TextState.FontStyle = FontStyles.Italic;
// 创建图形对象 to draw a line
Aspose.Pdf.Drawing.Graph graph2 = new Aspose.Pdf.Drawing.Graph(50, 10);
// 指定线的坐标
float[] posArr2 = new float[] { 1, 10, 100, 10 };
Aspose.Pdf.Drawing.Line l2 = new Aspose.Pdf.Drawing.Line(posArr2);
graph2.Shapes.Add(l2);
// 将行添加到 section 对象的段落集合
box.Paragraphs.Add(graph2);
// 创建一个新的文本片段
TextFragment text2 = new TextFragment(@"Sed augue tortor, sodales id, luctus et, pulvinar ut, eros. Suspendisse vel dolor. Sed quam. Curabitur ut massa vitae eros euismod aliquam. Pellentesque sit amet elit. Vestibulum interdum pellentesque augue. Cras mollis arcu sit amet purus. Donec augue. Nam mollis tortor a elit. Nulla viverra nisl vel mauris. Vivamus sapien. nascetur ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et,nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. Praesent porttitor turpis eleifend ante. Morbi sodales.nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. Praesent porttitor turpis eleifend ante. Morbi sodales.");
box.Paragraphs.Add(text2);
// 将浮动框添加到页面
page.Paragraphs.Add(box);
// 保存 PDF 文件
doc.Save("multi-column.pdf");
以下是Aspose.PDF for .NET生成的多栏PDF截图。
获得免费许可证
您可以使用 临时许可证 使用 Aspose.PDF for .NET,而不受评估限制。
结论
在这篇文章中,您学习了如何使用 C# 从头开始创建多列 PDF 文件。您可以简单地安装 API 并将提供的代码集成到您的 .NET 应用程序中。此外,您可以使用 文档 了解有关 .NET PDF API 的更多信息。如果您有任何问题,请随时通过我们的 论坛 提问。