SelectPdf for .NET - Pdf Elements Rendering Position - VB.NET / 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 VB.NET



Imports SelectPdf

Namespace Controllers
    Public Class PdfElementsPositionsController
        Inherits Controller

        ' GET: PdfElementsPositions
        Public Function Index() As ActionResult
            Return View()
        End Function

        <HttpPost> _
        Public Function SubmitAction(collection As FormCollection) As ActionResult
            ' create a new pdf document
            Dim doc As New PdfDocument()

            ' add a new page to the document
            Dim page As PdfPage = doc.AddPage()

            ' create a new pdf font
            Dim font As PdfFont = doc.AddFont(PdfStandardFont.Helvetica)
            font.Size = 20

            ' define a rendering result object
            Dim result As PdfRenderingResult

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

            ' add 10 more text element, leaving 30pt between the text lines
            For i As Integer = 1 To 10
                Dim elem As New PdfTextElement(0, result.PdfPageLastRectangle.Bottom + 30,
                                               "Text line " & i, font)
                result = page.Add(elem)
            Next

            ' save pdf document
            Dim pdf As Byte() = doc.Save()

            ' close pdf document
            doc.Close()

            ' return resulted pdf document
            Dim fileResult As FileResult = New FileContentResult(pdf, "application/pdf")
            fileResult.FileDownloadName = "Document.pdf"
            Return fileResult
        End Function
    End Class
End Namespace