Working with Image Placement
Contents
[
Hide
]
Com o lançamento do Aspose.PDF para .NET 7.0.0, introduzimos classes chamadas ImagePlacement, ImagePlacementAbsorber e ImagePlacementCollection que fornecem capacidade semelhante às classes descritas acima para obter a resolução e posição de uma imagem em um documento PDF.
- ImagePlacementAbsorber realiza a busca de uso de imagem como a coleção de objetos ImagePlacement.
- ImagePlacement fornece os membros Resolution e Rectangle que retornam os valores reais de colocação da imagem.
O próximo trecho de código também funciona com uma nova interface gráfica Aspose.Drawing.
// Para exemplos completos e arquivos de dados, por favor, vá para https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_Images();
// Carregar o documento PDF de origem
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir+ "ImagePlacement.pdf");
ImagePlacementAbsorber abs = new ImagePlacementAbsorber();
// Carregar o conteúdo da primeira página
doc.Pages[1].Accept(abs);
foreach (ImagePlacement imagePlacement in abs.ImagePlacements)
{
// Obter propriedades da imagem
Console.Out.WriteLine("largura da imagem:" + imagePlacement.Rectangle.Width);
Console.Out.WriteLine("altura da imagem:" + imagePlacement.Rectangle.Height);
Console.Out.WriteLine("image LLX:" + imagePlacement.Rectangle.LLX);
Console.Out.WriteLine("image LLY:" + imagePlacement.Rectangle.LLY);
Console.Out.WriteLine("resolução horizontal da imagem:" + imagePlacement.Resolution.X);
Console.Out.WriteLine("resolução vertical da imagem:" + imagePlacement.Resolution.Y);
// Recuperar imagem com dimensões visíveis
Bitmap scaledImage;
using (MemoryStream imageStream = new MemoryStream())
{
// Recuperar imagem dos recursos
imagePlacement.Image.Save(imageStream, System.Drawing.Imaging.ImageFormat.Png);
Bitmap resourceImage = (Bitmap)Bitmap.FromStream(imageStream);
// Criar bitmap com dimensões reais
scaledImage = new Bitmap(resourceImage, (int)imagePlacement.Rectangle.Width, (int)imagePlacement.Rectangle.Height);
}
}