How to set a page size and margins in C# and .NET


Complete code

using System;
using System.IO;
using SautinSoft;

namespace Sample
{
    class Test
    {
        static void Main(string[] args)
        {
			// Get your free 30-day key here:   
            // https://sautinsoft.com/start-for-free/
	
            // Set page size A5; margins: top, bottom 30 mm and left, right to 50 mm.
            // If you need more information about "HTML to RTF .Net" email us at:
            // support@sautinsoft.com		
            ConvertHtmlToDocxFile();
        }

        public static void ConvertHtmlToDocxFile()
        {
            SautinSoft.HtmlToRtf h = new SautinSoft.HtmlToRtf();
            HtmlConvertOptions opt = new HtmlConvertOptions();
            opt.OutputFormat = HtmlToRtf.OutputFormat.Docx;

            string inpFile = @"..\..\..\sample.html";
            string outFile = "Result.docx";

            // Set page size and page margins.
            opt.PageSetup.PaperType = HtmlToRtf.PaperType.A5;
            opt.PageSetup.PageMargins.Top = new HtmlToRtf.LengthUnit(30, HtmlToRtf.Units.Mm);
            opt.PageSetup.PageMargins.Bottom = new HtmlToRtf.LengthUnit(30, HtmlToRtf.Units.Mm);
            opt.PageSetup.PageMargins.Left = new HtmlToRtf.LengthUnit(50, HtmlToRtf.Units.Mm);
            opt.PageSetup.PageMargins.Right = new HtmlToRtf.LengthUnit(50, HtmlToRtf.Units.Mm);

            if (h.Convert(inpFile, outFile, opt))
            {
                // Open the result for demonstration purposes.
                System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
            }
        }
    }
}

Download

Imports System
Imports System.IO
Imports SautinSoft

Namespace Sample
	Friend Class Test
		Shared Sub Main(ByVal args() As String)
			' Get your free 30-day key here:   
            ' https://sautinsoft.com/start-for-free/
	
			' Set page size A5; margins: top, bottom 30 mm and left, right to 50 mm.
			' If you need more information about "HTML to RTF .Net" email us at:
			' support@sautinsoft.com		
			ConvertHtmlToDocxFile()
		End Sub

		Public Shared Sub ConvertHtmlToDocxFile()
			Dim h As New SautinSoft.HtmlToRtf()
			Dim opt As New HtmlConvertOptions()
			opt.OutputFormat = HtmlToRtf.OutputFormat.Docx

			Dim inpFile As String = "..\..\..\sample.html"
			Dim outFile As String = "Result.docx"

			' Set page size and page margins.
			opt.PageSetup.PaperType = HtmlToRtf.PaperType.A5
			opt.PageSetup.PageMargins.Top = New HtmlToRtf.LengthUnit(30, HtmlToRtf.Units.Mm)
			opt.PageSetup.PageMargins.Bottom = New HtmlToRtf.LengthUnit(30, HtmlToRtf.Units.Mm)
			opt.PageSetup.PageMargins.Left = New HtmlToRtf.LengthUnit(50, HtmlToRtf.Units.Mm)
			opt.PageSetup.PageMargins.Right = New HtmlToRtf.LengthUnit(50, HtmlToRtf.Units.Mm)

			If h.Convert(inpFile, outFile, opt) Then
				' Open the result for demonstration purposes.
				System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
			End If
		End Sub
	End Class
End Namespace

Download


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:



Questions and suggestions from you are always welcome!

We are developing .Net components since 2002. We know PDF, DOCX, RTF, HTML, XLSX and Images formats. If you need any assistance with creating, modifying or converting documents in various formats, we can help you. We will write any code example for you absolutely free.