Работа с размещением изображений
Contents
[
Hide
]
С выпуском 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);
}
}