Hur man konverterar en PDF till en redigerbar Excel-arbetsbok i Java
Den här guiden visar hur du omvandlar en PDF till en arbetsbok som du faktiskt kan redigera, inte bara en platt export. Du kommer att konvertera en PDF till XLSX med ExcelSaveOptions, finjustera exporten så att tabeller hamnar rent på ett rimligt antal blad, och konvertera en redigerad arbetsbok tillbaka till PDF med ExcelLoadOptions.
Konvertera en PDF till en grundläggande Excel-arbetsbok
Document.save med SaveFormat.Xlsx utför en enkel konvertering: varje sidas text och tabelliknande innehåll placeras på ett eget arbetsblad.
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
}Finjustera exporten för renare kalkylblad
En export med ett blad per sida är ofta inte vad en kalkylbladsanvändare vill ha. ExcelSaveOptions styr sammanslagning av arbetsblad, kolumnlayout och heuristik för återställning av tabeller för PDF-filer som saknar strukturerade tabeller:
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) är det enda alternativet som mest förändrar utdataformen: utan det producerar en 20-sidig rapport 20 arbetsblad.
Konvertera en Excel-arbetsbok tillbaka till PDF
Efter att en granskare har redigerat arbetsboken, återför den till PDF-format genom att ladda den med ExcelLoadOptions och spara det resulterande dokumentet:
import org.aspose.pdf.Document;
import org.aspose.pdf.ExcelLoadOptions;
try (Document doc = new Document("book.xlsx", new ExcelLoadOptions())) {
doc.save("book.pdf");
}