Динамические обновления PDF на C# и .NET

SautinSoft.Pdf позволяет пользователям изменять PDF-документы. Пользователям не нужно ждать, пока весь файл (который может содержать сотни страниц или больше) будет переписан при каждом сохранении изменений в документе.

Формат PDF позволяет вносить изменения в файл, сохраняя исходные данные. Приложения, добавляемые при постепенном обновлении файла, будут содержать только те объекты, которые были фактически добавлены или изменены.

Поскольку исходное содержимое документа остаётся в файле, можно отменить сохранённые изменения, удалив одно или несколько дополнений. Возможность восстановить исходное содержимое документа имеет решающее значение при цифровой подписи PDF-файла с несколькими подписями.

Дополнительную информацию об инкрементальном обновлении PDF в SautinSoft.Pdf см. на странице справки File Structure.

В следующем примере показано, как загрузить PDF-документ, добавить страницы с текстом и сохранить изменения с помощью функции постепенного обновления.

Полный код

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

namespace Sample
{
    class Sample
    {
        /// <summary>
        /// Edit PDF files using incremental updates.
        /// </summary>
        /// <remarks>
        /// Details: https://sautinsoft.com/products/pdf/help/net/developer-guide/incremental-update.php
        /// </remarks>
        static void Main(string[] args)
        {
            // Before starting this example, please get a free trial key:
            // https://sautinsoft.com/start-for-free/

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

            string pdfFile = Path.GetFullPath(@"..\..\..\simple text.pdf");
            // Load a PDF document from a file.
            using (var document = PdfDocument.Load(pdfFile))
            {
                // Add a page.
                var page = document.Pages.Add();

                // Write a text.
                using (var formattedText = new PdfFormattedText())
                {
                    formattedText.Append("Hello World again!");

                    page.Content.DrawText(formattedText, new PdfPoint(100, 700));
                }

                // Save all the changes made to the current PDF document using an incremental update.
                document.Save();
            }
        }
    }
}

Download

Option Infer On

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

Namespace Sample
	Friend Class Sample
		''' <summary>
		''' Edit PDF files using incremental updates.
		''' </summary>
		''' <remarks>
		''' Details: https://sautinsoft.com/products/pdf/help/net/developer-guide/incremental-update.php
		''' </remarks>
		Shared Sub Main(ByVal args() As String)
			' Before starting this example, please get a free trial key:
			' https://sautinsoft.com/start-for-free/

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

			Dim pdfFile As String = Path.GetFullPath("..\..\..\simple text.pdf")
			' Load a PDF document from a file.
			Using document = PdfDocument.Load(pdfFile)
				' Add a page.
				Dim page = document.Pages.Add()

				' Write a text.
				Using formattedText = New PdfFormattedText()
					formattedText.Append("Hello World again!")

					page.Content.DrawText(formattedText, New PdfPoint(100, 700))
				End Using

				' Save all the changes made to the current PDF document using an incremental update.
				document.Save()
				System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(pdfFile) With {.UseShellExecute = True})
			End Using
		End Sub
	End Class
End Namespace

Download


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



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

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