Crear PdfBookmarkEntry para la hoja de gráficos con JavaScript vía C++
Contents
[
Hide
]
Escenarios de uso posibles
Anteriormente, Aspose.Cells creaba PdfBookmarkEntry para una hoja normal. Pero ahora Aspose.Cells también puede crear PdfBookmarkEntry para hojas de gráficos. Como una hoja de gráfico no tiene otras celdas aparte de la celda A1, solo creará PdfBookmarkEntry para la celda A1.
Crear entrada de marcador de PDF para hoja de gráfico
El siguiente código de ejemplo carga el archivo de Excel de muestra que tiene cuatro hojas. Dos de ellas son hojas normales y las otras dos son hojas de gráficos. Crea cuatro entradas de marcadores como sigue
- Marca de libro-I
- Marca de libro-II-Gráfico1
- Marca de libro-III
- Marca de libro-IV-Gráfico2
La siguiente captura de pantalla muestra el PDF de salida generado por el código de muestra como referencia.

Código de muestra
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Create PDF Bookmark Entry for Chart Sheet Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, PdfBookmarkEntry, PdfSaveOptions, Utils } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiating a Workbook object from uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Access all four worksheets
const sheet1 = workbook.worksheets.get(0);
const sheet2 = workbook.worksheets.get(1);
const sheet3 = workbook.worksheets.get(2);
const sheet4 = workbook.worksheets.get(3);
// Create Pdf Bookmark Entry for Sheet1
const ent1 = new PdfBookmarkEntry();
ent1.destination = sheet1.cells.get("A1");
ent1.text = "Bookmark-I";
// Create Pdf Bookmark Entry for Sheet2 - Chart
const ent2 = new PdfBookmarkEntry();
ent2.destination = sheet2.cells.get("A1");
ent2.text = "Bookmark-II-Chart1";
// Create Pdf Bookmark Entry for Sheet3
const ent3 = new PdfBookmarkEntry();
ent3.destination = sheet3.cells.get("A1");
ent3.text = "Bookmark-III";
// Create Pdf Bookmark Entry for Sheet4 - Chart
const ent4 = new PdfBookmarkEntry();
ent4.destination = sheet4.cells.get("A1");
ent4.text = "Bookmark-IV-Chart2";
// Arrange all Bookmark Entries
const lst = [];
lst.push(ent2);
lst.push(ent3);
lst.push(ent4);
// Create Pdf Save Options with Bookmark Entries
const opts = new PdfSaveOptions();
opts.bookmark = ent1;
// Save the output Pdf
const outputData = workbook.save(SaveFormat.Pdf, opts);
const blob = new Blob([outputData], { type: 'application/pdf' });
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'outputCreatePdfBookmarkEntryForChartSheet.pdf';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download PDF File';
document.getElementById('result').innerHTML = '<p style="color: green;">PDF created successfully! Click the download link to get the PDF file.</p>';
});
</script>
</html>