Skip to content

Use E2Pdf to design and fill a PDF, then let WPsigner collect the signature, audit trail, and certificate.

E2Pdf is not bundled. It is a separate plugin (e2pdf.com). WPsigner never ships E2Pdf inside the product ZIP.

Admin path: WPsigner → Integrations → Formidable Forms (there is no E2Pdf card in the hub)


E2Pdf already knows how to turn a Formidable entry into a filled PDF. WPsigner takes that file and runs the signing workflow.

Formidable Form submitted
→ E2Pdf fills its template (dataset = entry ID)
→ WPsigner copies the PDF into secure storage
→ Empty signature field added (last page by default)
→ Open the signing page or email the signing request
PieceWho owns it
PDF layout and field mappingE2Pdf
Form captureFormidable Forms
Signer, delivery, audit, certificateWPsigner

This is a bridge, not a second document engine. Choose one source per feed:

ModeWhen to use
E2Pdf + feedThe PDF already lives in E2Pdf
WPsigner PDF templateYou map fields in WPsigner
Content signingThe form itself is the contract

A feed can use a WPsigner template or an E2Pdf template, not both.


ExpectationReality in 3.2.12
E2Pdf inside the WPsigner ZIPNot included. Install E2Pdf yourself
A WPsigner → Integrations → E2Pdf screenNot in this release. Use the Formidable feed
Gravity / Woo / CF7 / WPForms E2Pdf templatesNot wired. Only Formidable extension templates
WPsigner remapping E2Pdf fieldsField mapping stays in E2Pdf
Applying a signature already drawn on the formE2Pdf feeds add an empty signature box for the signing page
Deleting the PDF E2Pdf saved in uploadsWPsigner copies it. Upload files stay. Temp files are removed after the copy

Full Formidable workflows (OTP, content signing, merge tags): Formidable Forms.


PluginRole
WPsigner Pro 3.2.12+Creates the signing document
Formidable Forms Lite or ProCaptures the entry (dataset)
E2PdfFills the PDF ([e2pdf-save] / [e2pdf-attachment])

The Formidable Form must include:

FieldRequiredWhy
Name (person name, not Username)YesPrimary signer name
EmailYesSigning identity
Other fieldsOptionalMapped in E2Pdf, not in WPsigner

Do not add the WPsigner Signing field if you want the E2Pdf path. That field switches the form to content signing and skips template / E2Pdf feeds.


  1. Install and activate E2Pdf.
  2. Open the E2Pdf template builder.
  3. Set extension to Formidable and item to your form.
  4. Place and map fields there (name, dates, text, tables, and so on).
  5. Save the template. Activate it in E2Pdf if you want generation without E2Pdf’s inactive-template limits. Note its numeric ID if you will use a developer hook.

WPsigner lists templates from the e2pdf_templates table (Formidable extension only, not in the trash). Templates that are not yet license-activated in E2Pdf still appear, marked (not activated in E2Pdf).

  1. Go to WPsigner → Integrations → Formidable Forms.
  2. Click New Feed.
  3. Set:
SettingWhat to choose
Feed nameInternal label (e.g. Lease — E2Pdf)
Formidable FormThe same form as the E2Pdf item
WPsigner templateLeave empty
E2Pdf templateThe Formidable template from step 1
Document titleOptional. Supports {{signer_name}}, {{signer_email}}, {{date}}, {{company_name}}
Name field / Email fieldFormidable fields for the primary signer
CC email field / Additional CC emailsOptional. Same CC rules as other feeds
After submitOpen signing page immediately, or send the signing email
Feed enabledOn
  1. Click Save Feed.

The E2Pdf template dropdown appears when E2Pdf is detected (plugin, shortcodes, or e2pdf_templates table). Templates whose Formidable item matches the selected form stay visible; if none match, every Formidable template stays visible so a newly created template does not disappear.

WPsigner field mapping is hidden on E2Pdf feeds. E2Pdf already filled those values.

Open for signing

  1. Submit the form on the front end.
  2. You should redirect to /insigner/{token}.
  3. The PDF should show E2Pdf data. Signature / initials stay empty.
  4. Sign and confirm WPsigner → Documents shows the file as completed.

Email

  1. Submit the form.
  2. The signer receives the signing-request email (no redirect).
  3. Open the link and sign.

Rate limit: 10 documents per minute per form (shared with other Formidable feeds).


OptionWhat happens
Open signing page immediatelyDocument status sent. Formidable confirmation redirects to the signing URL. No signing email.
Send signing request by emailDocument status sent. Each signer gets the email. Formidable shows its normal confirmation.

Same Formidable hooks as other template feeds: frm_after_create_entry, frm_success_filter, frm_redirect_url.


On submit WPsigner runs, in order:

  1. Filter wps_formidableforms_e2pdf_pdf_path — if you return a local PDF path, generation is skipped.
  2. [e2pdf-save id="ID" dataset="ENTRY_ID" output="path" apply="true" savename="wps-frm-…" overwrite="true" format="pdf"]
  3. Look up the file under uploads/e2pdf/tpl/{template_id}/save/
  4. Same shortcode with output="url", then the same folder lookup
  5. Fallback [e2pdf-attachment id="ID" dataset="ENTRY_ID" apply="true"]

apply="true" is required when those shortcodes run from PHP (do_shortcode). Relative /wp-content/… paths and uploads URLs are accepted. Temporary copies are allow-listed so a path like C:/foo cannot match C:/foo_evil.

