Jak převést PDF na editovatelný sešit Excel v Java

Jak převést PDF na editovatelný sešit Excel v Java

Tento návod ukazuje, jak převést PDF na sešit, který můžete skutečně upravovat, a ne jen na plošný export. Převodíte PDF na XLSX pomocí ExcelSaveOptions, vyladíte export tak, aby tabulky čistě dopadly na rozumný počet listů, a převedete upravený sešit zpět do PDF pomocí ExcelLoadOptions.

Převést PDF na základní sešit Excel

Document.save s SaveFormat.Xlsx provádí jednoduchý převod: text a tabulkově vypadající obsah každé stránky je umístěn na vlastní list.

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
}

Vyladit export pro čistší tabulky

Export s jedním listem na stránku často není to, co uživatel tabulek očekává. ExcelSaveOptions řídí slučování listů, rozvržení sloupců a heuristiky obnovy tabulek pro PDF, které nemají označenou strukturu tabulky:

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) je jediná volba, která nejvíce mění tvar výstupu: bez ní 20-stránková zpráva vytvoří 20 listů.

Převést sešit Excel zpět do PDF

Po úpravě sešitu recenzentem jej vraťte do PDF formátu načtením pomocí ExcelLoadOptions a uložením výsledného dokumentu:

import org.aspose.pdf.Document;
import org.aspose.pdf.ExcelLoadOptions;

try (Document doc = new Document("book.xlsx", new ExcelLoadOptions())) {
    doc.save("book.pdf");
}

Viz také:

 Čeština