Флатенирането на PDF формуляри е от съществено значение за сценарии, където искате да се уверите, че вашите интерактивни полета (AcroForms) са блокирани, защитени и вече не могат да бъдат променени.
Въведение
Преместването на PDF формуляр означава конвертиране на всички интерактивни елементи, като например текстови кутии, чекбокове, отпадъци или полета за подписване, в редовно, нередактирано съдържание. Това гарантира, че никой потребител не може да променя стойностите на полето на формуляра, всички попълнени данни са постоянно “изгаряни” на страницата и документът е готов за регулаторна, правна или архивна употреба.
Кога трябва да обличате плътно?
- Правни или договорни представяния (когато не са разрешени допълнителни издания)
- Архивиране на формуляри с завършени данни за дългосрочно съхранение
- Работни потоци за съответствие, където документите трябва да бъдат завършени
- Разпределяне на формуляри като статични документи към външни страни
Как да изтеглите PDF формуляри с помощта на Aspose.PDF Plugin
Плугинът Aspose.PDF.FormFlattener прави плътен интерактивни PDFs бързи и надеждни, а не Adobe Acrobat е необходим#:
Тип: За напреднали сценарии можете да използвате FormFlattenSelectedFieldsOptions да флейтират само конкретни полета, като същевременно поддържат другите интерактивни.
Валидиране на изхода
- Отворете изхода на PDF във всеки зрител, няма полета, която да може да бъде редактирана.
- Уверете се, че всички потребителски данни се появяват като редовен текст/графика на страницата.
- Използвайте плагина за редактор на формуляри, ако трябва да проверявате или манипулирате полетата за формуляр, преди да флатенирате.
Използване на случаи и най-добри практики
- Flatten формулира веднага след събирането на всички потребителски данни, за да се предотвратят случайни редакти.
- Комбинирайте с плагина Optimizer, за да намалите размера на файла след флатенеране.
- Автоматизиране на флатентирането като част от подписването на PDF или завършване на работния поток.
Управление на полетата преди флатенериране
Преди да превърнете формуляра в статичен документ, често е необходимо да извършите проверка и евентуално корекция на данните. Aspose.PDF предоставя достъп до всички полета чрез Document и Form класовете. Можете да:
- Прегледате името, типа и текущата стойност на всяко поле.
- Зададете полетата като само за четене, за да се предотврати последващо редактиране, преди флатенерирането.
- Премахнете нежелани полета, ако те не са нужни в окончателната версия.
Този подход гарантира, че всички данни са проверени и заключени, преди да се премине към статично съдържание.
Преглед и корекция на данни
Ако се нуждаете от масово актуализиране (например заменяне на определен текст във всички полета), можете да използвате TextFragmentAbsorber от Aspose.Pdf.Text за извличане на съдържанието и след това да зададете нови стойности чрез FormField.Value. Този процес е полезен, когато формулярите се попълват от различни източници и е необходимо да се унифицират данните преди архивиране.
Честозадавани въпроси
1. Мога ли да запазя някои интерактивни полета след флатенериране?
Да. Вместо FormFlattenAllFieldsOptions използвайте FormFlattenSelectedFieldsOptions и посочете списък от имена на полета, които трябва да останат интерактивни.
2. Как да гарантирам, че флатенерираните документи са съвместими с Adobe Reader?
Aspose.PDF генерира стандартен PDF/A‑1b, ако зададете pdfDocument.Convert(new PdfFormatConversionOptions(PdfFormat.PdfA1b)). Това осигурява дългосрочна съвместимост.
3. Дали флатенерирането влияе на подписаните документи? Флатенерирането премахва интерактивните полета, но цифровият подпис остава валиден, стига подписът да е приложен след попълване на полетата и преди флатенерирането.
4. Как да намаля размера на файла след флатенериране?
Използвайте Optimizer плъгина:
Това компресира изображенията и премахва ненужни обекти, като запазва визуалната интегритет на документа.
5. Мога ли да автоматизирам процеса в CI/CD pipeline? Да, всички примери са съвместими с .NET Core и могат да се изпълняват в Linux контейнер, което позволява интеграция в Jenkins, Azure DevOps или GitHub Actions.