Сведение PDF – Flatten PDF – примеры C#
PDF (Portable Document Format) – популярный формат файлов, широко используемый для обмена и хранения цифровых документов. Этот универсальный формат позволяет создавать сложные документы с различными элементами, включая текст, изображения, формы и многое другое. Однако в определенных ситуациях может потребоваться сведение PDF-документа, что означает преобразование его в статичный неинтерактивный файл, которым можно легко поделиться, распечатать или заархивировать. В этой статье объясняется, что значит сведение PDF-файлов и как это сделать с помощью библиотеки Aspose.HTML for .NET.
Что значит свести PDF – Flatten PDF?
Сведение файла PDF означает объединение всех слоев документа в один фоновый слой. Этот процесс эффективно «выравнивает» документ, удаляя любые интерактивные элементы, такие как заполняемые поля формы и редактируемый текст. В результате получается статический PDF-файл, который больше нельзя редактировать или изменить его внешний вид, что делает его идеальным для совместного использования, печати или архивирования.
Зачем нужно сведение PDF?
Сведение PDF-документа – это процесс, который может иметь несколько преимуществ в зависимости от ваших конкретных потребностей. Существует несколько причин, по которым вам может понадобиться свести PDF-файл:
- С точки зрения безопасности, сведение PDF-документа может предотвратить несанкционированные изменения или подделку. При сведении PDF-файла все поля формы сливаются с фоновым слоем, что затрудняет изменение содержимого любым пользователем.
- Сведение PDF-файла может уменьшить его размер файла за счет удаления ненужной информации, такой как поля формы, аннотации и слои. Это может упростить отправку, отправку по электронной почте или хранение документа, особенно если он большой или сложный.
- Сведение PDF-файла может гарантировать его правильную печать, особенно если он содержит сложную графику, изображения или поля формы. Кроме того, сведение документа устраняет любые эффекты прозрачности и объединяет все слои в один слой, что может помочь предотвратить ошибки печати и улучшить общее качество печати.
- Сведение PDF-документа делает его простым в использовании, поскольку исключает необходимость взаимодействия с интерактивными элементами, упрощая просмотр, печать или совместное использование.
- Если вам нужно сохранить PDF-документ для последующего использования и заархивировать его, сведение документа может обеспечить его удобочитаемость и доступность в течение многих лет. Сведение устраняет необходимость в каком-либо специализированном программном обеспечении или плагинах, поскольку документ будет представлять собой статичный неинтерактивный файл PDF.
- и более.
Независимо от того, связаны ли ваши цели с безопасностью, размером файла, печатью, архивированием или простотой использования, сведение PDF-файла может дать вам нужные результаты.
Как сгладить PDF на C#?
Сведение PDF-документа – полезный процесс для обеспечения стабильности и безопасности документа, а также для улучшения его совместимости с принтерами или программными приложениями. Преобразовывая файлы HTML или MHTML в плоские PDF-файлы с помощью кода C#, мы можем легко создавать статические неинтерактивные PDF-документы.
Aspose.HTML for .NET предлагает свойство FormFieldBehaviour класса PdfSaveOptions для выравнивания документов PDF после их преобразование из HTML или MHTML. Это свойство используется для указания поведения полей формы в документе PDF. Если установлено значение FormFieldBehaviour.Flattened, все поля формы в документе PDF будут сведены.
Преобразование HTML в PDF и сведение PDF
Чтобы свести файл PDF с помощью Aspose.HTML for .NET, сначала необходимо преобразовать файл HTML в документ PDF. Файл HTML может содержать интерактивные формы, которые необходимо преобразовать в PDF и сгладить. Вот пример того, как преобразовать HTML в PDF и использовать свойство FormFieldBehaviour для выравнивания PDF:
1// Prepare a path to an HTML source file
2var sourcePath = Path.Combine(DataDir, "SampleHtmlForm.html");
3
4// Initialize an HTML document from the file
5using HTMLDocument document = new HTMLDocument(sourcePath);
6
7// Prepare PDF save options
8var options = new PdfSaveOptions
9{
10 // Flatten all form fields
11 FormFieldBehaviour = FormFieldBehaviour.Flattened
12};
13
14// Prepare a path to the result file
15var resultPath = Path.Combine(OutputDir, "form-flattened.pdf");
16
17// Convert HTML to PDF
18Converter.ConvertHTML(document, options, resultPath);
Таким образом, вы можете легко преобразовать HTML-файл в сглаженный PDF-файл с помощью C#. Этот процесс прост и может быть выполнен с помощью нескольких строк кода. Давайте посмотрим на шаги, которые мы предприняли:
- Используйте один из конструкторов класса
HTMLDocument для загрузки HTML-файла. В примере конструктор
HTMLDocument(
sourcePath
) загружает HTML-документ из локальной файловой системы. - Создайте экземпляр класса PdfSaveOptions, который используется для указания параметров сохранения документа PDF. В этом случае для свойства FormFieldBehaviour PdfSaveOptions установлено значение FormFieldBehaviour.Flattened, что означает что все поля формы в документе HTML будут сведены при создании документа PDF.
- Вызовите метод
ConvertHTML() для преобразования HTML в PDF с использованием указанных параметров и полученный PDF-документ сохраняется в
resultPath
.
Преобразование MHTML в PDF и сведение PDF
В следующем примере C# показано, как преобразовать документ MHTML, расположенный по адресу sourcePath, в сглаженный документ PDF и сохранить его в outputPath:
1// Prepare a path to an MHTML source file
2var sourcePath = Path.Combine(DataDir, "SampleHtmlForm.mhtml");
3
4// Initialize PDF save options
5var options = new PdfSaveOptions
6{
7 // Flatten all form fields
8 FormFieldBehaviour = FormFieldBehaviour.Interactive
9};
10
11// Prepare a path to the result file
12var resultPath = Path.Combine(OutputDir, "document-flattened.pdf");
13
14// Convert MHTML to PDF
15Converter.ConvertMHTML(sourcePath, options, resultPath);
Чтобы преобразовать MHTML в PDF с указанием свойства FormFieldBehaviour, необходимо выполнить несколько шагов:
Инициализируйте экземпляр класса PdfSaveOptions и укажите параметры сохранения документа PDF. В этом примере для свойства FormFieldBehaviour PdfSaveOptions установлено значение FormFieldBehaviour.Flattened, что означает что все поля формы в документе MHTML будут сведены при создании документа PDF.
Используйте метод ConvertMHTML() для преобразования MHTML в PDF, который принимает исходный путь, параметры и outputPath в качестве параметров.
В чем разница между файлами PDF, сохраненными со свойством FormFieldBehaviour и без него?
- Если для свойства FormFieldBehaviour задано значение FormFieldBehaviour.Flattened, поля формы в документе PDF будут объединены в один слой документа. Это эффективно сглаживает поля формы, делая их неинтерактивными и невозможными для редактирования. В результате получается статический PDF-документ, который нельзя изменить.
- С другой стороны, если для свойства FormFieldBehaviour установлено значение FormFieldBehaviour.Interactive, поля формы в документе PDF останутся интерактивными. Это означает, что пользователи могут заполнять поля формы и вносить изменения.
- В 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. Просто выберите файл, выберите формат для преобразования , и готово! Это быстро и совершенно бесплатно!