Работа с размещением изображений

Contents
[ ]

С выпуском Aspose.PDF для .NET 7.0.0, мы представили классы ImagePlacement, ImagePlacementAbsorber и ImagePlacementCollection, которые предоставляют возможности, аналогичные описанным выше классам для получения разрешения и позиции изображения в документе PDF.

  • 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);
    }
}