PDFは、ドキュメントをサードパーティに送信するために最も一般的に使用される形式の1つです。この人気の背後にある理由は、ハードウェア/ソフトウェア要件に関係なく、複数のプラットフォーム間でのPDFの互換性です。ただし、場合によっては、PDFドキュメントを編集可能なドキュメント形式に変換したいことがあります。このような場合、PDFからDOCまたはDOCX形式が優先変換オプションになる可能性があります。変換プロセスを自動化するために、この記事では、JavaでプログラムによってPDFをWordDOCおよびDOCXに変換する方法を紹介します。
したがって、この記事では、次の方法を理解することができます。
- Javaを使用してPDFをDOCに変換します。
- Javaを使用してPDFをDOCX形式に変換します。
- PDFからWord(DOC / DOCX)への変換をカスタマイズします。
JavaPDFからWordDOCへのコンバータライブラリ
Aspose.PDF for Javaのおかげで-PDFファイルをPDFからDOCおよびPDFからDOCXを含む他のさまざまな形式に変換する簡単な方法を提供するPDF操作JavaAPI。 ダウンロードしてAPIのJARファイルをプロジェクトに追加するか、次のMaven構成を使用して参照することができます。
リポジトリ:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
依存:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>19.12</version>
</dependency>
JavaでPDFをDOCに変換する
アプリケーションでAspose.PDFforJavaを参照すると、数行のコードで任意のPDFドキュメントをDOC形式に変換できます。この変換を実行するために必要な手順は次のとおりです。
- Documentクラスのインスタンスを作成し、入力PDFファイルのパスで初期化します。
- 出力DOCファイルの名前とSaveFormat.Doc引数を使用して、Document.save()メソッドを呼び出します。
次のコードサンプルは、JavaでPDFをDOCに変換する方法を示しています。
// ソースPDFファイルをロード
Document doc = new Document("input.pdf");
// 結果のDOCファイルを保存します
doc.save("output.doc", SaveFormat.Doc);
PDFドキュメントを入力
出力ワードドキュメント
JavaでPDFをDOCXに変換する
DOCXはWord文書でよく知られている形式であり、DOC形式とは対照的に、DOCXの構造はXMLファイルだけでなくバイナリにも基づいていました。 PDFをDOCX形式に変換する場合は、Document.save()メソッドのSaveFormat.DocX引数を使用して変換するようにAPIに指示できます。
次のコードサンプルは、JavaでPDFをDOCXに変換する方法を示しています。
// ソースPDFファイルをロード
Document doc = new Document("input.pdf");
// 結果のDOCXファイルを保存します
doc.save("output.docx", SaveFormat.DocX);
追加オプション付きのJavaPDFからWordへ
Aspose.PDF for Javaには、出力形式、画像の解像度、テキスト行間の距離など、PDFからWordへの変換で使用できるいくつかの追加オプションも用意されています。 DocSaveOptionsクラスはこの目的で使用され、使用できるオプションのリストは次のとおりです。
- setFormat(int value) - To set the output format (Doc, Docx, etc.).
- setAddReturnToLineEnd(boolean value) - To add the paragraph or line breaks.
- setImageResolutionX(int value) - To set the X resolution for the images.
- setImageResolutionY(int value) - To set the Y resolution for the images.
- setMaxDistanceBetweenTextLines(float value) - To group text lines into paragraphs.
- setMode(int value) - To set recognition mode.
- setRecognizeBullets(boolean value) - To switch the recognition of bullets on.
- setRelativeHorizontalProximity(float value) - To set the width of space between different text elements in the input PDF file.
次のコードサンプルは、Javaを使用したPDFからDOCXへの変換でDocSaveOptionsクラスを使用する方法を示しています。
// ソースPDFファイルをロード
Document doc = new Document("input.pdf");
// DocSaveOptionsインスタンスをインスタンス化します
DocSaveOptions saveOptions = new DocSaveOptions();
// 出力形式を設定する
saveOptions.setFormat(DocSaveOptions.DocFormat.DocX);
// 認識モードをフローとして設定します
saveOptions.setMode(DocSaveOptions.RecognitionMode.Flow);
// 水平方向の近接度を2.5に設定します
saveOptions.setRelativeHorizontalProximity(2.5f);
// 変換プロセス中に弾丸の認識を有効にする
saveOptions.setRecognizeBullets(true);
// 結果のDOCXファイルを保存します
doc.save("resultant.docx", saveOptions);
結論
この記事では、JavaでPDFドキュメントをWordDOCおよびDOCXに変換するのがいかに簡単であるかを学びました。要件に基づいて、PDFをDOCに、またはPDFをDOCXに変換できます。さらに、PDFからWord DOC/DOCXへの変換をカスタマイズするための追加機能についても説明しました。 PDFを他の形式に変換する方法について詳しくは、ドキュメントをご覧ください。