XPS ファイルを編集可能な DOCX ドキュメントに変換することは、レガシー文書をモダナイズしたり、レガシー資産を共同作業フローに統合したりする際に頻繁に必要とされます。 Conholdate.Total for Java は、Java での XPS から DOCX への変換をシンプルに実現し、裏で重い処理を担う堅牢な API を提供します。本ガイドでは、必要なセットアップ手順を説明し、完全な Java 実装例を示し、ベストな結果を得るための変換チューニング方法を解説します。最後まで読むと、信頼性の高い文書変換をアプリケーションに直接組み込むことができるようになります。

JavaでXPSをDOCXに変換する5つの手順

  1. Conholdate Maven リポジトリと依存関係を追加: Conholdate リポジトリと SDK アーティファクトを pom.xml に含め、Maven が必要なライブラリを解決できるようにします。
<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>
  1. XPS ドキュメントの読み込み: ソース XPS ファイルを指す Converter インスタンスを作成します。このクラスはコア変換 API の一部です。
String inputPath = "input.xps";
try (Converter converter = new Converter(inputPath)) {
    // Converter ready for use
}
  1. DOCX 変換オプションの作成: DocxConvertOptions をインスタンス化して、出力が DOCX になるように指定します。必要に応じて、このオブジェクトの追加プロパティを設定できます。
DocxConvertOptions options = new DocxConvertOptions();
  1. 変換を実行する: convert メソッドを呼び出し、ターゲットパスとオプションオブジェクトを渡します。この単一の呼び出しで全体の変換が処理されます。
String outputPath = "output.docx";
converter.convert(outputPath, options);
  1. 結果を検証する: 変換後、出力ファイルが存在し、通常のファイルであることを確認します。このシンプルな検証により、パスや権限の問題を早期に検出できます。
File resultFile = new File(outputPath);
if (resultFile.exists() && resultFile.isFile()) {
    System.out.println("Conversion succeeded: " + resultFile.getAbsolutePath());
} else {
    System.err.println("Conversion failed.");
}

Converter クラスの詳細については、API リファレンス を参照してください。

完全なコード例: Conholdate.Total を使用した XPS から DOCX への変換

以下の例は、Java における XPS から DOCX への変換の最小限かつエンドツーエンドの実装を示しています。エラーハンドリングと検証ステップが含まれています。

import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.DocxConvertOptions;
import java.io.File;

public class XpsToDocxConversion {
    public static void main(String[] args) {
        String inputPath = "input.xps";
        String outputPath = "output.docx";

// Load XPS document and prepare for conversion
        try (Converter converter = new Converter(inputPath)) {
            // Set conversion options for DOCX output
            DocxConvertOptions options = new DocxConvertOptions();

// Perform the conversion
            converter.convert(outputPath, options);
        } catch (Exception e) {
            System.err.println("Error during conversion: " + e.getMessage());
            e.printStackTrace();
            return;
        }

// Verify the result
        File resultFile = new File(outputPath);
        if (resultFile.exists() && resultFile.isFile()) {
            System.out.println("Conversion succeeded. Output file: " + resultFile.getAbsolutePath());
            System.out.println("File size: " + resultFile.length() + " bytes");
        } else {
            System.err.println("Conversion failed. Output file not found.");
        }
    }
}

注: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパスや設定値を実際の環境に合わせて更新し、必要な依存関係がすべて正しくインストールされていることを確認し、開発環境で十分にテストしてください。問題が発生した場合は、公式ドキュメントをご参照いただくか、サポートチームにお問い合わせください。

環境の準備

Conholdate.Total for Java の使用を開始するには、上記の Maven リポジトリと SDK 依存関係を追加します。ライブラリは Java 8 以降が必要で、製品版の使用には有効なライセンスが必要です。手動でインストールしたい場合は、最新の SDK パッケージをdownload pageから取得してください。

変換設定の微調整

DocxConvertOptions は DOCX 出力を制御するための主要なオブジェクトです。サンプルコードではデフォルト設定を使用しましたが、これはほとんどのシナリオに適しています。また、次のようなプロパティを調整することもできます:

  • 元のレイアウトを保持 - 複雑な XPS ファイルを変換する際に、元のページレイアウトを保持します。
  • フォント埋め込みを有効化 - 使用されたすべてのフォントを生成された DOCX に埋め込み、他のマシンでのフォント欠落問題を回避します。

これらのプロパティは API リファレンス に記載されています。使用ケースで特定の出力特性が必要な場合は、convert を呼び出す前にそれらを調整してください。

大きな XPS ファイルのパフォーマンスに関する考慮事項

  • 全ファイルをロードする代わりにストリーム - 非常に大きな XPS ドキュメントの場合、メモリ負荷を軽減するためにストリーミング アプローチ(例: InputStream)の使用を検討してください。
  • バッチ変換 - 多数のファイルを変換する際は、可能な限り単一の Converter インスタンスを再利用し、初期化のオーバーヘッドを繰り返すことを回避してください。
  • 不要なオプションを避ける - デフォルトと異なる変換オプションのみを設定してください。余分な設定は処理時間を増加させる可能性があります。

これらのヒントを適用すると、変換が高速かつメモリ効率的に保たれます。

信頼性の高い XPS から DOCX への変換の実用的なヒント

  • 変換を開始する前に、入力パスとファイルへのアクセス可能性を検証してください。
  • 例外を捕捉してログに記録し、問題を迅速に診断できるようにします。SDK はサポートされていない機能に対して詳細なメッセージをスローします。
  • 出力をさまざまな DOCX ビューア(Word、LibreOffice)でテストし、互換性を確保します。
  • SDK を常に最新の状態に保ちます。新しいリリースにはパフォーマンスの向上やバグ修正が含まれています。

結論

XPS to DOCX conversion in Java は、Conholdate.Total for Java のおかげで、シンプルで繰り返し可能なプロセスになりました。手順に従い、提供されたコードサンプルを使用し、構成とパフォーマンスに関する推奨事項を適用することで、任意の Java アプリケーションに信頼性の高い文書変換を組み込むことができます。製品版の使用には適切なライセンスを取得することを忘れないでください;一時ライセンス をリクエストして SDK を評価し、長期展開のための 価格オプション を確認してください。

よくある質問

JavaでXPSファイルをDOCXに変換するにはどうすればよいですか?
Conholdate.Total for Java の Converter クラスを DocxConvertOptions と共に使用します。API は単一のメソッド呼び出しで変換を実行し、完全なコード例で示されています。

Javaコードを書かずにXPSをDOCXに変換できますか?
Conholdate は、ドキュメント変換のためのクラウドベースの REST API も提供していますが、オンプレミスの Java プロジェクトの場合、ここで示したライブラリ アプローチが最も直接的で高性能なソリューションを提供します。

Conholdate.Total がサポートするその他の形式は何ですか?
SDK は 200 以上の形式をサポートしており、PDF、PNG、HTML、および多数の Office タイプが含まれます。完全な一覧は ドキュメント にあります。

Java SDK のライセンス情報はどこで確認できますか?
試用ライセンスについては一時ライセンスページをご覧いただき、商用オプションについては価格ページをご覧ください。

関連記事