PDFをMicrosoft Wordに変換

概要

この記事では、PHPを使用してPDFをWordに変換する方法を説明します。コードは非常にシンプルで、PDFをDocumentクラスにロードして、出力としてMicrosoft WordのDOCまたはDOCX形式として保存するだけです。次のトピックをカバーします

PDFをDOCに変換

最も人気のある機能の一つは、PDFをMicrosoft Word DOCに変換することで、これによりコンテンツの操作が容易になります。Aspose.PDF for PHPを使用すると、PDFファイルをDOCに変換できます。

Aspose.PDF for PHPは、ゼロからPDFドキュメントを作成でき、既存のPDFドキュメントを更新、編集、操作するための優れたツールキットです。重要な機能の一つは、ページやPDF全体を画像に変換する能力です。もう一つの人気機能は、PDFをMicrosoft Word DOCに変換することで、これによりコンテンツの操作が容易になります。(ほとんどのユーザーはPDFドキュメントを編集できませんが、Microsoft Wordでテーブル、テキスト、画像を簡単に操作できます。)

シンプルで理解しやすくするために、Aspose.PDF for PHPは、PDFファイルをDOCファイルに変換するための2行のコードを提供しています。

以下のJavaコードスニペットは、PDFファイルをDOC形式に変換するプロセスを示しています。

  1. ソースPDFドキュメントでDocumentオブジェクトのインスタンスを作成します。

  2. Document.save() メソッドを呼び出して、SaveFormat.Doc 形式で保存します。

// PDF ドキュメントを読み込む
$document = new Document($inputFile);

// 新しい DocSaveOptions オブジェクトを作成する
$saveOption = new DocSaveOptions();

// 出力形式を DOC に設定する
$saveOption->setFormat(DocSaveOptions_DocFormat::$Doc);

// ドキュメントを DOC として保存する
$document->save($outputFile, $saveOption);

DocSaveOptions クラスの使用

DocSaveOptions クラス は、PDF ファイルを DOC 形式に変換するプロセスを改善する多くのプロパティを提供します。これらのプロパティの中で、Mode は PDF コンテンツの認識モードを指定することができます。このプロパティには RecognitionMode 列挙から任意の値を指定できます。これらの値それぞれには特定の利点と制限があります:

  • Textbox モードは高速で、PDF ファイルの元の外観を保持するのに適していますが、結果として得られるドキュメントの編集可能性が制限される可能性があります。 元のPDFで視覚的にグループ化されたすべてのテキストブロックは、出力ドキュメントでテキストボックスに変換されます。これにより、元のドキュメントに最大限に似せることができ、出力ドキュメントは見た目が良くなりますが、完全にテキストボックスで構成されているため、Microsoft Wordでの編集が難しくなる可能性があります。

  • Flowは完全認識モードであり、エンジンがグループ化および多層分析を行って、著者の意図に従って元のドキュメントを復元し、簡単に編集可能なドキュメントを生成します。制限として、出力ドキュメントは元のものと異なる場合があります。

  • RelativeHorizontalProximityプロパティは、テキスト要素間の相対的な近接性を制御するために使用され、距離がフォントサイズによって正規化されることを意味します。大きなフォントでは音節間の距離が大きくても、1つの全体として考えられる場合があります。これはフォントサイズのパーセンテージで指定され、例えば、1 = 100%です。これは、12ptの文字が12pt離れて配置されているとき、それらが近接していることを意味します。

  • RecognitionBulletsは、変換中に箇条書き認識をオンにするために使用されます。

// PDFドキュメントを読み込む
$document = new Document($inputFile);

// 新しいDocSaveOptionsオブジェクトを作成
$saveOption = new DocSaveOptions();

// 認識モードをEnhancedFlowに設定
$saveOption->setMode(DocSaveOptions_RecognitionMode::$EnhancedFlow);

// 出力形式をDOCに設定
$saveOption->setFormat(DocSaveOptions_DocFormat::$Doc);

// 認識モードをFlowとして設定
saveOptions->setMode(DocSaveOptions_RecognitionMode::$Flow);

// 水平方向の近接性を2.5に設定
saveOptions->setRelativeHorizontalProximity(2.5f);

// 変換プロセス中に箇条書きを認識するように値を有効化
saveOptions->setRecognizeBullets(true);

// ドキュメントをDOCXとして保存
$document->save($outputFile, $saveOption);

Convert PDF to DOC

PDFをDOCXに変換する

DocFormat列挙型は、Word文書の出力形式としてDOCXを選択するオプションも提供します。ソースPDFファイルをDOCX形式にレンダリングするには、以下のコードスニペットを使用します。

PDFをDOCXに変換する方法

以下のJavaコードスニペットは、PDFファイルをDOCX形式に変換するプロセスを示しています。

  1. ソースPDF文書を使用してDocumentオブジェクトのインスタンスを作成します。
  2. Document.save() メソッドを呼び出して、SaveFormat.DocX 形式で保存します。
    // PDFドキュメントをロードする
    $document = new Document($inputFile);
    
    // ドキュメントをDOCXとして保存する
    $document->save($outputFile, SaveFormat::$DocX);

DocSaveOptions クラスには、結果のドキュメントの形式を指定する機能を提供するFormatというプロパティがあります。つまり、DOCまたはDOCXです。 PDFファイルをDOCX形式に変換するには、DocSaveOptions.DocFormat列挙からDocx値を渡してください。

以下のコードスニペットをご覧ください。これは、JavaでPDFファイルをDOCX形式に変換する機能を提供します。

// PDFドキュメントを読み込む
$document = new Document($inputFile);

// 新しいDocSaveOptionsオブジェクトを作成
$saveOption = new DocSaveOptions();

// 認識モードをEnhancedFlowに設定
$saveOption->setMode(DocSaveOptions_RecognitionMode::$EnhancedFlow);

// 出力形式をDOCXに設定
$saveOption->setFormat(DocSaveOptions_DocFormat::$DocX);

// ドキュメントをDOCXとして保存
$document->save($outputFile, $saveOption);