Precise PDF Page Control Using C# and .NET

Managing PDF documents programmatically can be a powerful tool for developers, especially when precise control over the content and structure of the PDF is required. This article will explore how to achieve precise PDF page control using C# and .NET, leveraging the robust features of SautinSoft's SautinSoft.Pdf library.

Recognition of page parameters in PDF.Net can be useful for various tasks such as:

  • Change the page orientation. You can change the page orientation from portrait to landscape and vice versa.
  • Setting the page borders. This allows you to control the visible area of the page, which can be useful for printing or displaying.
  • Adding page numbers. Knowing the page parameters helps you position the page numbers accurately.
  • Reorganizing the pages. You can change the order of the pages in the document.
  • Extract text and images. Understanding the page settings helps you accurately extract text and images from specific areas of the page.

Step-by-step guide:

  1. Add SautinSoft.PDF from NuGet.
  2. Create a new PDF document.
  3. Get a page tree root node.
  4. Create a left page tree node.
  5. Create a first page.
  6. Output parameters in the console.

Output result:

Полный код

using System;
using System.IO;
using SautinSoft;
using SautinSoft.Pdf;
using SautinSoft.Pdf.Content;

namespace Sample
{
    class Sample
    {
            /// <summary>
            /// Page parameters.
            /// </summary>
            /// <remarks>
            /// Details: https://sautinsoft.com/products/pdf/help/net/developer-guide/page-parameters.php
            /// </remarks>
        static void Main(string[] args)
        {
            // Before starting this example, please get a free 100-day trial key:
            // https://sautinsoft.com/start-for-free/

            // Apply the key here:
            // PdfDocument.SetLicense("...");

            using (var document = new PdfDocument())
            {
                using (var formattedText = new PdfFormattedText())
                {
                    // Get a page tree root node.
                    var rootNode = document.Pages;
                  
                    // Create a left page tree node.
                    var childNode = rootNode.Kids.AddPages();
                    
                    // Create a first page.
                    var page = childNode.Kids.AddPage();
                    Console.WriteLine("Page rotation: {0}", page.Rotate);
                    Console.WriteLine("Page size: width = {0}, height = {1}", page.Size.Width, page.Size.Height);
                    Console.WriteLine("Page cropBox rectangle: ({0}, {1}, {2}, {3})", page.CropBox.Left, page.CropBox.Bottom, page.CropBox.Right, page.CropBox.Top);
                    Console.WriteLine("Page mediaBox rectangle: ({0}, {1}, {2}, {3})", page.MediaBox.Left, page.MediaBox.Bottom, page.MediaBox.Right, page.MediaBox.Top);
                }
            }
        }
    }
}

Download

Option Infer On

Imports System
Imports System.IO
Imports SautinSoft
Imports SautinSoft.Pdf
Imports SautinSoft.Pdf.Content

Namespace Sample
	Friend Class Sample
			''' <summary>
			''' Page parameters.
			''' </summary>
			''' <remarks>
			''' Details: https://sautinsoft.com/products/pdf/help/net/developer-guide/page-parameters.php
			''' </remarks>
		Shared Sub Main(ByVal args() As String)
			' Before starting this example, please get a free license:
			' https://sautinsoft.com/start-for-free/

			' Apply the key here:
			' PdfDocument.SetLicense("...");

			Using document = New PdfDocument()
				Using formattedText = New PdfFormattedText()
					' Get a page tree root node.
					Dim rootNode = document.Pages


					' Create a left page tree node.
					Dim childNode = rootNode.Kids.AddPages()



					' Create a first page.
					Dim page = childNode.Kids.AddPage()
					formattedText.Append("FIRST PAGE")
					page.Content.DrawText(formattedText, New PdfPoint(0, 0))
				End Using

				document.Save("Add Page.pdf")
			End Using

			System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo("Add Page.pdf") With {.UseShellExecute = True})
		End Sub
	End Class
End Namespace

Download


Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.ru или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже:



Вопросы и предложения всегда приветствуются!

Мы разрабатываем компоненты .Net с 2002 года. Мы знаем форматы PDF, DOCX, RTF, HTML, XLSX и Images. Если вам нужна помощь в создании, изменении или преобразовании документов в различных форматах, мы можем вам помочь. Мы напишем для вас любой пример кода абсолютно бесплатно.