PDFFormParam
_invoke()
Provides additional information to the PDFForm component.
This functionality is only available to Boxlang+/++ subscribers only but can be installed in conjunction with the bx-plus Module with a limited trial.
Component Signature
<bx:PDFFormParam name=[string]
value=[string]
index=[integer] />Attributes
name
string
true
String - The field name on the PDF form. Required.
value
string
true
String - The value to associate with the field name. For interactive fields, specify a ColdFusion variable. Required.
index
integer
false
Integer - Index associated with the field name. If multiple fields have the same name, use the index value to locate one of them. Applies to forms created in LiveCycle only. Forms created in Acrobat cannot contain more than one field with the same name. Default: 1
1
Examples
Basic Field Population
<bx:pdfform action="populate"
source="employee-form.pdf"
destination="john-doe-form.pdf">
<bx:pdfformparam name="firstName" value="John" />
<bx:pdfformparam name="lastName" value="Doe" />
<bx:pdfformparam name="employeeId" value="12345" />
<bx:pdfformparam name="department" value="Engineering" />
<bx:pdfformparam name="startDate" value="2024-01-15" />
</bx:pdfform>Dynamic Value Population
<bx:set employee = {
"id": "67890",
"name": "Jane Smith",
"email": "[email protected]",
"phone": "555-0123",
"hireDate": "2024-02-01"
} />
<bx:pdfform action="populate"
source="contact-form.pdf"
destination="jane-contact-form.pdf">
<bx:pdfformparam name="employeeId" value="#employee.id#" />
<bx:pdfformparam name="fullName" value="#employee.name#" />
<bx:pdfformparam name="email" value="#employee.email#" />
<bx:pdfformparam name="phoneNumber" value="#employee.phone#" />
<bx:pdfformparam name="dateHired" value="#dateFormat(employee.hireDate, 'mm/dd/yyyy')#" />
</bx:pdfform>Checkbox and Boolean Fields
<bx:pdfform action="populate"
source="preferences-form.pdf"
destination="user-preferences.pdf">
<bx:pdfformparam name="newsletter" value="true" />
<bx:pdfformparam name="notifications" value="false" />
<bx:pdfformparam name="marketing" value="true" />
<bx:pdfformparam name="surveys" value="false" />
</bx:pdfform>Multiple Fields with Same Name (LiveCycle Forms)
<!-- For LiveCycle forms with repeating sections -->
<bx:pdfform action="populate"
source="invoice-template.pdf"
destination="customer-invoice.pdf">
<!-- First line item -->
<bx:pdfformparam name="itemDescription" value="Web Development Services" index="1" />
<bx:pdfformparam name="itemQuantity" value="40" index="1" />
<bx:pdfformparam name="itemRate" value="150.00" index="1" />
<!-- Second line item -->
<bx:pdfformparam name="itemDescription" value="Database Design" index="2" />
<bx:pdfformparam name="itemQuantity" value="20" index="2" />
<bx:pdfformparam name="itemRate" value="175.00" index="2" />
<!-- Third line item -->
<bx:pdfformparam name="itemDescription" value="Testing & QA" index="3" />
<bx:pdfformparam name="itemQuantity" value="15" index="3" />
<bx:pdfformparam name="itemRate" value="125.00" index="3" />
</bx:pdfform>Complex Form with Calculations
<bx:set orderData = {
"items": [
{"name": "Laptop", "price": 1299.99, "qty": 2},
{"name": "Mouse", "price": 29.99, "qty": 3},
{"name": "Keyboard", "price": 89.99, "qty": 1}
],
"taxRate": 0.08,
"shipping": 15.00
} />
<bx:set subtotal = 0 />
<bx:loop array="#orderData.items#" index="i" item="product">
<bx:set subtotal += product.price * product.qty />
</bx:loop>
<bx:set tax = subtotal * orderData.taxRate />
<bx:set total = subtotal + tax + orderData.shipping />
<bx:pdfform action="populate"
source="order-form.pdf"
destination="customer-order.pdf">
<!-- Customer info -->
<bx:pdfformparam name="orderDate" value="#dateFormat(now(), 'mm/dd/yyyy')#" />
<bx:pdfformparam name="orderNumber" value="ORD-#randRange(10000, 99999)#" />
<!-- Line items -->
<bx:loop array="#orderData.items#" index="i" item="product">
<bx:pdfformparam name="itemName" value="#product.name#" index="#i#" />
<bx:pdfformparam name="itemPrice" value="#dollarFormat(product.price)#" index="#i#" />
<bx:pdfformparam name="itemQty" value="#product.qty#" index="#i#" />
<bx:pdfformparam name="lineTotal" value="#dollarFormat(product.price * product.qty)#" index="#i#" />
</bx:loop>
<!-- Totals -->
<bx:pdfformparam name="subtotal" value="#dollarFormat(subtotal)#" />
<bx:pdfformparam name="tax" value="#dollarFormat(tax)#" />
<bx:pdfformparam name="shipping" value="#dollarFormat(orderData.shipping)#" />
<bx:pdfformparam name="grandTotal" value="#dollarFormat(total)#" />
</bx:pdfform>Date and Time Formatting
<bx:pdfform action="populate"
source="appointment-form.pdf"
destination="scheduled-appointment.pdf">
<bx:pdfformparam name="appointmentDate" value="#dateFormat(now(), 'mm/dd/yyyy')#" />
<bx:pdfformparam name="appointmentTime" value="#timeFormat(now(), 'h:mm tt')#" />
<bx:pdfformparam name="createdDateTime" value="#dateTimeFormat(now(), 'mm/dd/yyyy h:mm tt')#" />
<bx:pdfformparam name="expiryDate" value="#dateFormat(dateAdd('d', 30, now()), 'mm/dd/yyyy')#" />
</bx:pdfform>Conditional Field Population
<bx:set userRole = "admin" />
<bx:pdfform action="populate"
source="access-request.pdf"
destination="user-access-request.pdf">
<bx:pdfformparam name="userName" value="John Administrator" />
<bx:pdfformparam name="requestDate" value="#dateFormat(now(), 'mm/dd/yyyy')#" />
<!-- Conditional access levels based on role -->
<bx:if userRole eq "admin">
<bx:pdfformparam name="systemAccess" value="true" />
<bx:pdfformparam name="dataAccess" value="true" />
<bx:pdfformparam name="userManagement" value="true" />
<bx:pdfformparam name="accessLevel" value="Full Administrative" />
<bx:elseif userRole eq "manager">
<bx:pdfformparam name="systemAccess" value="true" />
<bx:pdfformparam name="dataAccess" value="true" />
<bx:pdfformparam name="userManagement" value="false" />
<bx:pdfformparam name="accessLevel" value="Management" />
<bx:else>
<bx:pdfformparam name="systemAccess" value="false" />
<bx:pdfformparam name="dataAccess" value="false" />
<bx:pdfformparam name="userManagement" value="false" />
<bx:pdfformparam name="accessLevel" value="Standard User" />
</bx:if>
</bx:pdfform>Field Naming Best Practices
Use consistent, descriptive field names
Avoid special characters in field names
For repeating sections, use index values consistently
Test field names by reading the form structure first
Related Components
Last updated
Was this helpful?
