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

    文檔首頁>>Aspose.PDF for .NET開發(fā)者使用教程>>PDF管理控件Aspose.PDF for .Net使用教程(三十五):添加表格

    PDF管理控件Aspose.PDF for .Net使用教程(三十五):添加表格


    Aspose.PDF for .NET是一種高PDF處理和解析API,用于在跨平臺(tái)應(yīng)用程序中執(zhí)行文檔管理和操作任務(wù)。API可以輕松用于生成、修改、轉(zhuǎn)換、渲染、保護(hù)和打印PDF文檔,而無需使用Adobe Acrobat。此外,API還提供PDF壓縮選項(xiàng),表格創(chuàng)建和操作,圖形和圖像功能,廣泛的超鏈接功能,印章和水印任務(wù),擴(kuò)展的安全控制和自定義字體處理。

    在接下來的系列教程中,將為開發(fā)者帶來Aspose.PDF for .NET的一系列使用教程,例如進(jìn)行文檔間的轉(zhuǎn)換,如何標(biāo)記PDF文件,如何使用表單和圖表等等。本文將介紹如何添加表格。

    >>Aspose.PDF for .NET更新至最新版v20.5,歡迎下載體驗(yàn)。


    使用PDF文檔時(shí),表格很重要。它們提供了用于以系統(tǒng)方式顯示信息的強(qiáng)大功能。該Aspose.PDF.Generator命名空間包含同名的類Table,Cell并且Row它從頭開始生成PDF文檔時(shí)創(chuàng)建表提供的功能。

    在現(xiàn)有的PDF文檔中添加表格

    要將表格添加到帶有.NET for Aspose.PDF的現(xiàn)有PDF文件中,請(qǐng)執(zhí)行以下步驟:

    1. 加載源文件
    2. 初始化表并設(shè)置其列和行
    3. 設(shè)置表格設(shè)置(我們已經(jīng)設(shè)置了邊框)
    4. 填充表格
    5. 將表添加到頁面
    6. 保存文件

    以下代碼段顯示了如何在現(xiàn)有的PDF文件中添加文本。

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_AsposePdf_Tables();
    
    // Load source PDF document
    Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir+ "AddTable.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); dataDir = dataDir + "document_with_table_out.pdf"; // Save updated document containing table object doc.Save(dataDir);

    ColumnAdjustmentType枚舉中的AutoFitToWindow屬性

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_AsposePdf_Tables();
    
    // Instntiate the Pdf object by calling its empty constructor
    Document doc = new Document();
    // Create the section in the Pdf object
    Page sec1 = doc.Pages.Add();
    
    // Instantiate a table object
    Aspose.Pdf.Table tab1 = new Aspose.Pdf.Table();
    // Add the table in paragraphs collection of the desired section
    sec1.Paragraphs.Add(tab1);
    
    // Set with column widths of the table
    tab1.ColumnWidths = "50 50 50";
    tab1.ColumnAdjustment = ColumnAdjustment.AutoFitToWindow;
    
    // Set default cell border using BorderInfo object
    tab1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);
    
    // Set table border using another customized BorderInfo object
    tab1.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 1F);
    // Create MarginInfo object and set its left, bottom, right and top margins
    Aspose.Pdf.MarginInfo margin = new Aspose.Pdf.MarginInfo();
    margin.Top = 5f;
    margin.Left = 5f;
    margin.Right = 5f;
    margin.Bottom = 5f;
    
    // Set the default cell padding to the MarginInfo object
    tab1.DefaultCellPadding = margin;
    
    // Create rows in the table and then cells in the rows
    Aspose.Pdf.Row row1 = tab1.Rows.Add();
    row1.Cells.Add("col1");
    row1.Cells.Add("col2");
    row1.Cells.Add("col3");
    Aspose.Pdf.Row row2 = tab1.Rows.Add();
    row2.Cells.Add("item1");
    row2.Cells.Add("item2");
    row2.Cells.Add("item3");
    
    dataDir = dataDir + "AutoFitToWindow_out.pdf";
    // Save updated document containing table object
    doc.Save(dataDir);

    獲取表格寬度

    有時(shí),需要?jiǎng)討B(tài)獲取表寬度。Aspose.PDF.Table類具有用于此目的的GetWidth()方法。例如,您尚未顯式設(shè)置表列的寬度并將ColumnAdjustment設(shè)置為AutoFitToContent。在這種情況下,您可以按以下方式獲取表格寬度。

    // Create a new document
    Document doc = new Document();
    // Add page in document
    Page page = doc.Pages.Add();
    // Initialize new table
    Table table = new Table
    {
        ColumnAdjustment = ColumnAdjustment.AutoFitToContent
    };
    // Add row in table 
    Row row = table.Rows.Add();
    // Add cell in table
    Cell cell = row.Cells.Add("Cell 1 text");
    cell = row.Cells.Add("Cell 2 text");
    // Get table width
    Console.WriteLine(table.GetWidth());

    將SVG對(duì)象添加到表單元格

    用于.NET的Aspose.PDF支持將表格單元格添加到PDF文件中的功能。創(chuàng)建表格時(shí),可以將文本或圖像添加到單元格中。此外,API還提供了將SVG文件轉(zhuǎn)換為PDF格式的功能。結(jié)合使用這些功能,可以加載SVG圖像并將其添加到表格單元格中。

    以下代碼段顯示了創(chuàng)建表實(shí)例并在表單元格內(nèi)添加SVG圖像的步驟。

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_AsposePdf_Tables();
    
    // Instantiate Document object
    Document doc = new Document();
    // Create an image instance
    Aspose.Pdf.Image img = new Aspose.Pdf.Image();
    // Set image type as SVG
    img.FileType = Aspose.Pdf.ImageFileType.Svg;
    // Path for source file
    img.File = dataDir + "SVGToPDF.svg";
    // Set width for image instance
    img.FixWidth = 50;
    // Set height for image instance
    img.FixHeight = 50;
    // Create table instance
    Aspose.Pdf.Table table = new Aspose.Pdf.Table();
    // Set width for table cells
    table.ColumnWidths = "100 100";
    // Create row object and add it to table instance
    Aspose.Pdf.Row row = table.Rows.Add();
    // Create cell object and add it to row instance
    Aspose.Pdf.Cell cell = row.Cells.Add();
    // Add textfragment to paragraphs collection of cell object
    cell.Paragraphs.Add(new TextFragment("First cell"));
    // Add another cell to row object
    cell = row.Cells.Add();
    // Add SVG image to paragraphs collection of recently added cell instance
    cell.Paragraphs.Add(img);
    // Create page object and add it to pages collection of document instance
    Page page = doc.Pages.Add();
    // Add table to paragraphs collection of page object
    page.Paragraphs.Add(table);
    
    dataDir = dataDir + "AddSVGObject_out.pdf";
    // Save PDF file
    doc.Save(dataDir);

    Aspose是目前國(guó)內(nèi)外非?;鸨夜δ軓?qiáng)大的文件格式敏捷開發(fā)控件,但因?yàn)楫a(chǎn)品眾多、技術(shù)問題復(fù)雜等因素,也常常遭受開發(fā)人員吐槽。如果您也正在使用Aspose相關(guān)產(chǎn)品,點(diǎn)擊下方按鈕,來談?wù)凙spose的優(yōu)劣,您的感受對(duì)我們相當(dāng)寶貴哦~

    一起聊聊Aspose的感受吧

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    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); })();