C#/VB.NET: Convert SVG to PDF

SVG is a file format for vector graphics, used to create images that can be scaled without loss of quality. However, PDF is more suitable for sharing and printing due to its support for high-quality printing, encryption, digital signatures, and other features. Converting SVG to PDF ensures good image display on different devices and environments, and better protects intellectual property.  In this tutorial, we will show you how to convert SVG to PDF and how to add a SVG image to PDF in C# and VB.NET using Spire.PDF for .NET.

Install Spire.PDF for .NET

To begin with, you need to add the DLL files included in the Spire.PDF for .NET package as references in your .NET project. The DLLs files can be either downloaded from this link or installed via NuGet.

PM> Install-Package Spire.PDF

Convert SVG to PDF in C# and VB.NET

Spire.PDF for .NET provides the PdfDocument.SaveToFile(String, FileFormat) method, which allows users to save an SVG file as a PDF. The detailed steps are as follows.

  • Create a PdfDocument object.
  • Load a sample SVG file using PdfDocument.LoadFromFile() method.
  • Convert the SVG file to PDF using PdfDocument.SaveToFile(String, FileFormat) method.
  • C#
  • VB.NET
using Spire.Pdf;

namespace SVGtoPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create a PdfDocument object
            PdfDocument doc = new PdfDocument();

            //Load a sample SVG file
            doc.LoadFromSvg("Sample.svg");

            //Save result document
            doc.SaveToFile("Result.pdf", FileFormat.PDF);
            doc.Dispose();
        }
    }
}

C#/VB.NET: Convert SVG to PDF

Add SVG image to PDF in C# and VB.NET

In addition to converting SVG to PDF directly, it also supports adding SVG image files to the specified locations in PDF. Please check the steps as below:

  • Create a PdfDocument object and load an SVG file using PdfDocument. LoadFromSvg() method.
  • Create a template based on the content of the SVG file using PdfDocument. Pages[].CreateTemplate() method.
  • Get the width and height of the template on the page.
  • Create another PdfDocument object and load a PDF file using PdfDocument.LoadFromFile() method.
  • Draw the template with a custom size at a specified location using PdfDocument.Pages[].Canvas.DrawTemplate() method.
  • Save to PDF file using PdfDocument.SaveToFile(String, FileFormat) method.
  • C#
  • VB.NET
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace AddSVGImagetoPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create a PdfDocument object
            PdfDocument doc1 = new PdfDocument();

            //Load an SVG file
            doc1.LoadFromSvg("C:\\Users\\Administrator\\Desktop\\sample.svg");

            //Create a template based on the content of the SVG file
            PdfTemplate template = doc1.Pages[0].CreateTemplate();

            //Get the width and height of the template 
            float width = template.Width;
            float height = template.Height;

            //Create another PdfDocument object
            PdfDocument doc2 = new PdfDocument();

            //Load a PDF file
            doc2.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf");

            //Draw the template with a custom size at a specified location 
            doc2.Pages[0].Canvas.DrawTemplate(template, new PointF(0, 0), new SizeF(width * 0.8f, height * 0.8f));

            //Save to PDF file
            doc2.SaveToFile("AddSvgToPdf.pdf", FileFormat.PDF);
            doc2.Dispose();
        }
    }
}

C#/VB.NET: Convert SVG to PDF

Apply for a Temporary License

If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.