Working with Image Placement

Contents
[ ]

Aspose.PDF for .NET 7.0.0のリリースに伴い、PDFドキュメント内の画像の解像度と位置を取得する上記のクラスと同様の機能を提供するImagePlacementImagePlacementAbsorberImagePlacementCollectionというクラスを導入しました。

  • ImagePlacementAbsorberはImagePlacementオブジェクトコレクションとして画像使用検索を実行します。
  • ImagePlacementは、実際の画像配置値を返すResolutionとRectangleのメンバーを提供します。

次のコードスニペットは、新しいグラフィカルAspose.Drawingインターフェースでも動作します。

// 完全な例とデータファイルについては、https://github.com/aspose-pdf/Aspose.PDF-for-.NET にアクセスしてください。
// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_AsposePdf_Images();

// ソースPDFドキュメントをロードします
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir+ "ImagePlacement.pdf");
ImagePlacementAbsorber abs = new ImagePlacementAbsorber();

// 最初のページの内容をロードします
doc.Pages[1].Accept(abs);
foreach (ImagePlacement imagePlacement in abs.ImagePlacements)
{
    // 画像プロパティを取得します
    Console.Out.WriteLine("画像幅:" + imagePlacement.Rectangle.Width);
    Console.Out.WriteLine("画像高さ:" + imagePlacement.Rectangle.Height);
    Console.Out.WriteLine("画像LLX:" + imagePlacement.Rectangle.LLX);
    Console.Out.WriteLine("画像LLY:" + imagePlacement.Rectangle.LLY);
    Console.Out.WriteLine("画像水平解像度:" + imagePlacement.Resolution.X);
    Console.Out.WriteLine("画像垂直解像度:" + imagePlacement.Resolution.Y);

    // 見える寸法で画像を取得します
    Bitmap scaledImage;
    using (MemoryStream imageStream = new MemoryStream())
    {
        // リソースから画像を取得します
        imagePlacement.Image.Save(imageStream, System.Drawing.Imaging.ImageFormat.Png);
        Bitmap resourceImage = (Bitmap)Bitmap.FromStream(imageStream);
        // 実際の寸法でビットマップを作成します
        scaledImage = new Bitmap(resourceImage, (int)imagePlacement.Rectangle.Width, (int)imagePlacement.Rectangle.Height);
    }
}