Today we will generate a PDF with the open source Scryber.

The best way to work with Scryber is to use a template (PDFX file) for the style, the layout and the static content, then insert the dynamic content with C#.

Full documentation at this link.

Good example at this link.

Create a new XML file and rename it PdfScript.pdfx:

<?xml version="1.0" encoding="utf-8"?>
<pdf:Document xmlns:pdf="Scryber.Components, Scryber.Components" auto-bind="true" >
    <pdf:Page id="MyFirstPage" >
        Hello World

Now you can load the template and modify it, then generate the PDF file:

using System.Drawing;
using Scryber.Components;


//Load the template containing a page with "Hello World"
using (var doc = PDFDocument.ParseDocument("../../PdfScript.pdfx"))
    //Add a new label to the existing page
    var lbl1 = new PDFLabel {Text = "\r\nHello World Again"};
    lbl1.Style.Fill.Color = Color.Aquamarine;
    lbl1.Style.Position.PositionMode = Scryber.Drawing.PositionMode.Block;


    //Add a new page to the template dynamically
    var page = new PDFPage
        PaperSize = Scryber.PaperSize.A4,
        PaperOrientation = Scryber.PaperOrientation.Portrait

    //Add some content to this new page
    var lbl2 = new PDFLabel {Text = "This is the second page!"};

    doc.ProcessDocument("MyFirstPDF.pdf", System.IO.FileMode.Create);

Enjoy!  😉