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書簽。
*正版優(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文件 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有任何需求和疑難,記得掃描下方二維碼告訴我們哦~