Ridimensionamento delle immagini aggiunte Conversione da Excel a PDF con JavaScript via C++
Contents
[
Hide
]
Durante il lavoro con grandi file Microsoft Excel con molte immagini, potresti aver bisogno di comprimere le immagini che sono state aggiunte per ridurre la dimensione del file PDF di output e migliorare le prestazioni complessive di conversione. {Aspose.Cells for Java}Script via C++ supporta il ridimensionamento delle immagini aggiunte per ridurre la dimensione del file PDF di output e migliorare un po' le prestazioni.
Si prega di consultare il codice di esempio seguente che descrive come eseguire il compito utilizzando l’API Aspose.Cells. L’esempio converte un file Microsoft Excel in un file PDF comprimendo le immagini nel file.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Aspose.Cells - Convert Excel to PDF</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<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, 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();
// Initialize a new Workbook by opening the uploaded Excel file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Instantiate the PdfSaveOptions
const pdfSaveOptions = new PdfSaveOptions();
// Set Image Resample properties (converted from setImageResample(300, 70))
// Universal setter->property conversion: setImageResample(...) -> imageResample = [...]
pdfSaveOptions.imageResample = [300, 70];
// 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.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>
Utilizzare l’opzione imageResample(number, number) minimizza la dimensione del PDF di output, ma potrebbe influire leggermente sulla qualità dell’immagine.
Se il foglio di calcolo contiene formule, è meglio chiamare workbook.calculateFormula() proprio prima di rendere il foglio di calcolo in formato PDF. In questo modo si garantisce il ricalcolo dei valori dipendenti dalle formule e la visualizzazione dei valori corretti nel PDF.