Lägg till PDF Bokmärken
Contents
[
Hide
]
Den här artikeln innehåller information om hur du infogar PDF-bokmärken när du konverterar ett kalkylblad till PDF.
Aspose.Cells låter dig lägga till bokmärken i farten. PDF bokmärken kan drastiskt förbättra navigerbarheten för långa dokument. När du lägger till bokmärkeslänkar till PDF dokument kan du ha exakt kontroll över den exakta vy du vill ha, du är inte begränsad till att länka till en sida. Du kan ställa in den exakta vyn genom att placera målsidan och sedan skapa bokmärket.
Se följande exempelkod för att ta reda på hur du lägger till PDF-bokmärken. Koden genererar en enkel arbetsbok, anger PDF-bokmärken med destinationsplatser och genererar PDF-filen.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// 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); | |
// Create an instance of PdfSaveOptions | |
Aspose.Cells.PdfSaveOptions pdfSaveOptions = new Aspose.Cells.PdfSaveOptions(); | |
// Set the PDF Bookmark root object | |
pdfSaveOptions.Bookmark = pbeRoot; | |
dataDir = dataDir+ "PDFBookmarks_test.out.pdf"; | |
// Save the pdf file | |
workbook.Save(dataDir, pdfSaveOptions); |
Om ditt kalkylblad har formler är det bäst att ringaArbetsbok. BeräknaFormel precis innan du renderar kalkylarket till formatet PDF. Om du gör det säkerställer du att de formelberoende värdena uppdateras och återges korrekt i PDF.