Buat AcroForm - Buat PDF yang dapat diisi dalam Python

Buat Form dari Awal

Tambahkan Form Field dalam Dokumen PDF

The Document kelas menyediakan koleksi bernama Form yang membantu Anda mengelola bidang formulir dalam dokumen PDF.

Untuk menambahkan bidang formulir:

  1. Buat bidang formulir yang ingin Anda tambahkan.
  2. Panggil koleksi Form tambahkan metode.

Menambahkan TextBoxField

Contoh berikut menunjukkan cara menambahkan BidangKotakTeks.

import aspose.pdf as ap
import aspose.pydrawing as drawing

def add_text_box_field(output_file_name):
    document = ap.Document()
    page = document.pages.add()

    rectangle = ap.Rectangle(10, 600, 110, 620, True)
    text_box_field = ap.forms.TextBoxField(page, rectangle)
    text_box_field.partial_name = "textbox1"
    text_box_field.value = "Text Box"

    text_box_field.default_appearance = ap.annotations.DefaultAppearance(
        "Arial", 10, drawing.Color.dark_blue
    )

    border = ap.annotations.Border(text_box_field)
    border.width = 1
    border.style = ap.annotations.BorderStyle.DASHED
    border.dash = ap.annotations.Dash(3, 3)
    text_box_field.border = border

    text_box_field.characteristics.border = ap.Color.red.to_rgb()
    text_box_field.characteristics.background = ap.Color.yellow.to_rgb()

    document.form.add(text_box_field, 1)
    document.save(output_file_name)

Bidang Kotak Teks Multi-Widget dalam PDF

Buat sebuah bidang formulir kotak teks dengan beberapa penampilan widget dalam PDF menggunakan Python dan Aspose.PDF. Ini menempatkan beberapa area input teks pada sebuah halaman, menerapkan font dan warna yang berbeda pada setiap widget, menyesuaikan batas, dan mengatur gaya latar belakang untuk formulir PDF interaktif.

  1. Buat Dokumen PDF Baru.
  2. Definisikan Posisi Kolom Teks.
  3. Buat Penampilan Default yang Berbeda.
  4. Buat bidang Kotak Teks.
  5. Terapkan Penampilan pada Setiap Widget.
  6. Sesuaikan Gaya Border.
  7. Tambahkan Field ke Form.
  8. Simpan File PDF.
import aspose.pdf as ap
import aspose.pydrawing as drawing

def add_text_box_field_nt(output_file_name):
    document = ap.Document()
    page = document.pages.add()

    rects = [
        ap.Rectangle(10, 600, 110, 620, normalize_coordinates=True),
        ap.Rectangle(10, 630, 110, 650, normalize_coordinates=True),
        ap.Rectangle(10, 660, 110, 680, normalize_coordinates=True),
    ]

    default_appearances = [
        ap.annotations.DefaultAppearance("Arial", 10, drawing.Color.dark_blue),
        ap.annotations.DefaultAppearance("Helvetica", 12, drawing.Color.dark_green),
        ap.annotations.DefaultAppearance(
            ap.text.FontRepository.find_font("Calibri"), 14, drawing.Color.dark_magenta
        ),
    ]

    text_box_field = ap.forms.TextBoxField(page, rects)
    text_box_field.partial_name = "textbox1"
    text_box_field.value = "Some text"

    for i, widget in enumerate(text_box_field):
        widget.default_appearance = default_appearances[i]

    border = ap.annotations.Border(text_box_field)
    border.width = 1
    border.style = ap.annotations.BorderStyle.DASHED
    border.dash = ap.annotations.Dash(3, 3)
    text_box_field.border = border

    text_box_field.characteristics.border = ap.Color.red.to_rgb()
    text_box_field.characteristics.background = ap.Color.yellow.to_rgb()

    document.form.add(text_box_field)
    document.save(output_file_name)

Menambahkan Bidang Form Lain

Cuplikan kode berikut menunjukkan cara menambahkan berbagai jenis bidang, seperti tombol radio, kotak kombo, kotak centang, kotak daftar, bidang tanda tangan, dan bidang kode batang. Setiap fungsi membuat dokumen PDF baru, menambahkan bidang target dengan opsi yang dipilih, dan menyimpan file yang telah diperbarui.

  1. Tambahkan Bidang Tombol Radio
  2. Tambahkan Field Combo Box
  3. Tambahkan Bidang Kotak Centang
  4. Tambahkan Bidang Kotak Daftar
  5. Tambahkan Bidang Tanda Tangan
  6. Tambahkan Field Barcode

Tambahkan Bidang Tombol Radio

import aspose.pdf as ap
import aspose.pydrawing as drawing

def add_radio_button(output_file_name):
    document = ap.Document()
    document.pages.add()

    radio = ap.forms.RadioButtonField(document.pages[1])
    radio.add_option(
        "Option 1", ap.Rectangle(100, 640, 120, 680, normalize_coordinates=True)
    )
    radio.add_option(
        "Option 2", ap.Rectangle(140, 640, 160, 680, normalize_coordinates=True)
    )

    document.form.add(radio)
    document.save(output_file_name)

Tambahkan Field Combo Box

import aspose.pdf as ap
import aspose.pydrawing as drawing

def add_combo_box(output_file_name):
    document = ap.Document()
    page = document.pages.add()

    combo = ap.forms.ComboBoxField(
        page, ap.Rectangle(100, 640, 150, 656, normalize_coordinates=True)
    )
    combo.add_option("Red")
    combo.add_option("Yellow")
    combo.add_option("Green")
    combo.add_option("Blue")
    combo.selected = 3

    document.form.add(combo)
    document.save(output_file_name)

Tambahkan Bidang Kotak Centang

import aspose.pdf as ap
import aspose.pydrawing as drawing

def add_checkbox_field_to_pdf(output_file_name):
    document = ap.Document()
    page = document.pages.add()

    checkbox = ap.forms.CheckboxField(
        page, ap.Rectangle(50, 620, 100, 650, normalize_coordinates=True)
    )
    checkbox.characteristics.background = ap.Color.aqua.to_rgb()
    checkbox.style = ap.forms.BoxStyle.CIRCLE

    document.form.add(checkbox)
    document.save(output_file_name)

Tambahkan Bidang Kotak Daftar

import aspose.pdf as ap
import aspose.pydrawing as drawing

def add_list_box_field_to_pdf(output_file_name):
    document = ap.Document()
    page = document.pages.add()

    list_box = ap.forms.ListBoxField(
        page, ap.Rectangle(50, 650, 100, 700, normalize_coordinates=True)
    )
    list_box.partial_name = "list"
    list_box.add_option("Red")
    list_box.add_option("Green")
    list_box.add_option("Blue")

    document.form.add(list_box)
    document.save(output_file_name)

Tambahkan Bidang Tanda Tangan

import aspose.pdf as ap
import aspose.pydrawing as drawing

def add_signature_field(output_file_name):
    document = ap.Document()
    page = document.pages.add()

    signature_field = ap.forms.SignatureField(
        page, ap.Rectangle(100, 700, 200, 800, True)
    )
    signature_field.partial_name = "Signature1"
    document.form.add(signature_field)
    document.save(output_file_name)

Tambahkan Field Barcode

import aspose.pdf as ap
import aspose.pydrawing as drawing

def add_barcode_field(output_file_name):
    document = ap.Document()
    page = document.pages.add()

    barcode = ap.forms.BarcodeField(page, ap.Rectangle(100, 700, 200, 740, True))
    barcode.partial_name = "Barcode1"
    barcode.add_barcode("1234567890")
    document.form.add(barcode)
    document.save(output_file_name)

Topik Terkait