ByteScout PDF SDK - C# - Drawing - Transformations - ByteScout
Announcement
Our ByteScout SDK products are sunsetting as we focus on expanding new solutions.
Learn More Open modal
Close modal
Announcement Important Update
ByteScout SDK Sunsetting Notice
Our ByteScout SDK products are sunsetting as we focus on our new & improved solutions. Thank you for being part of our journey, and we look forward to supporting you in this next chapter!

ByteScout PDF SDK – C# – Drawing – Transformations

  • Home
  • /
  • Articles
  • /
  • ByteScout PDF SDK – C# – Drawing – Transformations

ByteScout PDF SDK – C# – Drawing – Transformations

Program.cs

using System.Diagnostics;
using Bytescout.PDF;

namespace Transformations
{
    /// <summary>
    /// This example demonstrates how to use coordinate space transformations.
    /// </summary>
    class Program
    {
        static void Main()
        {
            // Create new document
            Document pdfDocument = new Document();
            pdfDocument.RegistrationName = "demo";
            pdfDocument.RegistrationKey = "demo";
            // Add page
            Page page = new Page(PaperFormat.A4);
            pdfDocument.Pages.Add(page);

            Canvas canvas = page.Canvas;

            // Prepare pens
            Pen blackPen = new SolidPen(new ColorRGB(0, 0, 0), 2f);
            blackPen.Opacity = 50;
            Pen bluePen = new SolidPen(new ColorRGB(0, 0, 255), 2f);
            bluePen.Opacity = 50;
            Pen greenPen = new SolidPen(new ColorRGB(0, 255, 0), 2f);
            greenPen.Opacity = 50;

            // Move coordinate space zero point to (200, 200) and draw a rectangle of 50x50 dize
            canvas.TranslateTransform(200, 200);
            canvas.DrawRectangle(blackPen, 0, 0, 50, 50);

            // Now zoom the coordinate space in twice and draw the same rectangle in green
            canvas.ScaleTransform(2, 2);
            canvas.DrawRectangle(greenPen, 0, 0, 50, 50);

            // Now rotate the coordinate space by 30 degrees and draw the same rectangle in blue
            canvas.RotateTransform(30);
            canvas.DrawRectangle(bluePen, 0, 0, 50, 50);
            
            // Save document to file
            pdfDocument.Save("result.pdf");

            // Cleanup 
            pdfDocument.Dispose();

            // Open result document in default associated application (for demo purpose)
            ProcessStartInfo processStartInfo = new ProcessStartInfo("result.pdf");
            processStartInfo.UseShellExecute = true;
            Process.Start(processStartInfo);
        }
    }
}


  Click here to get your Free Trial version of the SDK

Tutorials:

prev
next