PDF轉(zhuǎn)換控件Aspose.PDF for .Net使用教程(十四):在表格中添加HTML標(biāo)簽和分頁(yè)符
Aspose.PDF for .NET是一種高PDF處理和解析API,用于在跨平臺(tái)應(yīng)用程序中執(zhí)行文檔管理和操作任務(wù)。API可以輕松用于生成、修改、轉(zhuǎn)換、渲染、保護(hù)和打印PDF文檔,而無(wú)需使用Adobe Acrobat。此外,API還提供PDF壓縮選項(xiàng),表格創(chuàng)建和操作,圖形和圖像功能,廣泛的超鏈接功能,印章和水印任務(wù),擴(kuò)展的安全控制和自定義字體處理。
在接下來(lái)的系列教程中,將為開(kāi)發(fā)者帶來(lái)Aspose.PDF for .NET的一系列使用教程,例如進(jìn)行文檔間的轉(zhuǎn)換,如何標(biāo)記PDF文件,如何使用表單和圖表等等。
>>Aspose.PDF for .NET更新至最新版v19.9,歡迎下載體驗(yàn)。
致改變世界的程序員——現(xiàn)在購(gòu)買(mǎi)Aspose系列產(chǎn)品最高可享10000元高額減免!更多活動(dòng)詳情可咨詢(xún)?cè)诰€(xiàn)客服哦~
第五章:有關(guān)表格的處理
▲第二節(jié):在表格內(nèi)添加HTML標(biāo)簽
有時(shí)需要導(dǎo)入具有一些HTML標(biāo)記的數(shù)據(jù)庫(kù)內(nèi)容,然后將其導(dǎo)入Table對(duì)象。導(dǎo)入內(nèi)容時(shí),應(yīng)在PDF文檔中相應(yīng)地呈現(xiàn)HTML標(biāo)記。新版Aspose.PDF增強(qiáng)了ImprotDataTable()方法,以實(shí)現(xiàn)如下要求:
//文檔目錄的路徑 string dataDir = RunExamples.GetDataDir_AsposePdf_Tables(); DataTable dt = new DataTable("Employee"); dt.Columns.Add("data", System.Type.GetType("System.String")); DataRow dr = dt.NewRow(); dr[0] = "Department of Emergency Medicine: 3400 Spruce Street Ground Silverstein Bldg Philadelphia PA 19104-4206"; dt.Rows.Add(dr); dr = dt.NewRow(); dr[0] = "Penn Observation Medicine Service: 3400 Spruce Street Ground Floor Donner Philadelphia PA 19104-4206"; dt.Rows.Add(dr); dr = dt.NewRow(); dr[0] = "UPHS/Presbyterian - Dept. of Emergency Medicine: 51 N. 39th Street . Philadelphia PA 19104-2640"; dt.Rows.Add(dr); Document doc = new Document(); doc.Pages.Add(); //初始化表的新實(shí)例 Aspose.Pdf.Table tableProvider = new Aspose.Pdf.Table(); //設(shè)置表格的列寬 tableProvider.ColumnWidths = "400 50 "; // 將表格邊框顏色設(shè)置為淺灰色 tableProvider.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.5F, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray)); //設(shè)置表格單元格的邊框 tableProvider.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.5F, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray)); Aspose.Pdf.MarginInfo margin = new Aspose.Pdf.MarginInfo(); margin.Top = 2.5F; margin.Left = 2.5F; margin.Bottom = 1.0F; tableProvider.DefaultCellPadding = margin; tableProvider.ImportDataTable(dt, false, 0, 0, 3, 1, true); doc.Pages[1].Paragraphs.Add(tableProvider); doc.Save(dataDir + "HTMLInsideTableCell_out.pdf");
▲第三節(jié):在表格行之間插入分頁(yè)符
作為默認(rèn)行為,在PDF文件中創(chuàng)建表格時(shí),表格到達(dá)表格底邊距時(shí),表格會(huì)流向后續(xù)頁(yè)面。但是,當(dāng)為表添加一定數(shù)量的行時(shí),我們可能需要強(qiáng)制插入分頁(yè)符。以下代碼段顯示了為表添加10行時(shí)插入分頁(yè)符的步驟。
//文檔目錄的路徑 string dataDir = RunExamples.GetDataDir_AsposePdf_Tables(); //實(shí)例化Document實(shí)例 Document doc = new Document(); // 將頁(yè)面添加到PDF文件的頁(yè)面集合 doc.Pages.Add(); //創(chuàng)建表實(shí)例 Aspose.Pdf.Table tab = new Aspose.Pdf.Table(); //設(shè)置表格的邊框樣式 tab.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, Aspose.Pdf.Color.Red); //將邊框顏色設(shè)置為紅色的表格的默認(rèn)邊框樣式 tab.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, Aspose.Pdf.Color.Red); //指定表columsn widht tab.ColumnWidths = "100 100"; //創(chuàng)建一個(gè)循環(huán)以為表添加200行 for (int counter = 0; counter <= 200; counter++) { Aspose.Pdf.Row row = new Aspose.Pdf.Row(); tab.Rows.Add(row); Aspose.Pdf.Cell cell1 = new Aspose.Pdf.Cell(); cell1.Paragraphs.Add(new TextFragment("Cell " + counter + ", 0")); row.Cells.Add(cell1); Aspose.Pdf.Cell cell2 = new Aspose.Pdf.Cell(); cell2.Paragraphs.Add(new TextFragment("Cell " + counter + ", 1")); row.Cells.Add(cell2); //添加10行后,在新頁(yè)面中呈現(xiàn)新行 if (counter % 10 == 0 && counter != 0) row.IsInNewPage = true; } //將表格添加到PDF文件的段落集合中 doc.Pages[1].Paragraphs.Add(tab); dataDir = dataDir + "InsertPageBreak_out.pdf"; // 保存PDF文檔 doc.Save(dataDir);
ASPOSE技術(shù)交流QQ群(642018183)已開(kāi)通,各類(lèi)資源及時(shí)分享,歡迎交流討論!
掃描關(guān)注“慧聚IT”微信公眾號(hào),及時(shí)獲取更多產(chǎn)品最新動(dòng)態(tài)及最新資訊