Translate PDF page content

This code sample shows how to apply a single translation to all the content on a PDF page.

Translate Pdf Content

const string inputFile = @"..\..\inputDocuments\PackingLightBrochure.pdf";
using (var inFile = new FileStream(inputFile, FileMode.Open, FileAccess.Read))
{

     // open the source document
     Document documentIn = new Document(inFile);

     // create the target document
     Document documentOut = new Document();

     // move to right and down 1 inch (2.54 cm) or 72 points
     // the origin of the page is in the bottom left corner, so move vertically downwards
     const double tx = 72;
     const double ty = -72;

     // enumerate the pages in the source document
     foreach(Page original in documentIn.Pages)
     {
         // append a translated version of the original page to the target document

         // create a new page that has the same width and height
         Page newPage = new Page(original.Width, original.Height);
         documentOut.Pages.Add(newPage);

         // translate by tx, ty (origin is at the lower left corner - units are in points)
         PageShape shape = new PageShape(original, tx, ty, original.Width, original.Height);
         newPage.VisualOverlay.Add(shape);
     }

     // write the target document to disk
     const string fileName = @"..\..\translatepage.pdf";

     using (FileStream output = new FileStream(fileName, FileMode.Create, FileAccess.Write))
     {
         documentOut.Write(output);
     }
}
Using inFile As New FileStream("..\..\..\inputDocuments\PackingLightBrochure.pdf", FileMode.Open, FileAccess.Read)
    ' open the source document
    Dim documentIn As New Document(inFile)

    ' create the target document
    Dim documentOut As New Document()

    Dim tx As Double = 0
    Dim ty As Double = -72
    For i As Integer = 0 To documentIn.Pages.Count - 1
        ' move down 1 inch (2.54 cm)
        ' enumerate the pages in the source document
        ' append a translated version of the original page to the target document

        ' create a new page that has the same width and height
        Dim page As New Page(documentIn.Pages(i).Width, documentIn.Pages(i).Height)
        documentOut.Pages.Add(page)

        ' translate by tx, ty (origin is at the lower left corner - units are in points)
        Dim pageShape As New PageShape(documentIn.Pages(i), tx, ty, page.Width, page.Height)
        page.VisualOverlay.Add(pageShape)
    Next

    ' write the target document to disk
    Using outFile As New FileStream("..\..\translatepage.pdf", FileMode.Create, FileAccess.Write)
    documentOut.Write(outFile)
    End Using
End Using
Download PDFKit.NET 5.0
We will send you a download link
Why do we ask your email address?
We send tips that speed up your evaluation
We let you know about bug fixes
You can always unsubscribe with one click
We never share your address with a 3rd party
Thank you for your download

We have sent an email with a download link. Alternatively, you may want to use the NuGet package manager to install our library.

Nuget ID

Use the NugetID and start right away, or download the package and install it handmatically