PDFファイルを他の形式に変換する

PDFをEPUBに変換する

EPUB(エレクトロニック・パブリケーションの略)は、国際デジタル出版フォーラム(IDPF)による無料でオープンな電子書籍標準です。ファイルは.epub拡張子を持っています。EPUBはリフロー可能なコンテンツ用に設計されており、EPUBリーダーは特定の表示デバイスに最適化できます。 EPUBは固定レイアウトコンテンツもサポートしています。この形式は、出版社や変換業者が社内で使用するだけでなく、配布や販売のための単一形式として意図されています。これはOpen eBook標準に取って代わるものです。

Aspose.PDF for C++もPDF文書をEPUB形式に変換する機能をサポートしています。Aspose.PDF for C++には、Document.Save(..) メソッドの第2引数として使用できるEpubSaveOptionsというクラスがあります。これを使用して、EPUBファイルを生成してください。C++でこの要件を達成するために、次のコードスニペットを試してください。

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

    // 入力ファイル名のための文字列
    String infilename("sample.pdf");
    // 出力ファイル名のための文字列
    String outfilename("PDFToEPUB_out.epub");

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

    // PDFファイルをEPUB形式で保存
    document->Save(_dataDir + outfilename, SaveFormat::Epub);
    std::clog << __func__ << ": Finish" << std::endl;
}

PDFをLaTeX/TeXに変換

**Aspose.PDF for C++**はPDFをLaTeX/TeXに変換することをサポートしています。LaTeXファイル形式は特別なマークアップを持つテキストファイル形式で、高品質な組版のためにTeXベースの文書作成システムで使用されます。

PDFファイルをTeXに変換するために、Aspose.PDFには変換プロセス中に一時的な画像を保存するためのOutDirectoryPathプロパティを提供するクラスLaTeXSaveOptionsがあります。

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

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

    // 入力ファイル名のための文字列
    String infilename("sample.pdf");
    // 出力ファイル名のための文字列
    String outfilename("PDFToTeX_out.tex");

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

    // LaTex保存オプションをインスタンス化
    auto saveOptions = MakeObject<LaTeXSaveOptions>();

    // 保存オプションオブジェクトの出力ディレクトリパスを設定
    saveOptions->set_OutDirectoryPath(_dataDir);

    // PDFファイルをLaTex形式で保存
    document->Save(_dataDir + outfilename, saveOptions);
    std::clog << __func__ << ": Finish" << std::endl;
}

PDFをテキストに変換

**Aspose.PDF for C++**は、PDFドキュメント全体や単一ページをテキストファイルに変換することをサポートしています。

PDFドキュメント全体をテキストファイルに変換

TextAbsorberクラスを使用して、PDFドキュメントをTXTファイルに変換できます。

次のコードスニペットは、すべてのページからテキストを抽出する方法を説明しています。

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

    // 入力ファイル名の文字列
    String infilename("sample.pdf");
    // 出力ファイル名の文字列
    String outfilename("input_Text_Extracted_out.txt");

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

    auto ta = MakeObject<TextAbsorber>();
    ta->Visit(document);
    // 抽出したテキストをテキストファイルに保存
    System::IO::File::WriteAllText(_dataDir + outfilename, ta->get_Text());
    std::clog << __func__ << ": Finish" << std::endl;
}

PDFページをテキストファイルに変換

Aspose.PDF for C++を使用してPDFドキュメントをTXTファイルに変換できます。このタスクを解決するには、TextAbsorberクラスを使用する必要があります。

次のコードスニペットは、特定のページからテキストを抽出する方法を説明しています。

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

    // 入力ファイル名の文字列
    String infilename("sample-4pages.pdf");
    // 出力ファイル名の文字列
    String outfilename("sample-4pages_out.txt");

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

    auto ta = MakeObject<TextAbsorber>();

    auto pages = { 1, 3, 4 };
    try {
    for (auto page : pages)
    {
    ta->Visit(document->get_Pages()->idx_get(page));
    }
    // 抽出したテキストをテキストファイルに保存
    auto text = ta->get_Text();
    System::IO::File::WriteAllText(_dataDir + outfilename, text);
    }
    catch (Exception ex) {
    std::cerr << ex->get_Message() << std::endl;
    }
    std::clog << __func__ << ": Finish" << std::endl;
}

PDF を XPS に変換する

Aspose.PDF for C++ は、PDF ファイルを XPS 形式に変換する可能性を提供します。C++ で PDF ファイルを XPS 形式に変換するために提示されたコードスニペットを使用してみましょう。

XPS ファイルタイプは、主にマイクロソフト社による XML Paper Specification に関連付けられています。XML Paper Specification (XPS) は、かつて Metro とコードネームされ、次世代印刷パスメディア (NGPP) マーケティングコンセプトを包含するものであり、Windows オペレーティングシステムに文書作成と表示を統合するためのマイクロソフトの取り組みです。

PDF ファイルを XPS に変換するには、Aspose.PDF は XpsSaveOptions クラスを持っており、これは XPS ファイルを生成するために Document.Save(..) メソッドの第二引数として使用されます。

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

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

    // 入力ファイル名の文字列
    String infilename("sample.pdf");
    // 出力ファイル名の文字列
    String outfilename("PDFToXPS_out.xps");

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

    // LaTex保存オプションをインスタンス化
    auto saveOptions = MakeObject<XpsSaveOptions>();

    // PDFファイルをXPS形式で保存
    document->Save(_dataDir + outfilename, saveOptions);
    std::clog << __func__ << ": Finish" << std::endl;
}