PDFをMicrosoft Word文書に変換するC++

概要

この記事では、C++を使用してPDFをMicrosoft Word文書に変換する方法を説明します。これらのトピックをカバーしています。

フォーマット: DOC

フォーマット: DOCX

フォーマット: Microsoft Word DOC形式

Format: Microsoft Word DOCX 形式

この記事で取り上げるその他のトピック

C++ PDF から Word への変換

最も人気のある機能の1つは、PDF を Microsoft Word DOC に変換することで、コンテンツを簡単に操作できるようになります。Aspose.PDF for C++ は、PDF ファイルを DOC に変換することができます。

PDF を DOC (Word 97-2003) ファイルに変換

PDF ファイルを簡単かつ完全に制御して DOC 形式に変換します。Aspose.PDF for C++ は柔軟で、さまざまな変換をサポートしています。例えば、PDF ドキュメントのページを画像に変換することは非常に人気のある機能です。

多くのお客様からリクエストされている変換は、PDF から DOC への変換です。PDF ファイルを Microsoft Word ドキュメントに変換します。 顧客はPDFファイルが簡単に編集できないのに対し、Word文書は編集可能であるため、これを望んでいます。一部の企業は、ユーザーがPDFとして開始されたファイル内のテキスト、表、画像を操作できるようにしたいと考えています。

物事を簡単で理解しやすくする伝統を守り、Aspose.PDF for C++では、2行のコードでソースPDFファイルをDOCファイルに変換することができます。この機能を実現するために、SaveFormatという列挙型を導入しており、その値.Docを用いることで、ソースファイルをMicrosoft Word形式に保存できます。

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

ステップ: C++でPDFをDOCに変換 | ステップ: C++でPDFをMicrosoft Word DOC形式に変換

  1. ソースPDFドキュメントを使用してDocumentオブジェクトのインスタンスを作成します。
  2. ドキュメントを Document->Save() メソッドを呼び出して SaveFormat::Doc 形式で保存します。
void ConvertPDFtoWord()
{
    std::clog << __func__ << ": Start" << std::endl;
    // パス名のための文字列
    String _dataDir("C:\\Samples\\Conversion\\");

    // ファイル名のための文字列
    String infilename("sample.pdf");
    String outfilename("PDFToDOC.doc");

    // ドキュメントを開く
    auto document = MakeObject<Document>(_dataDir + infilename);

    try {
        // ファイルをMSドキュメント形式で保存
        document->Save(_dataDir + outfilename, SaveFormat::Doc);
    }
    catch (Exception ex) {
        std::cerr << ex->get_Message();
    }

    std::clog << __func__ << ": Finish" << std::endl;
}

次のコードスニペットは、PDFファイルをDOCアドバンストバージョンに変換するプロセスを示しています:

void ConvertPDFtoWordDocAdvanced()
{
    std::clog << __func__ << ": Start" << std::endl;
    // パス名のための文字列
    String _dataDir("C:\\Samples\\Conversion\\");

    // ファイル名のための文字列
    String infilename("sample.pdf");
    String outfilename("PDFToDOC.doc");

    // ドキュメントを開く
    auto document = MakeObject<Document>(_dataDir + infilename);

    auto saveOptions = MakeObject<DocSaveOptions>();
    saveOptions->set_Format(DocSaveOptions::DocFormat::Doc);
    // 認識モードをFlowに設定
    saveOptions->set_Mode(DocSaveOptions::RecognitionMode::Flow);
    // 水平近接を2.5に設定
    saveOptions->set_RelativeHorizontalProximity(2.5f);
    // 変換プロセス中に箇条書きを認識するように値を有効にする
    saveOptions->set_RecognizeBullets(true);

    try {
        // ファイルをMSドキュメント形式で保存
        document->Save(_dataDir + outfilename, saveOptions);
    }
    catch (Exception ex) {
        std::cerr << ex->get_Message();
    }

    std::clog << __func__ << ": Finish" << std::endl;
}

PDFをDOCXに変換

Aspose.PDF for C++ APIを使用すると、C++言語を使用してPDFドキュメントをDOCXに読み取り変換できます。DOCXはMicrosoft Wordドキュメントのよく知られた形式で、その構造はプレーンバイナリからXMLとバイナリファイルの組み合わせに変更されました。DocxファイルはWord 2007およびそれ以降のバージョンで開くことができますが、DOCファイル拡張子をサポートするMS Wordの以前のバージョンでは開くことができません。

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

ステップ: C++でPDFをDOCXに変換 | ステップ: C++でPDFをMicrosoft Word DOCX形式に変換

  1. ソースPDFドキュメントでDocumentオブジェクトのインスタンスを作成します。
  2. **Document->Save()**メソッドを呼び出して、SaveFormat::DocX形式で保存します。
void ConvertPDFtoWord_DOCX_Format()
{
    std::clog << __func__ << ": 開始" << std::endl;
    // パス名のための文字列
    String _dataDir("C:\\Samples\\Conversion\\");

    // ファイル名のための文字列
    String infilename("sample.pdf");
    String outfilename("PDFToDOC.docx");

    // ドキュメントを開く
    auto document = MakeObject<Document>(_dataDir + infilename);

    try {
        // ファイルをMSドキュメント形式で保存する
        document->Save(_dataDir + outfilename, SaveFormat::DocX);
    }
    catch (Exception ex) {
        std::cerr << ex->get_Message();
    }

    std::clog << __func__ << ": 終了" << std::endl;
}

DocSaveOptionsクラスには、結果のドキュメントの形式、つまりDOCまたはDOCXを指定する機能を提供するFormatというプロパティがあります。 In order to convert a PDF file to DOCX format, please pass the Docx value from the DocSaveOptions.DocFormat enumeration.

PDFファイルをDOCX形式に変換するには、DocSaveOptions.DocFormat列挙からDocx値を渡してください。

Please take a look over the following code snippet which provides the capability to convert PDF file to DOCX format with C++.

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

void ConvertPDFtoWord_Advanced_DOCX_Format()
{
    std::clog << __func__ << ": Start" << std::endl;
    // String for path name
    String _dataDir("C:\\Samples\\Conversion\\");

    // String for file name
    String infilename("sample.pdf");
    String outfilename("PDFToDOC.docx");

    // Open document
    auto document = MakeObject<Document>(_dataDir + infilename);

    auto saveOptions = MakeObject<DocSaveOptions>();
    saveOptions->set_Format(DocSaveOptions::DocFormat::DocX);

    // Set other DocSaveOptions params
    // ...

    // Save the file into MS document format

    try {
        // Save the file into MS document format
        document->Save(_dataDir + outfilename, saveOptions);
    }
    catch (Exception ex) {
        std::cerr << ex->get_Message();
    }

    std::clog << __func__ << ": Finish" << std::endl;
}

関連情報

この記事では、これらのトピックもカバーしています。コードは上記と同じです。

フォーマット: Microsoft Word DOC形式

フォーマット: Microsoft Word DOCX形式

フォーマット: DOC

フォーマット: DOC

- [C++ から DOCX を PDF から作成](#cpp-pdf-to-docx)
- [C++ PDF から DOCX へのコンバーター](#cpp-pdf-to-docx)