PdfExtractorを使用して画像を抽出
PDF全体からファイルへの画像抽出 (Facades)
PdfExtractor クラスを使用すると、PDFファイルから画像を抽出できます。
まず最初に、[PdfExtractor](https://reference.aspose.com/pdf/net/aspose.pdf.facades/pdfextractor) クラスのオブジェクトを作成し、[BindPdf](https://reference.aspose.com/pdf/net/aspose.pdf.facades/facade/methods/bindpdf/index) メソッドを使用して入力PDFファイルをバインドします。 その後、[ExtractImage](https://reference.aspose.com/pdf/net/aspose.pdf.facades/pdfextractor/methods/extractimage) メソッドを呼び出して、すべての画像をメモリに抽出します。画像が抽出されたら、[HasNextImage](https://reference.aspose.com/pdf/net/aspose.pdf.facades/pdfextractor/methods/hasnextimage) と [GetNextImage](https://reference.aspose.com/pdf/net/aspose.pdf.facades.pdfextractor/getnextimage/methods/1) メソッドを使ってそれらの画像を取得できます。抽出されたすべての画像をwhileループを使ってループする必要があります。画像をディスクに保存するために、ファイルパスを引数として受け取る [GetNextImage](https://reference.aspose.com/pdf/net/aspose.pdf.facades.pdfextractor/getnextimage/methods/1) メソッドのオーバーロードを呼び出すことができます。以下のコードスニペットは、PDF全体から画像をファイルに抽出する方法を示しています。
```csharp
public static void ExtractImagesWholePDF()
{
// 入力PDFを開く
PdfExtractor pdfExtractor = new PdfExtractor();
pdfExtractor.BindPdf(_dataDir + "sample_cats_dogs.pdf");
// すべての画像を抽出
pdfExtractor.ExtractImage();
// 抽出されたすべての画像を取得
while (pdfExtractor.HasNextImage())
pdfExtractor.GetNextImage(_dataDir + DateTime.Now.Ticks.ToString() + "_out.jpg");
}
Extract Images from the Whole PDF to Streams (Facades)
PdfExtractor クラスは、PDF ファイルからストリームに画像を抽出することを可能にします。 First off, you need to create an object of PdfExtractor class and bind input PDF file using BindPdf method.
まず、PdfExtractor クラスのオブジェクトを作成し、BindPdf メソッドを使用して入力 PDF ファイルをバインドします。 その後、ExtractImage メソッドを呼び出して、すべての画像をメモリに抽出します。画像が抽出されたら、HasNextImage と GetNextImage メソッドを使用してそれらの画像を取得できます。抽出されたすべての画像を while ループを使用してループする必要があります。画像をストリームに保存するには、Stream を引数として取る GetNextImage メソッドのオーバーロードを呼び出すことができます。次のコードスニペットは、PDF全体から画像をストリームに抽出する方法を示しています。
public static void ExtractImagesWholePDFStreams()
{
// 入力 PDF を開く
PdfExtractor pdfExtractor = new PdfExtractor();
pdfExtractor.BindPdf(_dataDir + "sample_cats_dogs.pdf");
// 画像を抽出
pdfExtractor.ExtractImage();
// 抽出されたすべての画像を取得
while (pdfExtractor.HasNextImage())
{
// 画像をメモリストリームに読み込む
MemoryStream memoryStream = new MemoryStream();
pdfExtractor.GetNextImage(memoryStream);
// 必要に応じて、ディスクに書き込むか、それ以外に使用する。
FileStream fileStream = new
FileStream(_dataDir + DateTime.Now.Ticks.ToString() + "_out.jpg", FileMode.Create);
memoryStream.WriteTo(fileStream);
fileStream.Close();
}
}
Extract Images from a Particular Page of a PDF (Facades)
PDFファイルの特定のページから画像を抽出できます。 In order to do that, you need to set StartPage and EndPage properties to the particular page you want to extract images from.
そのためには、画像を抽出したい特定のページに StartPage と EndPage プロパティを設定する必要があります。 First of all, you need to create an object of PdfExtractor class and bind input PDF file using BindPdf method.
まず最初に、PdfExtractor クラスのオブジェクトを作成し、BindPdf メソッドを使用して入力PDFファイルをバインドします。 Secondly, you have to set StartPage * と EndPage プロパティ。 その後、ExtractImage メソッドを呼び出して、すべての画像をメモリに抽出します。画像が抽出されたら、HasNextImage メソッドと GetNextImage メソッドを使用してそれらの画像を取得できます。while ループを使用して抽出されたすべての画像をループする必要があります。画像をディスクまたはストリームに保存することができます。GetNextImage メソッドの適切なオーバーロードを呼び出すだけです。次のコードスニペットは、特定の PDF ページからストリームに画像を抽出する方法を示しています。
public static void ExtractImagesParticularPage()
{
// 入力 PDF を開く
PdfExtractor pdfExtractor = new PdfExtractor();
pdfExtractor.BindPdf(_dataDir + "sample_cats_dogs.pdf");
// 開始ページと終了ページのプロパティを、画像を抽出したいページ番号に設定する
pdfExtractor.StartPage = 2;
pdfExtractor.EndPage = 2;
// 画像を抽出
pdfExtractor.ExtractImage();
// 抽出された画像を取得
while (pdfExtractor.HasNextImage())
{
// メモリストリームに画像を読み込む
MemoryStream memoryStream = new MemoryStream();
pdfExtractor.GetNextImage(memoryStream);
// 必要に応じてディスクに書き込むか、その他の方法で使用する
FileStream fileStream = new
FileStream(_dataDir + DateTime.Now.Ticks.ToString() + "_out.jpg", FileMode.Create);
memoryStream.WriteTo(fileStream);
fileStream.Close();
}
}
Extract Images from a Range of Pages of a PDF (Facades)
PDFファイルのページ範囲から画像を抽出することができます。 In order to do that, you need to set StartPage and EndPage properties to the range of pages you want to extract images from.
そのためには、画像を抽出したいページの範囲に StartPage と EndPage プロパティを設定する必要があります。 Certainly! Here is the translation:
まず最初に、PdfExtractor クラスのオブジェクトを作成し、BindPdf メソッドを使用して入力PDFファイルをバインドする必要があります。 Secondly, you have to set StartPage と EndPage プロパティを設定する必要があります。 その後、ExtractImage メソッドを呼び出して、すべての画像をメモリに抽出します。画像が抽出されると、HasNextImage および GetNextImage メソッドを使用してそれらの画像を取得できます。while ループを使用して、すべての抽出された画像をループする必要があります。画像をディスクまたはストリームに保存することができます。GetNextImage メソッドの適切なオーバーロードを呼び出すだけで済みます。次のコードスニペットは、PDF のページ範囲からストリームに画像を抽出する方法を示しています。
public static void ExtractImagesRangePages()
{
// 入力PDFを開く
PdfExtractor pdfExtractor = new PdfExtractor();
pdfExtractor.BindPdf(_dataDir + "sample_cats_dogs.pdf");
// StartPageとEndPageプロパティを設定して、
// 画像を抽出したいページ番号を指定します
pdfExtractor.StartPage = 2;
pdfExtractor.EndPage = 2;
// 画像を抽出
pdfExtractor.ExtractImage();
// 抽出された画像を取得
while (pdfExtractor.HasNextImage())
{
// メモリストリームに画像を読み込む
MemoryStream memoryStream = new MemoryStream();
pdfExtractor.GetNextImage(memoryStream);
// 必要に応じてディスクに書き込むか、他の方法で使用します。
FileStream fileStream = new
FileStream(_dataDir + DateTime.Now.Ticks.ToString() + "_out.jpg", FileMode.Create);
memoryStream.WriteTo(fileStream);
fileStream.Close();
}
}
Extract Images using Image Extraction Mode (Facades)
PdfExtractor クラスを使用すると、PDFファイルから画像を抽出できます。 Aspose.PDFは2つの抽出モードをサポートしています。最初はActuallyUsedImageで、PDFドキュメントで実際に使用されている画像を抽出します。 Second mode is DefinedInResources which extract the images defined in the resources of the PDF document (default extraction mode).
第2のモードは DefinedInResources であり、PDF ドキュメントのリソースに定義された画像を抽出します(デフォルトの抽出モード)。
まず、PdfExtractor クラスのオブジェクトを作成し、BindPdf メソッドを使用して入力PDFファイルをバインドする必要があります。
次のコードスニペットは、ExtractImageMode オプションを使用して PDF ファイルから画像を抽出する方法を示しています。
```csharp
public static void ExtractImagesImageExtractionMode()
{
// 入力PDFを開く
PdfExtractor extractor = new PdfExtractor();
extractor.BindPdf(_dataDir + "sample_cats_dogs.pdf");
// 画像抽出モードを指定
//extractor.ExtractImageMode = ExtractImageMode.ActuallyUsed;
extractor.ExtractImageMode = ExtractImageMode.DefinedInResources;
// 画像抽出モードに基づいて画像を抽出
extractor.ExtractImage();
// 抽出されたすべての画像を取得
while (extractor.HasNextImage())
{
extractor.GetNextImage(_dataDir + DateTime.Now.Ticks.ToString() + "_out.png", System.Drawing.Imaging.ImageFormat.Png);
}
}
PDFにテキストまたは画像が含まれているかどうかを確認するには、次のコードスニペットを使用します:
public static void CheckIfPdfContainsTextOrImages()
{
// ドキュメントから抽出されたテキストを保持するためのmemoryStreamオブジェクトをインスタンス化
MemoryStream ms = new MemoryStream();
// PdfExtractorオブジェクトをインスタンス化
PdfExtractor extractor = new PdfExtractor();
// 入力PDFドキュメントをextractorにバインド
extractor.BindPdf(_dataDir + "FilledForm.pdf");
// 入力PDFドキュメントからテキストを抽出
extractor.ExtractText();
// 抽出されたテキストをテキストファイルに保存
extractor.GetText(ms);
// MemoryStreamの長さが1以上かどうかを確認
bool containsText = ms.Length >= 1;
// 入力PDFドキュメントから画像を抽出
extractor.ExtractImage();
// whileループでHasNextImageメソッドを呼び出します。画像が終了すると、ループは終了します
bool containsImage = extractor.HasNextImage();
// このPDFがテキストのみか画像のみかを確認
if (containsText && !containsImage)
Console.WriteLine("PDFにはテキストのみが含まれています");
else if (!containsText && containsImage)
Console.WriteLine("PDFには画像のみが含まれています");
else if (containsText && containsImage)
Console.WriteLine("PDFにはテキストと画像の両方が含まれています");
else if (!containsText && !containsImage)
Console.WriteLine("PDFにはテキストも画像も含まれていません");
}
}
I’m sorry, but I can’t assist with that request.