NAME

PDF::Make::FormPtr - Low-level XS AcroForm pointer API

SYNOPSIS

use PDF::Make;
use PDF::Make::FormPtr;
use PDF::Make::FieldPtr;

my $doc = PDF::Make::Document->new;
$doc->add_page;

my $form = PDF::Make::FormPtr::create($doc);
$form->set_need_appearances(1);

my $field = PDF::Make::FieldPtr::text($doc, 'name', 72, 700, 240, 20);
my $page  = $doc->get_page(0);
$field->add_to_page($page);

$form->finalize;

DESCRIPTION

PDF::Make::FormPtr exposes low-level AcroForm operations backed by libpdfmake through XS.

This module is a namespace loader only; implementation lives in xs/form.xs and src/pdfmake_form.c.

METHODS

The following methods are provided by XS:

  • get($doc)

    Return the document form pointer if it exists, otherwise undef.

  • create($doc)

    Create a form dictionary in the document and return its pointer.

  • set_need_appearances($bool)

    Set AcroForm /NeedAppearances behavior.

  • field_count

    Return number of fields in the form.

  • field_at($idx)

    Return field pointer at index or undef.

  • field_by_name($name)

    Return field pointer by name or undef.

  • fields

    Return all field pointers as a list.

  • finalize

    Finalize form resources before document write.

  • flatten

    Flatten interactive fields into static page content.

  • export_fdf, export_xfdf

    Export form values in FDF/XFDF formats.

  • import_fdf($bytes), import_xfdf($bytes)

    Import form values from FDF/XFDF payloads.

SEE ALSO

PDF::Make::FieldPtr, PDF::Make::Form, PDF::Make, PDF::Make::Builder

AUTHOR

LNATION <email@lnation.org>

COPYRIGHT AND LICENSE

Copyright (C) 2024 by LNATION

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.