Convert PDF with layers to image

Convert PDF with layers to image

In the code sample below you see how you can incorporate multiple layers into your rendering process. Simply set the Visibility of the layers which you want to render to true, and add the LayerCollection to your RenderSettings object.

using (FileStream fs = new FileStream(@"..\..\input.pdf", FileMode.Open, FileAccess.Read))
{
    Document d = new Document(fs);
    LayerCollection layers = d.Layers;

    //select layers to render
    layers[0].Visible = true;
    layers[1].Visible = false;

    Page page = d.Pages[0];

    Bitmap bitmap = new Bitmap((int)page.Width, (int)page.Height);
    using (Graphics graphics = Graphics.FromImage(bitmap))
    {
        RenderSettings renderSettings = new RenderSettings();
        renderSettings.LayerSettings.Layers = layers;
        graphics.SmoothingMode = SmoothingMode.AntiAlias;
        page.Draw(graphics, renderSettings);
    }
    bitmap.Save(@"..\..\output.bmp");
}