多欄 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 集合添加一條新線。
- 將圖形添加到 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);
// 將圖形添加到節對象的 parapraphs 集合
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);
// 將行添加到節對象的段落集合
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 的更多信息。如果您有任何問題,請隨時通過我們的 論壇 提問。