• <menu id="w2i4a"></menu>
  • logo Aspose.Cells開發(fā)者指南

    文檔首頁>>Aspose.Cells開發(fā)者指南>>Excel管理控件Aspose.Cells開發(fā)者指南(十四):將Excel轉(zhuǎn)換為PDF時插入PDF書簽

    Excel管理控件Aspose.Cells開發(fā)者指南(十四):將Excel轉(zhuǎn)換為PDF時插入PDF書簽


    Aspose.Cells for .NET是Excel電子表格編程API,可加快電子表格管理和處理任務(wù),支持構(gòu)建具有生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印電子表格功能的跨平臺應(yīng)用程序。

    在接下來的系列教程中,將為開發(fā)者帶來Aspose.Cells for .NET的一系列使用教程,例如關(guān)于加載保存轉(zhuǎn)換、字體、渲染、繪圖、智能標(biāo)記等等。本文將為大家介紹如何將Excel轉(zhuǎn)換為PDF是插入PDF書簽以及帶有目的地名稱的PDF書簽。

    下載最新版Aspose.Cells for .NET

    *正版優(yōu)惠進(jìn)行時,滿額送豪禮,想要購買Aspose正版授權(quán)的朋友可以聯(lián)系慧都客服哦~


    第三章:渲染

    ▲第一節(jié):添加PDF書簽

    Aspose.Cells允許您即時添加書簽。PDF書簽可以大大改善長文檔的可瀏覽性。將書簽鏈接添加到PDF文檔時,可以精確控制所需的確切視圖,而不僅限于鏈接到頁面。同時可以通過定位目標(biāo)頁面來設(shè)置精確視圖,然后創(chuàng)建書簽。

    請查看以下示例代碼,以了解如何添加PDF書簽。該代碼生成一個簡單的工作簿,指定帶有目標(biāo)位置的PDF書簽,并生成PDF文件。

    // 文檔目錄的路徑。
    string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
         
    
    //創(chuàng)建目錄(如果尚不存在)。
    bool IsExists = System.IO.Directory.Exists(dataDir);
    if (!IsExists)
        System.IO.Directory.CreateDirectory(dataDir);
    
    //實例化一個新的工作簿
    Workbook workbook = new Workbook();
    //獲取第一個(默認(rèn))工作表中的單元格
    Cells cells = workbook.Worksheets[0].Cells;
    //獲取A1單元格
    Aspose.Cells.Cell p = cells["A1"];
    //輸入一個值
    p.PutValue("Preface");
    //獲取A10單元格
    Aspose.Cells.Cell A = cells["A10"];
    //輸入一個值。
    A.PutValue("page1");
    //獲取H15單元格
    Aspose.Cells.Cell D = cells["H15"];
    //輸入一個值
    D.PutValue("page1(H15)");
    //將新工作表添加到工作簿
    workbook.Worksheets.Add();
    //獲取第二張表中的單元格
    cells = workbook.Worksheets[1].Cells;
    //在第二張工作表中獲取B10單元格
    Aspose.Cells.Cell B = cells["B10"];
    //輸入一個值
    B.PutValue("page2");
    //將新工作表添加到工作簿
    workbook.Worksheets.Add();
    //獲取第三張表格中的單元格
    cells = workbook.Worksheets[2].Cells;
    //在第三張表格中獲取C10單元格
    Aspose.Cells.Cell C = cells["C10"];
    //輸入一個值
    C.PutValue("page3");
    
    //創(chuàng)建一個主要的PDF書簽輸入對象
    Aspose.Cells.Rendering.PdfBookmarkEntry pbeRoot = new Aspose.Cells.Rendering.PdfBookmarkEntry();
    // 指定其文字
    pbeRoot.Text = "Sections";
    //設(shè)置目標(biāo)單元格/位置
    pbeRoot.Destination = p;
    
    //設(shè)置其子條目數(shù)組列表
    pbeRoot.SubEntry = new ArrayList();
    
    //創(chuàng)建子PDF書簽條目對象
    Aspose.Cells.Rendering.PdfBookmarkEntry subPbe1 = new Aspose.Cells.Rendering.PdfBookmarkEntry();
    //指定其文字
    subPbe1.Text = "Section 1";
    //設(shè)置其目標(biāo)單元格
    subPbe1.Destination = A;
    // 定義/創(chuàng)建“ A節(jié)”的子書簽條目對象
    Aspose.Cells.Rendering.PdfBookmarkEntry ssubPbe = new Aspose.Cells.Rendering.PdfBookmarkEntry();
    //指定其文字
    ssubPbe.Text = "Section 1.1";
    //設(shè)置目的地
    ssubPbe.Destination = D;
    //創(chuàng)建/設(shè)置其子條目數(shù)組列表對象
    subPbe1.SubEntry = new ArrayList();
    //將對象添加到“第1節(jié)”
    subPbe1.SubEntry.Add(ssubPbe);
    // 將對象添加到主PDF根對象
    pbeRoot.SubEntry.Add(subPbe1);
    
    //創(chuàng)建子PDF書簽條目對象
    Aspose.Cells.Rendering.PdfBookmarkEntry subPbe2 = new Aspose.Cells.Rendering.PdfBookmarkEntry();
    //指定其文字
    subPbe2.Text = "Section 2";
    //設(shè)置目的地
    subPbe2.Destination = B;
    //將對象添加到主PDF根對象
    pbeRoot.SubEntry.Add(subPbe2);
    
    // 創(chuàng)建子PDF書簽條目對象
    Aspose.Cells.Rendering.PdfBookmarkEntry subPbe3 = new Aspose.Cells.Rendering.PdfBookmarkEntry();
    //指定其文字
    subPbe3.Text = "Section 3";
    //設(shè)置目的地
    subPbe3.Destination = C;
    //將對象添加到主PDF根對象
    pbeRoot.SubEntry.Add(subPbe3);
    
    //創(chuàng)建一個PdfSaveOptions實例
    Aspose.Cells.PdfSaveOptions pdfSaveOptions = new Aspose.Cells.PdfSaveOptions();
    
    //設(shè)置PDF書簽根對象
    pdfSaveOptions.Bookmark = pbeRoot;
    
    dataDir = dataDir+ "PDFBookmarks_test.out.pdf";
    //保存pdf文件
    workbook.Save(dataDir, pdfSaveOptions);

    還想要更多嗎?您可以點擊閱讀【2019 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。

    ▲第二節(jié):添加帶有終點名稱的PDF書簽

    命名目的地是PDF中不依賴于PDF頁面的特殊種類的書簽或鏈接。這意味著,如果添加頁面或從PDF中刪除頁面,書簽可能會變得無效,但命名的目的地將保持不變。要創(chuàng)建命名目的地,請設(shè)置  PdfBookmarkEntry.DestinationName屬性。

    請參閱以下示例代碼,其源Excel文件和其輸出PDF文件。屏幕截圖顯示了輸出PDF內(nèi)的書簽和命名的目的地。該屏幕快照還描述了如何查看命名目的地以及您需要Acrobat Reader Professional版本。

    Excel管理控件Aspose.Cells開發(fā)者指南:將Excel轉(zhuǎn)換為PDF是插入PDF書簽

    //加載源Excel文件
    Workbook wb = new Workbook(sourceDir + "samplePdfBookmarkEntry_DestinationName.xlsx");
    
    //訪問第一個工作表
    Worksheet ws = wb.Worksheets[0];
    
    //訪問單元格C5
    Cell cell = ws.Cells["C5"];
    
    //為此單元格創(chuàng)建書簽和目標(biāo)
    PdfBookmarkEntry bookmarkEntry = new PdfBookmarkEntry();
    bookmarkEntry.Text = "Text";
    bookmarkEntry.Destination = cell;
    bookmarkEntry.DestinationName = "AsposeCells--" + cell.Name;
    
    //存取單元格G56
    cell = ws.Cells["G56"];
    
    //為此單元格創(chuàng)建子書簽和目標(biāo)
    PdfBookmarkEntry subbookmarkEntry1 = new PdfBookmarkEntry();
    subbookmarkEntry1.Text = "Text1";
    subbookmarkEntry1.Destination = cell;
    subbookmarkEntry1.DestinationName = "AsposeCells--" + cell.Name;
    
    //訪問單元格L4
    cell = ws.Cells["L4"];
    
    //為此單元格創(chuàng)建子書簽和目標(biāo)
    PdfBookmarkEntry subbookmarkEntry2 = new PdfBookmarkEntry();
    subbookmarkEntry2.Text = "Text2";
    subbookmarkEntry2.Destination = cell;
    subbookmarkEntry2.DestinationName = "AsposeCells--" + cell.Name;
    
    //在列表中添加子書簽
    ArrayList list = new ArrayList();
    list.Add(subbookmarkEntry1);
    list.Add(subbookmarkEntry2);
    
    //將子書簽列表分配給書簽子條目
    bookmarkEntry.SubEntry = list;
    
    //創(chuàng)建PdfSaveOptions并為其分配書簽
    PdfSaveOptions opts = new PdfSaveOptions();
    opts.Bookmark = bookmarkEntry;
    
    //使用給定的pdf保存選項以Pdf格式保存工作簿
    wb.Save(outputDir + "outputPdfBookmarkEntry_DestinationName.pdf", opts);

    如果您對Aspose有任何需求和疑難,記得掃描下方二維碼告訴我們哦~

    q4HAjUm_extraLarge.png



    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

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