Enum Container Elements

PDF Read Graphics Container

Enumerates the elements of a graphics container.

Сode Snippet

public static class Extensions
{
    public static void PrintContent(this GraphicsContainer container)
    {
        foreach (var shapeItem in container.Items.OfType<ShapeItem>())
        {
            Console.WriteLine("Shape:");

            if (shapeItem.Brush != null)
            {
                Console.WriteLine($"  {shapeItem.Brush.ToString()}");
            }

            if (shapeItem.Pen != null)
            {
                Console.WriteLine($"  {shapeItem.Pen.ToString()}");
            }
        }

        foreach (var imageItem in container.Items.OfType<ImageItem>())
        {
            Console.WriteLine($"Image: {imageItem.Bitmap.Width}x{imageItem.Bitmap.Height}");
        }

        foreach (var textItem in container.Items.OfType<TextItem>())
        {
            Console.WriteLine($"Text: {textItem.Text.String}");
        }

        foreach (var containerItem in container.Items.OfType<ContainerItem>())
        {
            containerItem.GraphicsContainer.PrintContent();
        }
    }
}

internal class EnumGraphicsContainerContent
{
    public static void Run()
    {
        using (var reader = new PdfReader("GraphicsContainer.pdf"))
        using (var gc = reader.Frames[0].GetContent())
        {
            gc.PrintContent();
        }
    }
}

Input

GraphicsContainer.pdf

Download

Output

EnumGraphicsContainerContent.txt

Shape:
  Aurigma.GraphicsMill.AdvancedDrawing.SolidBrush
Shape:
  Aurigma.GraphicsMill.AdvancedDrawing.Pen
Shape:
  Aurigma.GraphicsMill.AdvancedDrawing.SolidBrush
Shape:
  Aurigma.GraphicsMill.AdvancedDrawing.Pen
Shape:
  Aurigma.GraphicsMill.AdvancedDrawing.SolidBrush
Shape:
  Aurigma.GraphicsMill.AdvancedDrawing.Pen
Shape:
  Aurigma.GraphicsMill.AdvancedDrawing.SolidBrush
Shape:
  Aurigma.GraphicsMill.AdvancedDrawing.Pen
Image: 400x400

For AI-assisted development: Download Graphics Mill Code Samples XML Catalog