The returned value must be a readable local PDF:

  • Path under uploads, wp-content, or the system temp directory
  • Or an uploads URL that maps to that path
  • File header must start with %PDF-

WPsigner then:

  1. Encrypts a copy into secure storage (OpenSSL AES-256-GCM)
  2. Creates the document + signer(s)
  3. Adds an empty signature field
  4. Applies CC emails
  5. Delivers (redirect or email)

It does not delete E2Pdf files stored in uploads. Files under the system temp directory are deleted after the copy.


By default WPsigner adds one required signature field on the last page:

PropertyDefault
PageLast page of the E2Pdf file
Positionx = 50, y = 680 (plus 80px per extra signer)
Size220 × 70

Change this with wps_formidableforms_e2pdf_signature_fields (see hooks). Additional signers on the feed each get their own box.


E2Pdf installed?What WPsigner loads
NoA PHP is_active() check. No front-end JS. Dropdown hidden
Yes, no E2Pdf feedAdmin can list templates. Front-end form is unchanged
Yes, feed enabledOne shortcode run after the Formidable entry is created

WPsigner → Tools → System Status lists E2Pdf next to the form plugins so support can see whether the companion plugin is active.


All hooks fire only on the Formidable → E2Pdf path (WPsigner 3.2.12+).

Action. After the entry is loaded, before any feed runs.

add_action('wps_formidableforms_before_process', function ($entry_id, $form_id, $entry, $form) {
// Inspect the submission
}, 10, 4);

Filter. Override or supply the E2Pdf template ID. Also used when no feed is saved (auto feed from Name + Email).

A stored WPsigner template_id is not overridden by this filter.

add_filter('wps_formidableforms_e2pdf_template_id', function ($template_id, $feed, $entry, $form) {
if ($template_id > 0) {
return $template_id;
}
if (!empty($feed['template_id'])) {
return 0;
}
return 12;
}, 10, 4);

Filter. Change the admin dropdown list ($templates, $form_id).

Filter. Replace the [e2pdf-save … apply="true"] string ($shortcode, $template_id, $entry_id, $feed, $form).

wps_formidableforms_e2pdf_attachment_shortcode

Section titled “wps_formidableforms_e2pdf_attachment_shortcode”

Filter. Replace the fallback [e2pdf-attachment …] string.

Filter. Return an absolute local PDF path to skip shortcodes ($path, $template_id, $entry_id, $feed, $form). Empty string = generate.

wps_formidableforms_e2pdf_signature_fields

Section titled “wps_formidableforms_e2pdf_signature_fields”

Filter. Change empty signature fields ($fields, $document_id, $signer_id, $feed, $form, $index).

add_filter('wps_formidableforms_e2pdf_signature_fields', function ($fields, $document_id, $signer_id, $feed, $form, $index) {
$fields[0]['page_number'] = 1;
$fields[0]['position_x'] = 80;
$fields[0]['position_y'] = 640;
$fields[0]['width'] = 220;
$fields[0]['height'] = 70;
return $fields;
}, 10, 6);

Action. After a valid PDF path exists, before the WPsigner document is created ($pdf_path, $template_id, $entry_id, $entry, $form, $feed).

wps_formidableforms_e2pdf_document_created

Section titled “wps_formidableforms_e2pdf_document_created”

Action. After the document exists ($document_id, $entry_id, $entry, $form, $feed, $template_id, $stored_path).

HookWhen
wps_formidableforms_document_createdSame document-created event as PDF-template feeds
wps_document_completedSigner finished
wps_pdf_completedSigned PDF is ready
add_action('wps_formidableforms_document_created', function ($document_id, $entry_id, $entry, $form, $feed) {
// Runs for WPsigner templates and E2Pdf feeds
}, 10, 5);

IssueCauseSolution
E2Pdf template dropdown missingE2Pdf inactiveInstall/activate E2Pdf. WPsigner does not bundle it
Template created in E2Pdf but missing from the feedExtension is not Formidable, template is in trash, or the form item does not matchSet extension to Formidable and item to this form. WPsigner lists inactive (not license-activated) templates
Cannot save the feedNo WPsigner template and no E2Pdf template, and the form is not content signingSelect an E2Pdf template or a WPsigner template
No document createdFeed disabled, missing name/email, or E2Pdf returned HTMLEnable the feed; map Name + Email; use a Formidable E2Pdf template; check debug.log
Wrong or empty PDFTemplate extension is not Formidable, or item is another formMatch extension + item to the submitted form
Signature box in the wrong placeDefault last-page coordinatesFilter wps_formidableforms_e2pdf_signature_fields
Two documents from one submitContent-signing field on the form, or a second feedRemove WPsigner Signing for E2Pdf mode; keep one enabled feed
Redirect did not happenDelivery set to email, or generation failedUse Open signing page immediately; confirm the PDF path is valid
Rapid tests stop creating docsRate limitMax 10 / minute / form
CC missingSame as other Formidable feedsSet CC email field; do not paste [x] shortcodes in Additional CC emails
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

Look for [inSigner FormidableE2Pdf] (and [inSigner FormidableForms]) in wp-content/debug.log.


ComponentSupported
E2PdfCurrent versions that register e2pdf-save / E2Pdf / E2PDF_VERSION
Formidable Forms Lite / ProCurrent versions (frm_after_create_entry)
Other E2Pdf extensions (Gravity, WooCommerce, CF7, …)Not in this release
WPsigner3.2.12+ (Pro)
WordPress5.8+
PHP7.4+