Convert HTML to PDF file with page size and margins settings in C# and .NET
Complete code
using System;
using System.IO;
using SautinSoft.PdfVision;
namespace Sample
{
class Program
{
static void Main(string[] args)
{
SetupPageProperties();
}
public static void SetupPageProperties()
{
string inpFile = Path.GetFullPath(@"..\..\..\example.html");
string outFile = new FileInfo("Result.pdf").FullName;
// Before starting, we recommend to get a free 100-day key:
// https://sautinsoft.com/start-for-free/
// Apply the key here:
// SautinSoft.PdfVision.SetLicense("...");
PdfVision v = new PdfVision();
// Page size: A3 (297 x 420 mm)
// Orientation: Portrait
// Margins: Left: 30mm, Top: 15mm, Right: 25mm, Bottom: 15mm.
HtmlToPdfOptions options = new HtmlToPdfOptions()
{
PageSetup = new PageSetup()
{
PaperType = PaperType.A3,
Orientation = Orientation.Portrait,
PageMargins = new PageMargins()
{
Left = LengthUnitConverter.ToPoint(30, LengthUnit.Millimeter),
Top = LengthUnitConverter.ToPoint(15, LengthUnit.Millimeter),
Right = LengthUnitConverter.ToPoint(25, LengthUnit.Millimeter),
Bottom = LengthUnitConverter.ToPoint(15, LengthUnit.Millimeter)
}
},
PrintBackground = true,
Scale = 1M,
//Set a custom directory where will be placed portable Chromium browser.
//Default value depends of platform (win-x64, win-86, linux-x64 or osx-x64).
ChromiumBaseDirectory = Path.GetFullPath(@"..\..\..\..\..\..\Chromium\")
};
try
{
v.ConvertHtmlToPdf(inpFile, outFile, options);
// Open the result for demonstration purposes.
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
Console.ReadLine();
}
}
}
}
Imports System
Imports System.IO
Imports SautinSoft.PdfVision
Namespace Sample
Friend Class Program
Shared Sub Main(ByVal args() As String)
SetupPageProperties()
End Sub
Public Shared Sub SetupPageProperties()
Dim inpFile As String = Path.GetFullPath("..\..\..\example.html")
Dim outFile As String = (New FileInfo("Result.pdf")).FullName
' Before starting, we recommend to get a free 100-day key:
' https://sautinsoft.com/start-for-free/
' Apply the key here:
' SautinSoft.PdfVision.SetLicense("...");
Dim v As New PdfVision()
' Page size: A3 (297 x 420 mm)
' Orientation: Portrait
' Margins: Left: 30mm, Top: 15mm, Right: 25mm, Bottom: 15mm.
Dim options As New HtmlToPdfOptions() With {
.PageSetup = New PageSetup() With {
.PaperType = PaperType.A3,
.Orientation = Orientation.Portrait,
.PageMargins = New PageMargins() With {
.Left = LengthUnitConverter.ToPoint(30, LengthUnit.Millimeter),
.Top = LengthUnitConverter.ToPoint(15, LengthUnit.Millimeter),
.Right = LengthUnitConverter.ToPoint(25, LengthUnit.Millimeter),
.Bottom = LengthUnitConverter.ToPoint(15, LengthUnit.Millimeter)
}
},
.PrintBackground = True,
.Scale = 1D,
.ChromiumBaseDirectory = Path.GetFullPath("..\..\..\..\..\..\Chromium\")
}
Try
v.ConvertHtmlToPdf(inpFile, outFile, options)
' Open the result for demonstration purposes.
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
Catch ex As Exception
Console.WriteLine($"Error: {ex.Message}")
Console.ReadLine()
End Try
End Sub
End Class
End Namespace
If you need a new code example or have a question: email us at support@sautinsoft.com or ask at Online Chat (right-bottom corner of this page) or use the Form below: