Comment convertir un PDF en classeur Excel modifiable dans Java
Ce guide montre comment transformer un PDF en classeur que vous pouvez réellement modifier, et pas seulement une exportation plate. Vous convertirez un PDF en XLSX avec ExcelSaveOptions, ajusterez l’exportation afin que les tableaux se placent proprement sur un nombre raisonnable de feuilles, et reconvertirez le classeur modifié en PDF avec ExcelLoadOptions.
Convertir un PDF en classeur Excel basique
Document.save avec SaveFormat.Xlsx effectue une conversion simple : le texte et le contenu de type tableau de chaque page sont placés sur une feuille de calcul distincte.
import org.aspose.pdf.Document;
import org.aspose.pdf.SaveFormat;
try (Document doc = new Document("report.pdf")) {
doc.save("report.xlsx", SaveFormat.Xlsx); // SaveFormat.Excel is an alias
}Ajuster l’exportation pour des feuilles de calcul plus propres
Une exportation d’une feuille par page n’est souvent pas ce qu’un utilisateur de feuille de calcul souhaite. ExcelSaveOptions contrôle la fusion des feuilles, la disposition des colonnes et les heuristiques de récupération de tableaux pour les PDF qui n’ont pas de structure de tableau balisée :
import org.aspose.pdf.Document;
import org.aspose.pdf.ExcelSaveOptions;
try (Document doc = new Document("report.pdf")) {
ExcelSaveOptions options = new ExcelSaveOptions();
options.setFormat(ExcelSaveOptions.ExcelFormat.XLSX); // default
options.setMinimizeTheNumberOfWorksheets(true); // merge pages onto fewer sheets
options.setInsertBlankColumnAtFirst(false); // no leading spacer column
options.setUniformWorksheets(false); // allow per-sheet column widths
options.setStructuralHeuristics(true); // recover tables on untagged PDFs
options.setSuppressRunningHeadersFooters(true); // drop repeated page furniture
doc.save("report.xlsx", options);
}setMinimizeTheNumberOfWorksheets(true) est l’unique option qui modifie le plus la forme de la sortie : sans elle, un rapport de 20 pages produit 20 feuilles de calcul.
Convertir un classeur Excel en PDF
Après qu’un réviseur ait modifié le classeur, retransformez-le en PDF en le chargeant avec ExcelLoadOptions et en enregistrant le document résultant:
import org.aspose.pdf.Document;
import org.aspose.pdf.ExcelLoadOptions;
try (Document doc = new Document("book.xlsx", new ExcelLoadOptions())) {
doc.save("book.pdf");
}