Aspose.PDF功能演示:使用C#創(chuàng)建帶有表格、表單、圖片的PDF文件
近年來,PDF文檔的自動(dòng)生成和處理已成為一項(xiàng)苛刻的功能。在各種應(yīng)用程序中,PDF文檔是動(dòng)態(tài)生成的,例如發(fā)票,收據(jù)和不同類型的報(bào)告。因此,本文涵蓋了.NET應(yīng)用程序中PDF自動(dòng)化的基本實(shí)現(xiàn)。在本文中,將學(xué)習(xí)如何使用C#創(chuàng)建PDF文件以及如何插入文本,圖像,表格和其他組件。
- 在C#中創(chuàng)建PDF文件
- 在C#中編輯現(xiàn)有的PDF
- 使用C#在PDF中插入圖像
- 使用C#在PDF中創(chuàng)建表格
- 在C#中以PDF創(chuàng)建表單
在C#中創(chuàng)建PDF文件
讓我們從創(chuàng)建一個(gè)包含文本片段的簡(jiǎn)單PDF文檔開始。以下是步驟以及API參考。
- 創(chuàng)建一個(gè)Document類的對(duì)象。
- 使用Document.Pages.Add()方法將頁面添加到文檔中。
- 創(chuàng)建一個(gè)新的TextFragment對(duì)象并設(shè)置其文本。
- 將TextFragment添加到頁面的Paragraphs集合中。
- 使用Document.Save(String)方法保存PDF文件。
下面的代碼示例演示如何使用C#創(chuàng)建簡(jiǎn)單的PDF文件。
// Initialize document object Document document = new Document(); // Add page Page page = document.Pages.Add(); // Add text to new page page.Paragraphs.Add(new Aspose.Pdf.Text. // Save PDF document.Save
在C#中編輯現(xiàn)有的PDF
修改PDF文件就像創(chuàng)建一個(gè)新文件一樣簡(jiǎn)單。只需使用Document類加載文件,執(zhí)行所需的操作,然后保存即可。以下是修改PDF的步驟。
- 創(chuàng)建Document類的對(duì)象,并提供其構(gòu)造函數(shù)的PDF文件路徑。
- 處理文檔的頁面或內(nèi)容。
- 使用Document.Save()方法保存文檔。
以下代碼示例顯示了如何使用C#修改PDF。
// Load PDF var pdfDocument = new Aspose.Pdf.Document("document.pdf"); // pdfDocument.Pages.Add(); // Save the updated PDF pdfDocument.Save(modifiedFileName);
使用C#在PDF中插入圖像
現(xiàn)在讓我們檢查如何將圖像插入PDF文檔。以下是執(zhí)行此操作的步驟。
- 創(chuàng)建Document類的對(duì)象以打開PDF文檔。
- 使用Page類訪問要添加圖像的頁面。
- 將圖像添加到頁面的資源集合中。
-
使用運(yùn)算符將圖像放置在頁面上:
- GSave
- ConcatenateMatrix運(yùn)算符,用于指定要放置圖像的位置。
- 做操作員在頁面上繪制圖像。
- 最后,使用GRestore運(yùn)算符保存更新的圖形狀態(tài)。
- 保存PDF文件。
下面的代碼示例演示如何使用C#將圖像添加到PDF文檔。
// Open document Document pdfDocument = new Document("document.pdf"); // Set coordinates int lowerLeftX = 100; int lowerLeftY = 100; int upperRightX = 200; int upperRightY = 200; // Get the page where image needs to be added Page page = pdfDocument.Pages[1]; // Load image into stream FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open); // Add image to Images collection of Page Resources page.Resources.Images.Add(imageStream); // Using GSave operator: this operator saves current graphics state page.Contents.Add(new Aspose.Pdf.Operators.GSave()); // Create Rectangle and Matrix objects Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY); Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY }); // Using ConcatenateMatrix (concatenate matrix) operator: defines how image must be placed page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix)); XImage ximage = page.Resources.Images[page.Resources.Images.Count]; // Using Do operator: this operator draws image page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name)); // Using GRestore operator: this operator restores graphics state page.Contents.Add(new Aspose.Pdf.Operators.GRestore()); // Save updated document pdfDocument.Save("document.pdf");
使用C#在PDF中創(chuàng)建表格
表格是文檔的重要組成部分,用于以行和列的形式組織數(shù)據(jù)。用于.NET的Aspose.PDF為您提供了一種非常簡(jiǎn)單的方法來在PDF文檔中創(chuàng)建和插入表格。以下是執(zhí)行此操作的步驟。
- 使用Document類加載PDF文件。
- 初始化表并使用Table類設(shè)置其列和行。
- 設(shè)置表格的設(shè)置(即邊框)。
- 通過使用Table.Rows.Add()方法創(chuàng)建行來填充表。
- 使用Document.Pages [1] .Paragraphs.Add(Table)方法將表添加到頁面。
- 保存PDF文件。
下面的代碼示例演示如何在C#中的PDF文檔中創(chuàng)建和添加表格。
// Load source PDF document Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf"); // Initializes a new instance of the Table Aspose.Pdf.Table table = new Aspose.Pdf.Table(); // Set the table border color as LightGray table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray)); // Set the border for table cells table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray)); // Create a loop to add 10 rows for (int row_count = 1; row_count < 10; row_count++) { // Add row to table Aspose.Pdf.Row row = table.Rows.Add(); // Add table cells row.Cells.Add("Column (" + row_count + ", 1)"); row.Cells.Add("Column (" + row_count + ", 2)"); row.Cells.Add("Column (" + row_count + ", 3)"); } // Add table object to first page of input document doc.Pages[1].Paragraphs.Add(table); // Save updated document containing table object doc.Save("document_with_table_out.pdf");
在C#中以PDF創(chuàng)建表單
PDF中的表格用于從閱讀器收集數(shù)據(jù)。您可以在PDF表單中插入文本框,復(fù)選框,單選按鈕和其他受支持的控件。PDF格式支持兩種形式的表格:Acro表單和XFA表單(請(qǐng)參閱詳細(xì)信息)。以下是在PDF中創(chuàng)建和添加表單的步驟。
- 使用Document類加載PDF文件。
- 創(chuàng)建表單控件,例如TextBoxField。
- 使用Document.Form.Add(textBoxField,1)方法將控件添加到表單。
- 保存PDF文檔。
以下代碼示例顯示了如何使用C#將表單添加到PDF文檔。
// Open document Document pdfDocument = new Document("document.pdf"); // Create a field TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300)); textBoxField.PartialName = "textbox1"; textBoxField.Value = "Text Box"; // TextBoxField.Border = new Border( Border border = new Border(textBoxField); border.Width = 5; border.Dash = new Dash(1, 1); textBoxField.Border = border; textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green); // Add field to the document pdfDocument.Form.Add(textBoxField, 1); // Save modified PDF pdfDocument.Save("output.pdf");
還想要更多嗎?您可以點(diǎn)擊閱讀【2020 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請(qǐng)隨時(shí)加入Aspose技術(shù)交流群(761297826),我們很高興為您提供查詢和咨詢。