Criar AcroForm - Criar PDF preenchível em Python
Criar Form a partir do zero
Adicionar Campo de Formulário em um Documento PDF
O Document a classe fornece uma coleção chamada Form que ajuda a gerenciar campos de formulário em um documento PDF.
Para adicionar um campo de formulário:
- Crie o campo de formulário que você deseja adicionar.
- Chame a coleção Form add método.
Adicionando TextBoxField
O exemplo a seguir mostra como adicionar um TextBoxField.
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)
Campo de Caixa de Texto Multi-Widget em PDF
Crie um campo de formulário de caixa de texto com várias aparências de widget em um PDF usando Python e Aspose.PDF. Ele coloca várias áreas de entrada de texto em uma página, aplica diferentes fontes e cores a cada widget, personaliza bordas e define o estilo de fundo para um formulário PDF interativo.
- Criar Novo Documento PDF.
- Definir posições dos campos de texto.
- Criar Aparências Padrão Diferentes.
- Criar Campo de Caixa de Texto.
- Aplicar Aparência a Cada Widget.
- Personalizar o estilo da borda.
- Adicionar campo ao Form.
- Salvar arquivo 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)
Adicionando Outros Campos de Formulário
Os trechos de código a seguir demonstram como adicionar vários tipos de campos, como botões de opção, caixas de combinação, caixas de seleção, caixas de lista, campos de assinatura e campos de código de barras. Cada função cria um novo documento PDF, adiciona um campo de destino com as opções selecionadas e salva o arquivo atualizado.
- Adicionar campo de Botão de Opção
- Adicionar Campo de Caixa de Combinação
- Adicionar campo de caixa de seleção
- Adicionar Campo de Lista
- Adicionar Campo de Assinatura
- Adicionar Campo de Código de Barras
Adicionar campo de Botão de Opção
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)
Adicionar Campo de Caixa de Combinação
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)
Adicionar campo de caixa de seleção
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)
Adicionar Campo de Lista
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)
Adicionar Campo de Assinatura
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)
Adicionar Campo de Código de Barras
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)