Insert PDF Bookmarks While Converting Excel Spreadsheet to PDF File
This technical tip shows how to insert PDF Bookmarks while converting a spreadsheet to PDF file. Aspose.Cells allows you to add bookmarks for your requirement at runtime. PDF bookmarks can drasically improve the navigability of longer PDF documents. When adding bookmark links to other parts of a PDF document, you can have precise control over the exact view you want, you're not limited to just linking to a page or so. You set up the precise view by positioning the page as you would like it to be viewed, and then you create the bookmark s. In this document, we have provided the simplest lines of code using Aspose.Cells API to perform the task for you. Please see the following sample code to find how you can add PDF bookmarks. We will geneate a simple workbook, specify PDF bookmarks with their destination locations and finally generate the pdf file.
Please take a look over the following code snippet for this approach.
[C#]
//Instantiate a new workbook Workbook workbook = new Workbook(); //Get the cells in the first(default) worksheet Cells cells = workbook.Worksheets[0].Cells; //Get the A1 cell Aspose.Cells.Cell p = cells["A1"]; //Enter a value p.PutValue("Preface"); //Get the A10 cell Aspose.Cells.Cell A = cells["A10"]; //Enter a value. A.PutValue("page1"); //Get the H15 cell Aspose.Cells.Cell D = cells["H15"]; //Enter a value D.PutValue("page1(H15)"); //Add a new worksheet to the workbook workbook.Worksheets.Add(); //Get the cells in the second sheet cells = workbook.Worksheets[1].Cells; //Get the B10 cell in the second sheet Aspose.Cells.Cell B = cells["B10"]; //Enter a value B.PutValue("page2"); //Add a new worksheet to the workbook workbook.Worksheets.Add(); //Get the cells in the third sheet cells = workbook.Worksheets[2].Cells; //Get the C10 cell in the third sheet Aspose.Cells.Cell C = cells["C10"]; //Enter a value C.PutValue("page3");
//Create a main PDF Bookmark entry object Aspose.Cells.Rendering.PdfBookmarkEntry pbeRoot = new Aspose.Cells.Rendering.PdfBookmarkEntry(); //Specify its text pbeRoot.Text = "Sections"; //Set the destination cell/location pbeRoot.Destination = p;
//Set its sub entry array list pbeRoot.SubEntry = new ArrayList();
//Create a sub PDF Bookmark entry object Aspose.Cells.Rendering.PdfBookmarkEntry subPbe1 = new Aspose.Cells.Rendering.PdfBookmarkEntry(); //Specify its text subPbe1.Text = "Section 1"; //Set its destination cell subPbe1.Destination = A; //Define/Create a sub Bookmark entry object of "Section A" Aspose.Cells.Rendering.PdfBookmarkEntry ssubPbe = new Aspose.Cells.Rendering.PdfBookmarkEntry(); //Specify its text ssubPbe.Text = "Section 1.1"; //Set its destination ssubPbe.Destination = D; //Create/Set its sub entry array list object subPbe1.SubEntry = new ArrayList(); //Add the object to "Section 1" subPbe1.SubEntry.Add(ssubPbe); //Add the object to the main PDF root object pbeRoot.SubEntry.Add(subPbe1);
//Create a sub PDF Bookmark entry object Aspose.Cells.Rendering.PdfBookmarkEntry subPbe2 = new Aspose.Cells.Rendering.PdfBookmarkEntry(); //Specify its text subPbe2.Text = "Section 2"; //Set its destination subPbe2.Destination = B; //Add the object to the main PDF root object pbeRoot.SubEntry.Add(subPbe2);
//Create a sub PDF Bookmark entry object Aspose.Cells.Rendering.PdfBookmarkEntry subPbe3 = new Aspose.Cells.Rendering.PdfBookmarkEntry(); //Specify its text subPbe3.Text = "Section 3"; //Set its destination subPbe3.Destination = C; //Add the object to the main PDF root object pbeRoot.SubEntry.Add(subPbe3);
//Set the PDF Bookmark root object workbook.SaveOptions.PdfBookmark = pbeRoot;
//Save the pdf file workbook.Save("f:\\test\\PDFBookmarks_test.pdf");
[VB.NET]
'Instantiate a new workbook Dim workbook As New Workbook() 'Get the cells in the first(default) worksheet Dim cells As Cells = workbook.Worksheets(0).Cells 'Get the A1 cell Dim p As Aspose.Cells.Cell = cells("A1") 'Enter a value p.PutValue("Preface") 'Get the A10 cell Dim A As Aspose.Cells.Cell = cells("A10") 'Enter a value. A.PutValue("page1") 'Get the H15 cell Dim D As Aspose.Cells.Cell = cells("H15") 'Enter a value D.PutValue("page1(H15)") 'Add a new worksheet to the workbook workbook.Worksheets.Add() 'Get the cells in the second sheet cells = workbook.Worksheets(1).Cells 'Get the B10 cell in the second sheet Dim B As Aspose.Cells.Cell = cells("B10") 'Enter a value B.PutValue("page2") 'Add a new worksheet to the workbook workbook.Worksheets.Add() 'Get the cells in the third sheet cells = workbook.Worksheets(2).Cells 'Get the C10 cell in the third sheet Dim C As Aspose.Cells.Cell = cells("C10") 'Enter a value C.PutValue("page3")
'Create a main PDF Bookmark entry object Dim pbeRoot As New Aspose.Cells.Rendering.PdfBookmarkEntry() 'Specify its text pbeRoot.Text = "Sections" 'Set the destination cell/location pbeRoot.Destination = p
'Set its sub entry array list pbeRoot.SubEntry = New ArrayList()
'Create a sub PDF Bookmark entry object Dim subPbe1 As New Aspose.Cells.Rendering.PdfBookmarkEntry() 'Specify its text subPbe1.Text = "Section 1" 'Set its destination cell subPbe1.Destination = A 'Define/Create a sub Bookmark entry object of "Section A" Dim ssubPbe As New Aspose.Cells.Rendering.PdfBookmarkEntry() 'Specify its text ssubPbe.Text = "Section 1.1" 'Set its destination ssubPbe.Destination = D 'Create/Set its sub entry array list object subPbe1.SubEntry = New ArrayList() 'Add the object to "Section 1" subPbe1.SubEntry.Add(ssubPbe) 'Add the object to the main PDF root object pbeRoot.SubEntry.Add(subPbe1)
'Create a sub PDF Bookmark entry object Dim subPbe2 As New Aspose.Cells.Rendering.PdfBookmarkEntry() 'Specify its text subPbe2.Text = "Section 2" 'Set its destination subPbe2.Destination = B 'Add the object to the main PDF root object pbeRoot.SubEntry.Add(subPbe2)
'Create a sub PDF Bookmark entry object Dim subPbe3 As New Aspose.Cells.Rendering.PdfBookmarkEntry() 'Specify its text subPbe3.Text = "Section 3" 'Set its destination subPbe3.Destination = C 'Add the object to the main PDF root object pbeRoot.SubEntry.Add(subPbe3)
'Set the PDF Bookmark root object workbook.SaveOptions.PdfBookmark = pbeRoot
'Save the pdf file
workbook.Save("f:\test\PDFBookmarks_test.pdf")
Visit Homepage of Aspose.Cells for .NET








