Convertir un fichier XLSX en format PDF avec JavaScript via C++

Conversion d’Excel en PDF

Cet exemple utilise un fichier Excel (SampleInput.xlsx) comme modèle. Le classeur contient des feuilles avec des graphiques et des images. Chaque feuille contient différents types de formats utilisant des polices, des attributs, des couleurs, des effets de shading, et des bordures. Il y a un graphique en colonnes sur la première feuille et une image sur la dernière.

Le fichier Excel modèle

Le fichier modèle comporte trois feuilles, dont des graphiques et des images en tant que médias. La première feuille comporte des graphiques et la dernière une image, comme le montrent les captures d’écran ci-dessous.

todo:image_alt_text todo:image_alt_text
La troisième feuille de calcul (Saisie des données) La dernière feuille de calcul (Image)
todo:image_alt_text todo:image_alt_text
Le troisième feuillet (Saisie de données) Le dernier feuillet (Image)

Processus de conversion

<!DOCTYPE html>
<html>
    <head>
        <title>Aspose.Cells Example - Excel to PDF</title>
    </head>
    <body>
        <h1>Excel to PDF Example</h1>
        <input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
        <button id="runExample">Convert to PDF</button>
        <a id="downloadLink" style="display: none;"></a>
        <div id="result"></div>
    </body>

    <script src="aspose.cells.js.min.js"></script>
    <script type="text/javascript">
        const { Workbook, SaveFormat, 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 with the uploaded file
            const workbook = new Workbook(new Uint8Array(arrayBuffer));

            // Saving the PDF file
            const outputData = workbook.save(SaveFormat.Pdf);
            const blob = new Blob([outputData], { type: 'application/pdf' });
            const downloadLink = document.getElementById('downloadLink');
            downloadLink.href = URL.createObjectURL(blob);
            downloadLink.download = 'Output.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>

Résultat

Lorsque le code ci-dessus est exécuté, un fichier PDF est créé dans le dossier Files de votre répertoire d’application. Les captures d’écran suivantes montrent les pages PDF. Notez que les en-têtes et pieds de pages sont également conservés dans le fichier PDF de sortie.

todo:image_alt_text todo:image_alt_text
La troisième feuille de calcul (Saisie des données) La dernière feuille de calcul (Image)
todo:image_alt_text todo:image_alt_text
Le troisième feuillet (Saisie de données) Le dernier feuillet (Image)