using IronPdf;string html = "<img src='https://ironsoftware.com/img/svgs/new-banner-svg.svg' style='width:100px'>";ChromePdfRenderer renderer = new ChromePdfRenderer();renderer.RenderingOptions.WaitFor.RenderDelay(1000);PdfDocument pdf = renderer.RenderHtmlAsPdf(html);pdf.SaveAs("svgToPdf.pdf");
using IronPdf;
string html = "<img src='https://ironsoftware.com/img/svgs/new-banner-svg.svg' style='width:100px'>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("svgToPdf.pdf");
ImportsIronPdfPrivate html AsString = "<img src='https://ironsoftware.com/img/svgs/new-banner-svg.svg' style='width:100px'>"Private renderer As New ChromePdfRenderer()renderer.RenderingOptions.WaitFor.RenderDelay(1000)Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(html)pdf.SaveAs("svgToPdf.pdf")
Imports IronPdf
Private html As String = "<img src='https://ironsoftware.com/img/svgs/new-banner-svg.svg' style='width:100px'>"
Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.WaitFor.RenderDelay(1000)
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("svgToPdf.pdf")
using IronPdf;using System.IO;// Load SVG file contentstring svgPath = @"C:\assets\company-logo.svg";string svgContent = File.ReadAllText(svgPath);// Create HTML with embedded SVGstring html = $@"<html><head> <style> body {{ margin: 20px; }} .logo {{ width: 200px; height: 100px; }} </style></head><body> <h1>Company Report</h1> <img src='file:///{svgPath}' class='logo' /> <p>Annual financial summary with vector graphics.</p></body></html>";// Configure renderer with custom settingsChromePdfRenderer renderer = new ChromePdfRenderer();renderer.RenderingOptions.MarginTop = 10;renderer.RenderingOptions.MarginBottom = 10;renderer.RenderingOptions.PrintHtmlBackgrounds = true;// Generate PDFPdfDocument pdf = renderer.RenderHtmlAsPdf(html);pdf.SaveAs("report-with-svg.pdf");
using IronPdf;
using System.IO;
// Load SVG file content
string svgPath = @"C:\assets\company-logo.svg";
string svgContent = File.ReadAllText(svgPath);
// Create HTML with embedded SVG
string html = $@"
<html>
<head>
<style>
body {{ margin: 20px; }}
.logo {{ width: 200px; height: 100px; }}
</style>
</head>
<body>
<h1>Company Report</h1>
<img src='file:///{svgPath}' class='logo' />
<p>Annual financial summary with vector graphics.</p>
</body>
</html>";
// Configure renderer with custom settings
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Generate PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report-with-svg.pdf");
ImportsIronPdfImportsSystem.IO' Load SVG file contentDim svgPath AsString = "C:\assets\company-logo.svg"Dim svgContent AsString = File.ReadAllText(svgPath)' Create HTML with embedded SVGDim html AsString = $"<html><head> <style> body {{ margin: 20px; }} .logo {{ width: 200px; height: 100px; }} </style></head><body> <h1>Company Report</h1> <img src='file:///{svgPath}' class='logo' /> <p>Annual financial summary with vector graphics.</p></body></html>"' Configure renderer with custom settingsDim renderer As New ChromePdfRenderer()renderer.RenderingOptions.MarginTop = 10renderer.RenderingOptions.MarginBottom = 10renderer.RenderingOptions.PrintHtmlBackgrounds = True' Generate PDFDim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(html)pdf.SaveAs("report-with-svg.pdf")
Imports IronPdf
Imports System.IO
' Load SVG file content
Dim svgPath As String = "C:\assets\company-logo.svg"
Dim svgContent As String = File.ReadAllText(svgPath)
' Create HTML with embedded SVG
Dim html As String = $"
<html>
<head>
<style>
body {{ margin: 20px; }}
.logo {{ width: 200px; height: 100px; }}
</style>
</head>
<body>
<h1>Company Report</h1>
<img src='file:///{svgPath}' class='logo' />
<p>Annual financial summary with vector graphics.</p>
</body>
</html>"
' Configure renderer with custom settings
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 10
renderer.RenderingOptions.MarginBottom = 10
renderer.RenderingOptions.PrintHtmlBackgrounds = True
' Generate PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("report-with-svg.pdf")
using IronPdf;using System;// SVG content as stringstring svgContent = @"<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'> <circle cx='50' cy='50' r='40' stroke='black' stroke-width='2' fill='red' /></svg>";// Convert to Base64byte[] svgBytes = System.Text.Encoding.UTF8.GetBytes(svgContent);string base64Svg = Convert.ToBase64String(svgBytes);// Create HTML with Base64 embedded SVGstring html = $@"<html><body> <h2>Embedded SVG Example</h2> <img src='data:image/svg+xml;base64,{base64Svg}' style='width:150px;height:150px;' /></body></html>";// Render to PDFChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf(html);pdf.SaveAs("embedded-svg.pdf");
using IronPdf;
using System;
// SVG content as string
string svgContent = @"<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'>
<circle cx='50' cy='50' r='40' stroke='black' stroke-width='2' fill='red' />
</svg>";
// Convert to Base64
byte[] svgBytes = System.Text.Encoding.UTF8.GetBytes(svgContent);
string base64Svg = Convert.ToBase64String(svgBytes);
// Create HTML with Base64 embedded SVG
string html = $@"
<html>
<body>
<h2>Embedded SVG Example</h2>
<img src='data:image/svg+xml;base64,{base64Svg}' style='width:150px;height:150px;' />
</body>
</html>";
// Render to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("embedded-svg.pdf");
ImportsIronPdfImportsSystemImportsSystem.Text' SVG content as stringDim svgContent AsString = "<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'> <circle cx='50' cy='50' r='40' stroke='black' stroke-width='2' fill='red' /></svg>"' Convert to Base64Dim svgBytes AsByte() = Encoding.UTF8.GetBytes(svgContent)Dim base64Svg AsString = Convert.ToBase64String(svgBytes)' Create HTML with Base64 embedded SVGDim html AsString = $"<html><body> <h2>Embedded SVG Example</h2> <img src='data:image/svg+xml;base64,{base64Svg}' style='width:150px;height:150px;' /></body></html>"' Render to PDFDim renderer As New ChromePdfRenderer()Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(html)pdf.SaveAs("embedded-svg.pdf")
Imports IronPdf
Imports System
Imports System.Text
' SVG content as string
Dim svgContent As String = "<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'>
<circle cx='50' cy='50' r='40' stroke='black' stroke-width='2' fill='red' />
</svg>"
' Convert to Base64
Dim svgBytes As Byte() = Encoding.UTF8.GetBytes(svgContent)
Dim base64Svg As String = Convert.ToBase64String(svgBytes)
' Create HTML with Base64 embedded SVG
Dim html As String = $"
<html>
<body>
<h2>Embedded SVG Example</h2>
<img src='data:image/svg+xml;base64,{base64Svg}' style='width:150px;height:150px;' />
</body>
</html>"
' Render to PDF
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("embedded-svg.pdf")
// Set custom DPI for better qualityrenderer.RenderingOptions.DPI = 300;// Use CSS transforms for scalingstring html = @"<img src='logo.svg' style='width:200px;height:200px;transform:scale(1.5);' />";
// Set custom DPI for better quality
renderer.RenderingOptions.DPI = 300;
// Use CSS transforms for scaling
string html = @"
<img src='logo.svg' style='width:200px;height:200px;transform:scale(1.5);' />";
' Set custom DPI for better qualityrenderer.RenderingOptions.DPI = 300' Use CSS transforms for scalingDim html AsString = "<img src='logo.svg' style='width:200px;height:200px;transform:scale(1.5);' />"
' Set custom DPI for better quality
renderer.RenderingOptions.DPI = 300
' Use CSS transforms for scaling
Dim html As String = "
<img src='logo.svg' style='width:200px;height:200px;transform:scale(1.5);' />"
using IronPdf;using System.Collections.Generic;using System.Text;List<string> svgFiles = new List<string> { "chart1.svg", "chart2.svg", "diagram.svg"};StringBuilder htmlBuilder = new StringBuilder();htmlBuilder.Append("<html><body>");foreach(string svgFile in svgFiles){ htmlBuilder.Append($@" <div style='page-break-after:always;'> <img src='{svgFile}' style='width:600px;height:400px;' /> </div>");}htmlBuilder.Append("</body></html>");ChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());pdf.SaveAs("multiple-svgs.pdf");
using IronPdf;
using System.Collections.Generic;
using System.Text;
List<string> svgFiles = new List<string>
{
"chart1.svg",
"chart2.svg",
"diagram.svg"
};
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.Append("<html><body>");
foreach(string svgFile in svgFiles)
{
htmlBuilder.Append($@"
<div style='page-break-after:always;'>
<img src='{svgFile}' style='width:600px;height:400px;' />
</div>");
}
htmlBuilder.Append("</body></html>");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
pdf.SaveAs("multiple-svgs.pdf");
ImportsIronPdfImportsSystem.Collections.GenericImportsSystem.TextDim svgFiles As New List(OfString) From { "chart1.svg", "chart2.svg", "diagram.svg"}Dim htmlBuilder As New StringBuilder()htmlBuilder.Append("<html><body>")For Each svgFile AsStringIn svgFiles htmlBuilder.Append($" <div style='page-break-after:always;'> <img src='{svgFile}' style='width:600px;height:400px;' /> </div>")NexthtmlBuilder.Append("</body></html>")Dim renderer As New ChromePdfRenderer()Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())pdf.SaveAs("multiple-svgs.pdf")
Imports IronPdf
Imports System.Collections.Generic
Imports System.Text
Dim svgFiles As New List(Of String) From {
"chart1.svg",
"chart2.svg",
"diagram.svg"
}
Dim htmlBuilder As New StringBuilder()
htmlBuilder.Append("<html><body>")
For Each svgFile As String In svgFiles
htmlBuilder.Append($"
<div style='page-break-after:always;'>
<img src='{svgFile}' style='width:600px;height:400px;' />
</div>")
Next
htmlBuilder.Append("</body></html>")
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())
pdf.SaveAs("multiple-svgs.pdf")
IronPDF requires that fonts used within SVGs are properly embedded or referenced to ensure correct text rendering. You can manage fonts through IronPDF's font management features to guarantee consistency.
What are best practices for converting SVGs to PDF?
Best practices include specifying SVG dimensions, optimizing SVG files by simplifying paths and removing unnecessary metadata, and testing across different platforms to ensure consistent rendering with IronPDF.
How can I convert multiple SVG files into a single PDF using IronPDF?
To convert multiple SVGs into a single PDF, use IronPDF to embed each SVG in a separate HTML element with a page-break style for continuous PDF generation. This facilitates batch processing of SVGs.
Does IronPDF support responsive design for SVG to PDF conversion?
Yes, IronPDF supports responsive design elements by using viewport settings and CSS transformations. This allows for scalable and dynamically adjusted PDF layouts based on the SVG content you are converting.