PDF转换控件Aspose.PDF for .Net使用教程(十六):管理PDF中的表格
Aspose.PDF for .NET是一种高PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务。API可以轻松用于生成、修改、转换、渲染、保护和打印PDF文档,而无需使用Adobe Acrobat。此外,API还提供PDF压缩选项,表格创建和操作,图形和图像功能,广泛的超链接功能,印章和水印任务,扩展的安全控制和自定义字体处理。
在接下来的系列教程中,将为开发者带来Aspose.PDF for .NET的一系列使用教程,例如进行文档间的转换,如何标记PDF文件,如何使用表单和图表等等。
>>Aspose.PDF for .NET更新至最新版v19.10,欢迎下载体验。
致改变世界的程序员——1024限时满减,购买Aspose文档系列产品消费满额即享10000元高额减免!更多活动详情可哦~
第六章:操作和整合表格
▲第二节:处理现有PDF中的表格
Aspose.PDF for .NET支持的最早功能之一是其使用表格的功能,它为在从头生成的PDF文件或任何现有PDF文件中添加表提供了强大的支持。还可以将表与数据库集成(DOM)以基于数据库内容创建动态表。以下代码段显示了更新特定表单元格中内容的步骤。
//文档目录的路径。 string dataDir = RunExamples.GetDataDir_AsposePdf_Tables(); //加载现有的PDF文件 Document pdfDocument = new Document(dataDir + "input.pdf"); // Create TableAbsorber object to find tables TableAbsorber absorber = new TableAbsorber(); //使用吸收器访问彩票走势图 absorber.Visit(pdfDocument.Pages[1]); // 可以访问页面上的第一个表,它们的第一个单元格和文本片段 TextFragment fragment = absorber.TableList[0].RowList[0].CellList[0].TextFragments[1]; //更改单元格中第一个文本片段的文本 fragment.Text = "hi world"; dataDir = dataDir + "ManipulateTable_out.pdf"; pdfDocument.Save(dataDir);
从PDF文档中删除表格
以下代码片段显示了如何从PDF文档中删除表格:
//文档目录的路径。 string dataDir = RunExamples.GetDataDir_AsposePdf_Tables(); //加载现有的PDF文档 Document pdfDocument = new Document(dataDir + "Table_input.pdf"); //创建TableAbsorber对象以查找表 TableAbsorber absorber = new TableAbsorber(); //使用吸收器访问彩票走势图 absorber.Visit(pdfDocument.Pages[1]); //获取页面上的第一个表格 AbsorbedTable table = absorber.TableList[0]; // 删除表格 absorber.Remove(table); //保存PDF pdfDocument.Save(dataDir + "Table_out.pdf");
从PDF文档中删除多个表
有时,一个PDF文档可能包含多个表,可能会提出要从中删除多个表的要求。为了从PDF文档中删除多个表格,请使用以下代码段:
//文档目录的路径。 string dataDir = RunExamples.GetDataDir_AsposePdf_Tables(); // 加载现有的PDF文档 Document pdfDocument = new Document(dataDir + "Table_input2.pdf"); //创建TableAbsorber对象以查找表 TableAbsorber absorber = new TableAbsorber(); //使用吸收器访问第二页 absorber.Visit(pdfDocument.Pages[1]); //获取表集合的副本 AbsorbedTable[] tables = new AbsorbedTable[absorber.TableList.Count]; absorber.TableList.CopyTo(tables, 0); //遍历collection的副本并删除表 foreach (AbsorbedTable table in tables) absorber.Remove(table); //保存文件 pdfDocument.Save(dataDir + "Table2_out.pdf");
用PDF文档中的新表替换旧表
如果需要查找特定的表并将其替换为所需的表,则可以使用Class Replace()方法TableAbsorber来做到这一点。以下示例演示了替换PDF文档中表格的功能:
//文档目录的路径。 string dataDir = RunExamples.GetDataDir_AsposePdf_Tables(); //加载现有的PDF文档 Document pdfDocument = new Document(dataDir + @"Table_input2.pdf"); //创建TableAbsorber对象以查找表 TableAbsorber absorber = new TableAbsorber(); //使用吸收器访问彩票走势图 absorber.Visit(pdfDocument.Pages[1]); // 获取页面上的第一个表格 AbsorbedTable table = absorber.TableList[0]; //创建新表 Table newTable = new Table(); newTable.ColumnWidths = "100 100 100"; newTable.DefaultCellBorder = new BorderInfo(BorderSide.All, 1F); Row row = newTable.Rows.Add(); row.Cells.Add("Col 1"); row.Cells.Add("Col 2"); row.Cells.Add("Col 3"); // 用新表替换表 absorber.Replace(pdfDocument.Pages[1], table, newTable); //保存文件 pdfDocument.Save(dataDir + "TableReplaced_out.pdf");
ASPOSE技术交流QQ群(642018183)已开通,各类资源及时分享,欢迎交流讨论!
如果你对Aspose的产品感兴趣或有任何技术难题都可以扫描下方二维码告诉我们哦~
↓↓↓