تعديل AcroForm
Contents
[
Hide
]
غالبًا ما تتضمن صيانة النموذج (Form) كلًا من تحرير الحقول على مستوى الحقل وتنظيف موارد الصفحة المتعلقة بالنموذج.
مسح النص في موارد النموذج المدمجة
استخدم هذا المثال عندما يجب إفراغ محتوى نموذج آلة الكتابة دون إزالة كائنات النموذج نفسها.
- افتح ملف PDF المصدر Document.
- مرّ على موارد نموذج الصفحة وحدّد نماذج الآلة الكاتبة.
- امسح مقاطع النص المستخرجة واحفظ المستند.
public static void clearTextInForm(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
for (XForm form : document.getPages().get_Item(1).getResources().getForms()) {
if ("Typewriter".equals(form.getIT()) && "Form".equals(form.getSubtype())) {
TextFragmentAbsorber absorber = new TextFragmentAbsorber();
absorber.visit(form);
for (TextFragment fragment : absorber.getTextFragments()) {
fragment.setText("");
}
}
}
document.save(outputFile.toString());
}
}
تعيين حد طول حقل النص
استخدم هذا المثال عندما يجب أن يقبل حقل النص عددًا محدودًا فقط من الأحرف.
- أنشئ واجهة FormEditor وربط ملف PDF المصدر.
- عيّن الحد الأقصى للطول لحقل الهدف.
- احفظ المستند المحدث.
public static void setFieldLimit(Path inputFile, Path outputFile) {
FormEditor form = new FormEditor();
form.bindPdf(inputFile.toString());
try {
form.setFieldLimit("First Name", 15);
form.save(outputFile.toString());
} finally {
form.close();
}
}
احصل على حد طول حقل النص
استخدم هذا المثال عندما تحتاج إلى فحص الحد الأقصى الحالي لطول حقل النص.
- افتح ملف PDF المصدر Document.
- انتقل إلى الحقل المستهدف من مجموعة النماذج.
- اقرأ الحد من TextBoxField وإخراجها.
public static void getFieldLimit(Path inputFile) {
try (Document document = new Document(inputFile.toString())) {
Field field = document.getForm().getFields()[0];
if (field instanceof TextBoxField textBoxField) {
System.out.println("Limit: " + textBoxField.getMaxLen());
}
}
}
تغيير خط حقل النموذج
استخدام هذا المثال عندما يجب على حقل نص موجود أن يستخدم خطًا أو مظهرًا مختلفًا.
- افتح ملف PDF المصدر Document.
- انتقل إلى الهدف TextBoxField وعيّن مظهر افتراضي جديد.
- احفظ ملف PDF المحدث.
public static void setFormFieldFont(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
Field field = document.getForm().getFields()[0];
if (field instanceof TextBoxField textBoxField) {
textBoxField.setDefaultAppearance(new DefaultAppearance(
FontRepository.findFont("Calibri"), 10, com.aspose.pdf.Color.getBlack().toRgb()));
}
document.save(outputFile.toString());
}
}
حذف حقل النموذج حسب الاسم
استخدم هذا المثال عندما يجب إزالة حقل محدد من AcroForm.
- افتح ملف PDF المصدر Document.
- احذف الحقل المستهدف من النموذج باستخدام اسمه.
- احفظ المستند المحدث.
public static void deleteFormField(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
document.getForm().delete("First Name");
document.save(outputFile.toString());
}
}