SelectPdf for .NET - Pdf Elements Rendering Position - C# / ASP.NET MVC Sample

This sample shows how to create a new PDF document using SelectPdf and add several text elements to it, for each additional element using the finish position of the previous element, to introduce some space between the lines of text.


Sample Code C#



using SelectPdf.Samples.Models;
using SelectPdf;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace SelectPdf.Samples.Controllers
{
    public class PdfElementsPositionsController : Controller
    {
        // GET: PdfElementsPositions
        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public ActionResult SubmitAction(FormCollection collection)
        {

            // create a new pdf document
            PdfDocument doc = new PdfDocument();

            // add a new page to the document
            PdfPage page = doc.AddPage();

            // create a new pdf font
            PdfFont font = doc.AddFont(PdfStandardFont.Helvetica);
            font.Size = 20;

            // define a rendering result object
            PdfRenderingResult result;

            // create a new text element and add it to the page
            // Important: get the rendering result returned by Add() 
            // into the PdfRenderingResult object
            PdfTextElement text = new PdfTextElement(0, 0, "Hello world!", font);
            result = page.Add(text);

            // add 10 more text element, leaving 30pt between the text lines
            for (int i = 1; i <= 10; i++)
            {
                PdfTextElement elem = new PdfTextElement(0,
                    result.PdfPageLastRectangle.Bottom + 30, "Text line " + i, font);
                result = page.Add(elem);
            }

            // save pdf document
            byte[] pdf = doc.Save();

            // close pdf document
            doc.Close();
           
            // return resulted pdf document
            FileResult fileResult = new FileContentResult(pdf, "application/pdf");
            fileResult.FileDownloadName = "Document.pdf";
            return fileResult;
        }
    }
}