C++を使用したPDFファイルの画像の操作

画像を使用して、製品の写真からワークフローやフローチャートに至るまで、さまざまなものを表示できます。 PDFファイルには、保持している情報の種類に基づいた画像を含めることができます。たとえば、椅子の設置ガイドには、椅子の組み立て方法を示す写真が含まれています。プログラムでPDFファイルの画像を操作する必要があるシナリオがあるかもしれません。このような場合、この記事では、C++を使用してPDFファイルの画像を操作する方法を説明します。

PDFファイルの画像を操作するためのC++API

Aspose.PDF for C++は、PDFファイルの作成、読み取り、および変更を可能にする堅牢なC++ライブラリです。さらに、APIはPDFドキュメントの画像の操作をサポートしています。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。

PM> Install-Package Aspose.PDF.Cpp

C++を使用してPDFファイルに画像を追加する

PDFファイルに画像を追加する手順は次のとおりです。

次のサンプルコードは、C++を使用してPDFファイルに画像を追加する方法を示しています。

// PDFファイルをロードします
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");

// 最初のページを取得する
auto page = pdfDocument->get_Pages()->idx_get(1);

// Rectangleクラスのインスタンスを作成します
double x = 100.0, y = 600.0, width = 200.0, height = 200.0;
auto rectangle = MakeObject<Aspose::Pdf::Rectangle>(x, y, x + width, y + height);

// ページに画像を追加
page->AddImage(u"SourceDirectory\\Images\\AsposeLogo.png", rectangle);

// PDFファイルを保存します
pdfDocument->Save(u"OutputDirectory\\add_image_output.pdf");

C++を使用してPDFファイルから画像を抽出する

PDFファイルから画像を抽出するには、以下の手順に従ってください。

次のサンプルコードは、C++を使用してPDFファイルから画像を抽出する方法を示しています。

// PDFファイルをロードします
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");

// 特定の画像を抽出する
auto image = pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);

// ストリームオブジェクトを作成して、出力画像を保存します
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(u"OutputDirectory\\extract_image_output.jpg");

// 出力画像を保存します
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());

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

C++を使用してPDFファイルから画像を削除する

以下は、C++を使用してPDFファイルから画像を削除する手順です。

次のサンプルコードは、C++を使用してPDFファイルから特定の画像を削除する方法を示しています。

// PDFファイルをロードします
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");

// 特定の画像を削除する
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Delete(1);

// PDFファイルを保存します
pdfDocument->Save(u"OutputDirectory\\delete_image_output.pdf");

C++を使用してPDFファイルの画像を置き換える

PDFファイル内の既存の画像を置き換えるには、以下の手順に従います。

次のコードは、C++を使用してPDFファイルの画像を置き換える方法を示しています。

// PDFファイルをロードします
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");

// FileStreamで新しい画像を開きます
System::SharedPtr<System::IO::FileStream> newImage = System::IO::File::OpenRead(u"SourceDirectory\\Images\\aspose.png");

// 古い画像を置き換えます
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Replace(1, newImage);

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

// PDFファイルを保存します
pdfDocument->Save(u"OutputDirectory\\replace_image_output.pdf");

無料ライセンスを取得する

無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。

結論

この記事では、C++を使用してPDFファイルの画像を操作する方法を学習しました。具体的には、Aspose.PDF for C++ APIを使用して、PDFファイルから画像を追加、抽出、置換、および削除する方法を学習しました。 APIは、PDFファイルを操作するための一連の追加機能を提供します。これらの機能は、公式ドキュメントにアクセスして詳細に調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。

関連項目