Ein PDF pro Excel Arbeitsblatt rendern Excel in PDF Konvertierung mit JavaScript über C++
Contents
[
Hide
]
Wenn Sie mit großen Microsoft Excel-Dateien arbeiten (zum Beispiel Arbeitsmappen mit vielen Arbeitsblättern, jeweils mit 50 Spalten und 300 oder mehr Zeilen Daten), möchten Sie möglicherweise, dass die PDF-Ausgabe für jedes Arbeitsblatt eine Seite anzeigt, unabhängig von der Größe des Arbeitsblatts. Dies bedeutet, dass jede Seite wahrscheinlich eine grundlegend andere Seitengröße hat. Dies kann durch Verwendung von Aspose.Cells for JavaScript über C++ erreicht werden.
Bitte sehen Sie sich den folgenden Beispielcode an, der eine Excel-Datei mit mehreren Arbeitsblättern in PDF konvertiert.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example - Excel to PDF</title>
</head>
<body>
<h1>Convert Excel to PDF (One Page Per Worksheet)</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx" />
<button id="runExample">Convert to PDF</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, PdfSaveOptions } = 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();
// Initialize a new Workbook by opening the selected Excel file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Implement one page per worksheet option
const pdfSaveOptions = new PdfSaveOptions();
pdfSaveOptions.onePagePerSheet = true;
// Save the PDF file (returns binary data)
const outputData = workbook.save(SaveFormat.Pdf, pdfSaveOptions);
const blob = new Blob([outputData], { type: 'application/pdf' });
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'OutputFile.out.pdf';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download PDF File';
document.getElementById('result').innerHTML = '<p style="color: green;">PDF generated successfully! Click the download link to get the PDF file.</p>';
});
</script>
</html>
Wenn die Option PdfSaveOptions.onePagePerSheet auf true gesetzt ist, wird der gesamte Blatteinhalt auf eine PDF-Seite gerendert.
Wenn Ihre Tabelle Formeln enthält, ist es am besten, Workbook.calculateFormula() direkt vor dem Rendern in PDF aufzurufen. Dies stellt sicher, dass die formelabhängigen Werte neu berechnet werden und die korrekten Werte im PDF dargestellt werden.