アクロフォームの修正
Contents
[
Hide
]
フォーム内のテキストをクリア
この例は、.NET 経由で Aspose.PDF for Python を使用して PDF のタイプライターフォームフィールドからテキストを消去する方法を示しています。PDF の最初のページをスキャンし、タイプライターフォームを識別し、その内容を削除して、更新された文書を保存します。この方法は、PDF を再配布する前にフォームフィールドをリセットまたはサニタイズする場合に便利です。
- 入力 PDF ドキュメントをロードします。
- 最初のページのフォームにアクセスします。
- 各フォームを繰り返し処理し、それが次のものであるかどうかを確認します。
Typewriterフォーム。 - TextFragmentAbSorber を使用すると、フォーム内のテキストフラグメントを検索できます。
- 各フラグメントのテキストを消去します。
- 変更した PDF を出力ファイルに保存します。
import aspose.pdf as ap
def clear_text_in_form(input_file_name, output_file_name):
document = ap.Document(input_file_name)
forms = document.pages[1].resources.forms
for form in forms:
if form.it == "Typewriter" and form.subtype == "Form":
absorber = ap.text.TextFragmentAbsorber()
absorber.visit(form)
for fragment in absorber.text_fragments:
fragment.text = ""
document.save(output_file_name)
フィールド制限を設定
使用 set_field_limit(field, limit) から FormEditor テキストフィールドに入力できる最大文字数を定義します。
- を作成
FormEditor対象。 - 入力 PDF をバインドします。
- ターゲットフィールドのフィールド制限を設定します。
- 更新した PDF を保存します。
import aspose.pdf as ap
def set_field_limit(input_file_name, output_file_name):
form = ap.facades.FormEditor()
form.bind_pdf(input_file_name)
form.set_field_limit("First Name", 15)
form.save(output_file_name)
フィールド制限を取得
テキストフィールドから文字制限を読み取ることもできます。
- PDF ドキュメントをロードします。
- ターゲットフォームフィールドにアクセスします。
- フィールドが a であることを確認してください
TextBoxField. - 読み取りと印刷
max_len.
import aspose.pdf as ap
from aspose.pycore import cast, is_assignable
def get_field_limit(input_file_name):
document = ap.Document(input_file_name)
if is_assignable(document.form[1], ap.forms.TextBoxField):
text_box_field = cast(ap.forms.TextBoxField, document.form[1])
print(f"Limit: {text_box_field.max_len}")
フォームフィールドのカスタムフォントの設定
この例では、フォント、サイズ、色など、テキストボックスフィールドのカスタムデフォルト外観を設定します。
- PDF ドキュメントをロードします。
- ターゲットフィールドにアクセスして、そのタイプを確認します。
- でフォントを検索する
FontRepository. - 新しいものを適用
DefaultAppearance. - 更新した PDF を保存します。
import aspose.pdf as ap
from aspose.pycore import cast, is_assignable
def set_form_field_font(input_file_name, output_file_name):
document = ap.Document(input_file_name)
if is_assignable(document.form[1], ap.forms.TextBoxField):
text_box_field = cast(ap.forms.TextBoxField, document.form[1])
font = ap.text.FontRepository.find_font("Calibri")
text_box_field.default_appearance = ap.annotations.DefaultAppearance(
font, 10, ap.Color.black.to_rgb()
)
document.save(output_file_name)
既存のフォームのフィールドを削除する
このコードは、PDF ドキュメントから特定のフォームフィールドを (その名前で) 削除し、.NET 経由の Aspose.PDF for Python を使用して更新したファイルを保存します。
- PDF ドキュメントをロードします。
- フォームフィールドを名前で削除します。
- 更新した PDF を保存します。
import aspose.pdf as ap
def delete_form_field(input_file_name, output_file_name):
document = ap.Document(input_file_name)
document.form.delete("First Name")
document.save(output_file_name)