Java で PDF を編集可能な Excel ワークブックに変換する方法

Java で PDF を編集可能な Excel ワークブックに変換する方法

このガイドでは、PDF を単なるフラットなエクスポートではなく、実際に編集できるワークブックに変換する方法を示します。ExcelSaveOptions を使用して PDF を XLSX に変換し、テーブルが適切な枚数のシートにきれいに配置されるようエクスポートを調整し、編集したワークブックを ExcelLoadOptions で PDF に戻します。

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
}

エクスポートを調整して、よりクリーンなスプレッドシートにする

ページごとに1シートのエクスポートは、スプレッドシートユーザーが望むものではないことが多いです。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に変換する

レビュアーがブックを編集した後、ExcelLoadOptionsで読み込んで、結果のドキュメントを保存することでPDF形式に戻します:

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

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

参照

 日本語