Working with Image Placement

Contents
[ ]

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