Как конвертировать PDF в редактируемую книгу Excel в Java

Как конвертировать PDF в редактируемую книгу Excel в Java

Это руководство показывает, как превратить PDF в книгу, которую действительно можно редактировать, а не просто в плоский экспорт. Вы конвертируете PDF в XLSX с помощью ExcelSaveOptions, настроите экспорт так, чтобы таблицы аккуратно помещались на разумное количество листов, и преобразуете отредактированную книгу обратно в PDF с помощью ExcelLoadOptions.

Конвертировать PDF в базовую книгу Excel

Document.save с SaveFormat.Xlsx выполняет простую конвертацию: текст и табличный контент каждой страницы размещаются на отдельном листе.

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
}

Настройте экспорт для более чистых таблиц

Экспорт один лист на страницу часто не соответствует желаниям пользователя таблиц. ExcelSaveOptions управляет объединением листов, расположением столбцов и эвристиками восстановления таблиц для PDF без разметки таблиц:

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) — единственная опция, которая в наибольшей степени меняет форму вывода: без неё 20-страничный отчёт создаёт 20 листов.

Преобразовать книгу Excel обратно в PDF

После того как рецензент отредактирует книгу, верните её в формат PDF, загрузив её с помощью ExcelLoadOptions и сохранив полученный документ:

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

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

См. также:

 Русский