PDF转换控件Aspose.PDF for .Net使用教程(十四):在表格中添加HTML标签和分页符
Aspose.PDF for .NET是一种高PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务。API可以轻松用于生成、修改、转换、渲染、保护和打印PDF文档,而无需使用Adobe Acrobat。此外,API还提供PDF压缩选项,表格创建和操作,图形和图像功能,广泛的超链接功能,印章和水印任务,扩展的安全控制和自定义字体处理。
在接下来的系列教程中,将为开发者带来Aspose.PDF for .NET的一系列使用教程,例如进行文档间的转换,如何标记PDF文件,如何使用表单和图表等等。
>>Aspose.PDF for .NET更新至最新版v19.9,欢迎下载体验。
致改变世界的程序员——现在购买Aspose系列产品最高可享10000元高额减免!更多活动详情可哦~
第五章:有关表格的处理
▲第二节:在表格内添加HTML标签
有时需要导入具有一些HTML标记的数据库内容,然后将其导入Table对象。导入内容时,应在PDF文档中相应地呈现HTML标记。新版Aspose.PDF增强了ImprotDataTable()方法,以实现如下要求:
//文档目录的路径 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(); //初始化表的新实例 Aspose.Pdf.Table tableProvider = new Aspose.Pdf.Table(); //设置表格的列宽 tableProvider.ColumnWidths = "400 50 "; // 将表格边框颜色设置为浅灰色 tableProvider.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.5F, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray)); //设置表格单元格的边框 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");
▲第三节:在表格行之间插入分页符
作为默认行为,在PDF文件中创建表格时,表格到达表格底边距时,表格会流向后续页面。但是,当为表添加一定数量的行时,我们可能需要强制插入分页符。以下代码段显示了为表添加10行时插入分页符的步骤。
//文档目录的路径 string dataDir = RunExamples.GetDataDir_AsposePdf_Tables(); //实例化Document实例 Document doc = new Document(); // 将页面添加到PDF文件的页面集合 doc.Pages.Add(); //创建表实例 Aspose.Pdf.Table tab = new Aspose.Pdf.Table(); //设置表格的边框样式 tab.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, Aspose.Pdf.Color.Red); //将边框颜色设置为红色的表格的默认边框样式 tab.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, Aspose.Pdf.Color.Red); //指定表columsn widht tab.ColumnWidths = "100 100"; //创建一个循环以为表添加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行后,在新页面中呈现新行 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技术交流QQ群(642018183)已开通,各类资源及时分享,欢迎交流讨论!
扫描关注“慧聚IT”微信公众号,及时获取更多产品最新动态及最新资讯