C++ 経由の PDF ドキュメント変換

PDF を Microsoft Office® Word、Excel、PowerPoint プレゼンテーション、画像、HTML、および固定レイアウト形式にエクスポート

概要

解析データをPDF形式で利用できるようにしながら、PDF以外の文書を操作する必要があるケースはほとんどありません。したがって、そのようなアプリケーションには、独自のソリューション内にPDF解析の機能を追加するか、サポートされている形式のデータを操作するPDF変換機能を追加する2つのシナリオがあります。PDFをWordに変換、Excel、HTML、画像、または必要な形式にする2番目のシナリオでは、C# PDFリーダーおよびコンバーターコードを.NETベースで実装するのは簡単です。ここでは、プログラマがこれらの変換コードスニペットを要件に応じて変更できるように、いくつかのケースについて説明します。

PDF からマイクロソフトワード 2003-2019 への変換

例:PDF から Word への変換用の C# コード

String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.pdf");
String outfilename("PDFToDOC.doc")

// ソース PDF ファイルを読み込む
auto document = MakeObject<Document>(_dataDir + infilename);

// 保存オプションを使用して保存する
// docSaveOptions オブジェクトの作成
auto saveOptions = MakeObject<DocSaveOptions>();

// 認識モードを「フロー」は完全認識モードを意味するように設定します
saveOptions->set_Mode(DocSaveOptions::RecognitionMode::Flow);
// 他の2つのモードは、認識モード.テキストボックスと認識モードです。EnhancedFlow

// [水平方向の近さ] を 2.5 に設定します
saveOptions->set_RelativeHorizontalProximity(2.5f);

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

// 結果の DOC ファイルを保存する
document->Save(_dataDir + outfilename, saveOptions);

.NET ライブラリ用 Aspose.PDF はすべての PDF から Word への変換をサポートしています。特別な設定を行わずに Microsoft Word ドキュメントを変換するだけの場合は、Document クラスの Save メソッドを使用して PDF ファイルをロードし、出力 Word ドキュメントパスと SaveFormat をパラメータとして使用します。線の距離、画像の解像度などの設定を強化する必要がある特別なケースのために、APIにはそのような設定をすべて公開するDocSaveOptionsクラスがあります。

PDF を Excel ファイルとして保存

PDF を Excel ファイルとして保存

String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.pdf");
String outfilename("PDFToExcel.xlsx");
// PDF ドキュメントを読み込む
auto document = MakeObject<Document>(_dataDir + infilename);
// Excel の保存オプションを初期化する
auto excelSave = MakeObject<ExcelSaveOptions>();
// 出力 Excel XLSX フォーマットの設定
excelSave->set_Format(ExcelSaveOptions::ExcelFormat::XLSX);
// ワークシートの数を最小限に抑える
excelSave->set_MinimizeTheNumberOfWorksheets(true);
// PDF を Excel 出力ファイルに変換
document->Save(outfilename, excelSave);

特殊な SaveFormat.Excel PDF を特定のマイクロソフトエクセル XLS XLSX 出力フォーマットに保存するための列挙型です。さらに、.NET PDFライブラリには、Excel形式への保存を処理するだけでなく、正確な出力形式、最小化などのさまざまな属性を設定するためのさまざまな関数とプロパティを提供する特定の [ExcelSaveOptionsクラス](https://apireference.aspose.com/pdf/net/aspose.pdf/excelsaveoptions)もあります。ワークシートの数など。

PDF をパワーポイントプレゼンテーションに変換

例:C# コード PDF からパワーポイントへの変換

// String for path name
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample-pptx.pdf");
String outfilename("sample-pptx.pptx");
// PDF ドキュメントを読み込む
Document pdfDocument = new Document("document.pdf");
auto pptxOptions = MakeObject<PptxSaveOptions>();
pptxOptions->set_SlidesAsImages(true);
// 出力ファイルを保存する
document->Save(_dataDir + outfilename, pptxOptions);

.NET PDF API では、スライドを画像としてレンダリングすることで、PDF ページを選択可能なテキストまたは画像を含む PowerPoint プレゼンテーションスライドに変換できます。ポータブルドキュメントフォーマットをPowerPointに保存するパターンは、Documentクラスを使用してファイルをロードし、出力ファイルパスとSaveFormatをパラメータとしてSaveメソッドを呼び出すというパターンとほぼ同じです。特別な表示オプションを使用してレンダリングする場合、プログラマは pptxSaveOptions クラス を関連する特定のレンダリングオプションとともに使用できます。save メソッドを呼び出し、オプションをパラメータとして渡します。

ポータブルドキュメントフォーマット PDF から HTML への変換

例:PDF から HTML への変換のための C# コード

String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.pdf");
String outfilename("PDFToHTML.html")

// ソース PDF ドキュメントを読み込む
auto document = MakeObject<Document>(_dataDir + infilename);

// HTML 保存オプションオブジェクトのインスタンス化
auto htmlOptions = MakeObject<HtmlSaveOptions>();

// 画像付きPDFからHTMLへの別フォルダの指定
htmlOptions->SpecialFolderForAllImages = (_dataDir + String("\\images\\"));

// 結果の HTML を複数のページに分割するオプションを指定する
htmlOptions->set_SplitIntoPages(true);

document->Save(_dataDir + outfilename, htmlOptions);

PDF解析ライブラリは、画像を含む埋め込みリソースだけでなく、PDFからHTMLへの保存もサポートしています。変換の手順は、ソースドキュメントをロードし、出力 HTML ファイルパスと SaveFormat.Html をパラメータとして Save メソッドを呼び出すなど、一般的な場合の PDF から他の形式への変換手順と同じです。埋め込みリソースで保存する場合、HtmlSaveOptions クラス があり、変換中に特定のフォルダーに画像を保存したり、結果のHTMLを複数のページに分割したりするなど、複数のオプションがあります。

PDFを画像に変換

例:PDF から画像への変換用の C# コード

// ドキュメントをロード
auto document = MakeObject<Document>(_dataDir + u"ConvertAllPagesToBmp.pdf");

// Resolution オブジェクトの作成
 auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300); //300 dpi

// 指定した属性でイメージデバイスを作成する
// 幅、高さ、解像度
System::SmartPtr<Aspose::Pdf::Devices::ImageDevice>
    jpegDevice = MakeObject<Aspose::Pdf::Devices::JpegDevice>(resolution);
// BMP、PNG、TIFFの場合は、それぞれbmpDevice、PNGDevice、TIFFDeviceになります

// 特定のページを変換し、画像をストリームに保存する
jpegDevice->Process(document->get_Pages()->idx_get(1), imageStream);

// ストリームを閉じる
imageStream->Close();

.NETベースのアプリケーションでは、以下のコードスニペットを使用して、PDFページをPNG、JPEG、TIFF、BMPなどの画像に簡単に変換できます。開発者は、ファイルをロードした後にPDFページをループし、ページごとに必要な画像形式に変換できます。開発者は、解像度クラス を使用して画像の水平解像度と垂直解像度を設定できます