• <menu id="w2i4a"></menu>
  • logo Aspose.PDF for .NET開(kāi)發(fā)者使用教程

    文檔首頁(yè)>>Aspose.PDF for .NET開(kāi)發(fā)者使用教程>>PDF轉(zhuǎn)換控件Aspose.PDF for .Net使用教程(十六):管理PDF中的表格

    PDF轉(zhuǎn)換控件Aspose.PDF for .Net使用教程(十六):管理PDF中的表格


    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.10,歡迎下載體驗(yàn)。

    致改變世界的程序員——1024限時(shí)滿(mǎn)減,購(gòu)買(mǎi)Aspose文檔系列產(chǎn)品消費(fèi)滿(mǎn)額即享10000元高額減免!更多活動(dòng)詳情可咨詢(xún)?cè)诰€(xiàn)客服哦~


    第六章:操作和整合表格

    ▲第二節(jié):處理現(xiàn)有PDF中的表格

    Aspose.PDF for .NET支持的最早功能之一是其使用表格的功能,它為在從頭生成的PDF文件或任何現(xiàn)有PDF文件中添加表提供了強(qiáng)大的支持。還可以將表與數(shù)據(jù)庫(kù)集成(DOM)以基于數(shù)據(jù)庫(kù)內(nèi)容創(chuàng)建動(dòng)態(tài)表。以下代碼段顯示了更新特定表單元格中內(nèi)容的步驟。

    //文檔目錄的路徑。
    string dataDir = RunExamples.GetDataDir_AsposePdf_Tables();
    
    //加載現(xiàn)有的PDF文件
    Document pdfDocument = new Document(dataDir + "input.pdf");
    // Create TableAbsorber object to find tables
    TableAbsorber absorber = new TableAbsorber();
    
    //使用吸收器訪(fǎng)問(wèn)首頁(yè)
    absorber.Visit(pdfDocument.Pages[1]);
    
    // 可以訪(fǎng)問(wèn)頁(yè)面上的第一個(gè)表,它們的第一個(gè)單元格和文本片段
    TextFragment fragment = absorber.TableList[0].RowList[0].CellList[0].TextFragments[1];
    
    //更改單元格中第一個(gè)文本片段的文本
    fragment.Text = "hi world";
    dataDir = dataDir + "ManipulateTable_out.pdf";
    pdfDocument.Save(dataDir);

    從PDF文檔中刪除表格

    以下代碼片段顯示了如何從PDF文檔中刪除表格:

    //文檔目錄的路徑。
    string dataDir = RunExamples.GetDataDir_AsposePdf_Tables();
    
    //加載現(xiàn)有的PDF文檔
    Document pdfDocument = new Document(dataDir + "Table_input.pdf");
    
    //創(chuàng)建TableAbsorber對(duì)象以查找表
    TableAbsorber absorber = new TableAbsorber();
    
    //使用吸收器訪(fǎng)問(wèn)首頁(yè)
    absorber.Visit(pdfDocument.Pages[1]);
    
    //獲取頁(yè)面上的第一個(gè)表格
    AbsorbedTable table = absorber.TableList[0];
    
    // 刪除表格
    absorber.Remove(table);
    
    //保存PDF
    pdfDocument.Save(dataDir + "Table_out.pdf");

    從PDF文檔中刪除多個(gè)表

    有時(shí),一個(gè)PDF文檔可能包含多個(gè)表,可能會(huì)提出要從中刪除多個(gè)表的要求。為了從PDF文檔中刪除多個(gè)表格,請(qǐng)使用以下代碼段:

    //文檔目錄的路徑。
    string dataDir = RunExamples.GetDataDir_AsposePdf_Tables();
    
    // 加載現(xiàn)有的PDF文檔
    Document pdfDocument = new Document(dataDir + "Table_input2.pdf");
    
    //創(chuàng)建TableAbsorber對(duì)象以查找表
    TableAbsorber absorber = new TableAbsorber();
    
    //使用吸收器訪(fǎng)問(wèn)第二頁(yè)
    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來(lái)做到這一點(diǎn)。以下示例演示了替換PDF文檔中表格的功能:

    //文檔目錄的路徑。
    string dataDir = RunExamples.GetDataDir_AsposePdf_Tables();
    
    //加載現(xiàn)有的PDF文檔
    Document pdfDocument = new Document(dataDir + @"Table_input2.pdf");
    
    //創(chuàng)建TableAbsorber對(duì)象以查找表
    TableAbsorber absorber = new TableAbsorber();
    
    //使用吸收器訪(fǎng)問(wèn)首頁(yè)
    absorber.Visit(pdfDocument.Pages[1]);
    
    // 獲取頁(yè)面上的第一個(gè)表格
    AbsorbedTable table = absorber.TableList[0];
    
    //創(chuàng)建新表
    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技術(shù)交流QQ群(642018183)已開(kāi)通,各類(lèi)資源及時(shí)分享,歡迎交流討論!

    如果你對(duì)Aspose的產(chǎn)品感興趣或有任何技術(shù)難題都可以?huà)呙柘路蕉S碼告訴我們哦~

    ↓↓↓

    q4HAjUm_extraLarge.png


    掃碼咨詢(xún)


    添加微信 立即咨詢(xún)

    電話(huà)咨詢(xún)

    客服熱線(xiàn)
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();