Сведение PDF – Flatten PDF – примеры C#

PDF (Portable Document Format) – популярный формат файлов, широко используемый для обмена и хранения цифровых документов. Этот универсальный формат позволяет создавать сложные документы с различными элементами, включая текст, изображения, формы и многое другое. Однако в определенных ситуациях может потребоваться сведение PDF-документа, что означает преобразование его в статичный неинтерактивный файл, которым можно легко поделиться, распечатать или заархивировать. В этой статье объясняется, что значит сведение PDF-файлов и как это сделать с помощью библиотеки Aspose.HTML для .NET.

Что значит свести PDF – Flatten PDF?

Сведение файла PDF означает объединение всех слоев документа в один фоновый слой. Этот процесс эффективно «выравнивает» документ, удаляя любые интерактивные элементы, такие как заполняемые поля формы и редактируемый текст. В результате получается статический PDF-файл, который больше нельзя редактировать или изменить его внешний вид, что делает его идеальным для совместного использования, печати или архивирования.

Зачем нужно сведение PDF?

Сведение PDF-документа – это процесс, который может иметь несколько преимуществ в зависимости от ваших конкретных потребностей. Существует несколько причин, по которым вам может понадобиться свести PDF-файл:

Независимо от того, связаны ли ваши цели с безопасностью, размером файла, печатью, архивированием или простотой использования, сведение PDF-файла может дать вам нужные результаты.

Как сгладить PDF на C#?

Сведение PDF-документа – полезный процесс для обеспечения стабильности и безопасности документа, а также для улучшения его совместимости с принтерами или программными приложениями. Преобразовывая файлы HTML или MHTML в плоские PDF-файлы с помощью кода C#, мы можем легко создавать статические неинтерактивные PDF-документы.

Aspose.HTML для .NET предлагает свойство FormFieldBehaviour класса PdfSaveOptions для выравнивания документов PDF после их преобразование из HTML или MHTML. Это свойство используется для указания поведения полей формы в документе PDF. Если установлено значение FormFieldBehaviour.Flattened, все поля формы в документе PDF будут сведены.

Преобразование HTML в PDF и сведение PDF

Чтобы свести файл PDF с помощью Aspose.HTML для .NET, сначала необходимо преобразовать файл HTML в документ PDF. Файл HTML может содержать интерактивные формы, которые необходимо преобразовать в PDF и сгладить. Вот пример того, как преобразовать HTML в PDF и использовать свойство FormFieldBehaviour для выравнивания PDF:

 1using System.IO;
 2using Aspose.Html;
 3using Aspose.Html.Converters;
 4using Aspose.Html.Rendering.Pdf;
 5using Aspose.Html.Saving;
 6...
 7     
 8    // Prepare a path to an HTML source file
 9    var sourcePath = Path.Combine(DataDir, "SampleHtmlForm.html");
10
11    // Initialize an HTML document from the file
12    using HTMLDocument document = new HTMLDocument(sourcePath);
13
14    // Prepare PDF save options
15    var options = new PdfSaveOptions
16    {
17        // Flatten all form fields
18        FormFieldBehaviour = FormFieldBehaviour.Flattened
19    };
20
21    // Prepare a path to the result file
22    var resultPath = Path.Combine(OutputDir, "form-flattened.pdf");
23
24    // Convert HTML to PDF
25    Converter.ConvertHTML(document, options, resultPath);

Таким образом, вы можете легко преобразовать HTML-файл в сглаженный PDF-файл с помощью C#. Этот процесс прост и может быть выполнен с помощью нескольких строк кода. Давайте посмотрим на шаги, которые мы предприняли:

  1. Используйте один из конструкторов класса HTMLDocument для загрузки HTML-файла. В примере конструктор HTMLDocument(sourcePath) загружает HTML-документ из локальной файловой системы.
  2. Создайте экземпляр класса PdfSaveOptions, который используется для указания параметров сохранения документа PDF. В этом случае для свойства FormFieldBehaviour PdfSaveOptions установлено значение FormFieldBehaviour.Flattened, что означает что все поля формы в документе HTML будут сведены при создании документа PDF.
  3. Вызовите метод ConvertHTML() для преобразования HTML в PDF с использованием указанных параметров и полученный PDF-документ сохраняется в resultPath.

Преобразование MHTML в PDF и сведение PDF

В следующем примере C# показано, как преобразовать документ MHTML, расположенный по адресу sourcePath, в сглаженный документ PDF и сохранить его в outputPath:

 1using System.IO;
 2using Aspose.Html.Converters;
 3using Aspose.Html.Rendering.Pdf;
 4using Aspose.Html.Saving;
 5...
 6     
 7    // Prepare a path to an MHTML source file
 8    var sourcePath = Path.Combine(DataDir, "SampleHtmlForm.mhtml");
 9
10    // Initialize PDF save options
11    var options = new PdfSaveOptions
12    {
13        // Flatten all form fields
14        FormFieldBehaviour = FormFieldBehaviour.Flattened
15    };
16
17    // Prepare a path to the result file
18    var outputPath = Path.Combine(OutputDir, "document-flattened.pdf");
19
20    // Convert MHTML to PDF
21    Converter.ConvertMHTML(sourcePath, options, outputPath);

Чтобы преобразовать MHTML в PDF с указанием свойства FormFieldBehaviour, необходимо выполнить несколько шагов:

  1. Инициализируйте экземпляр класса PdfSaveOptions и укажите параметры сохранения документа PDF. В этом примере для свойства FormFieldBehaviour PdfSaveOptions установлено значение FormFieldBehaviour.Flattened, что означает что все поля формы в документе MHTML будут сведены при создании документа PDF.

  2. Используйте метод ConvertMHTML() для преобразования MHTML в PDF, который принимает исходный путь, параметры и outputPath в качестве параметров.

В чем разница между файлами PDF, сохраненными со свойством FormFieldBehaviour и без него?

  1. Если для свойства FormFieldBehaviour задано значение FormFieldBehaviour.Flattened, поля формы в документе PDF будут объединены в один слой документа. Это эффективно сглаживает поля формы, делая их неинтерактивными и невозможными для редактирования. В результате получается статический PDF-документ, который нельзя изменить.
  2. С другой стороны, если для свойства FormFieldBehaviour установлено значение FormFieldBehaviour.Interactive, поля формы в документе PDF останутся интерактивными. Это означает, что пользователи могут заполнять поля формы и вносить изменения.
  3. В Aspose.HTML значение по умолчанию для свойства FormFieldBehaviour – FormFieldBehaviour.Interactive. Если свойство FormFieldBehaviour не задано явно, поля формы в документе PDF останутся интерактивными, позволяя пользователям заполнять и редактировать их.

Вы можете скачать полные примеры C# и файлы данных с GitHub.

Aspose.HTML предлагает бесплатные онлайн Конвертеры для преобразования файлов HTML, XHTML, MHTML, EPUB, XML и Markdown в различные популярные форматы. Вы можете легко конвертировать HTML в PDF, HTML в JPG, SVG в PDF, MHTML в PDF или MD to HTML. Просто выберите файл, выберите формат для преобразования , и готово! Это быстро и совершенно бесплатно!

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.