Hoe een PDF te converteren naar een bewerkbaar Excel-werkboek in Java
Deze gids laat zien hoe je een PDF omzet in een werkboek dat je daadwerkelijk kunt bewerken, en niet alleen een platte export. Je converteert een PDF naar XLSX met ExcelSaveOptions, past de export aan zodat tabellen netjes op een redelijk aantal bladen terechtkomen, en zet een bewerkt werkboek terug naar PDF met ExcelLoadOptions.
Converteer een PDF naar een Basis Excel-werkboek
Document.save met SaveFormat.Xlsx voert een eenvoudige conversie uit: de tekst en tabel-achtige inhoud van elke pagina wordt op een eigen werkblad geplaatst.
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
}Stem de export af voor schonere spreadsheets
Een export van één blad per pagina is vaak niet wat een spreadsheetgebruiker wil. ExcelSaveOptions regelt het samenvoegen van werkbladen, de kolomlay-out en heuristieken voor tabelherstel voor PDF-bestanden die geen getagde tabelstructuur hebben:
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) is de enige optie die de vorm van de output het meest verandert: zonder deze wordt een rapport van 20 pagina’s omgezet in 20 werkbladen.
Converteer een Excel-werkmap terug naar PDF
Nadat een beoordelaar het werkboek heeft bewerkt, zet het weer om naar PDF door het te laden met ExcelLoadOptions en het resulterende document op te slaan:
import org.aspose.pdf.Document;
import org.aspose.pdf.ExcelLoadOptions;
try (Document doc = new Document("book.xlsx", new ExcelLoadOptions())) {
doc.save("book.pdf");
}