Home > Code > C# > Insert PDF Bookmarks While Converting Excel Spreadsheet to PDF File

Insert PDF Bookmarks While Converting Excel Spreadsheet to PDF File

by sher azam   on Jul 03, 2013   Category: C#   |  Views: 1373    |  Points: 25   |  Gold 


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 drastically 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 bookmarks. 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 generate a simple workbook, specify PDF bookmarks with their destination locations and finally generate the pdf file.

[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]

'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")

More about Aspose.Pdf for .NET

- Homepage of Aspose.Cells for .NET: http://www.aspose.com/.net/excel-component.aspx

- Download Aspose.Cells for .NET: http://www.aspose.com/community/files/51/.net-components/aspose.cells-for-.net/default.aspx

- Read More Technical Tips by Aspose.Cells for .NET: http://www.aspose.com/docs/display/cellsnet/Technical+Articles



Post Code  |  Code Snippet Home

User Responses


No response found, be the first to review this code snippet.

Submit feedback about this code snippet

Please sign in to post feedback

Latest Posts