PDF Signature Pro
🔗 Editor:
https://bubble.io/page?id=testeplugins-85494&tab=Design&name=pdf_sign_pro_demo&type=page&elements=bTHUePDF Signature Pro allows users to sign PDF documents directly in the browser, without uploading files to external servers. The plugin loads a PDF, captures signatures (drawn, typed, or image-based), applies visual signature stamps, and generates a new signed PDF entirely on the client side.
Ideal for contracts, agreements, forms, and documents that require visual digital signatures.
---
How it works
1. The plugin loads a PDF from a public URL
2. Optionally detects signature fields using keywords found in the PDF text
3. The user provides a signature (draw, type, or image)
4. Visual stamps are applied to the PDF
5. A new signed PDF is generated and made available in base64
All processing happens in the user’s browser.
---
Basic setup
1. Add the “PDF Signature Pro” element to your page
2. Set the `pdf_url` property with a public PDF URL
3. Set `signer_name` with the signer’s name
4. (Optional) Set `signature_keyword` to automatically detect signature fields
5. Use the `signed_ok` event and read the `signed_pdf_dataurl` state to retrieve the signed PDF
---
Element properties
Required
pdf_url (text)
Public URL of the PDF document to load. The PDF is fetched and rendered in the browser.
---
Signer information
signer_name (text, default: "Signatory")
Name displayed on the signature stamp.
signer_email (text)
Email displayed on the stamp (optional).
signing_datetime (text)
Date/time shown on the stamp. If empty, the current browser date/time is used.
---
Signature detection (optional)
signature_keyword (text)
One or more keywords used to locate signature fields in the PDF text.
Multiple keywords must be separated by commas.
If empty, the plugin uses the simplified signing mode.
stamp_y_offset (number, default: 25)
Vertical offset between the detected keyword and the signature stamp.
---
Signature capture
signature_dataurl (text)
Pre-existing signature image in base64 (PNG).
When provided, the capture step is skipped.
initials_image (text)
Pre-existing initials image in base64.
visto_image (text)
Alternative initials image in base64.
require_initials (boolean, default: false)
Requires initials on every page of the document.
sig_default_mode (text)
Default capture mode: "draw" or "type".
sig_default_thickness (text)
Stroke thickness used in draw mode.
sig_pad_height (text)
Height of the signature canvas (for example: "200px").
sig_typed_font (text)
Google Font name used for typed signatures.
sig_typed_font_family (text)
CSS font-family used for typed signatures.
---
Stamp appearance
stamp_accent_color (text, default: "#5b4ce6")
Accent color used for the stamp and UI elements.
stamp_title_label (text)
Title displayed on the stamp.
signer_header_prefix (text)
Prefix displayed before the signer name.
hash_label (text)
Label shown before the SHA-256 hash.
show_signer_role (boolean, default: false)
Displays the signer’s role or title.
signer_role_label (text)
Signer role or title text.
card_width (number)
Custom stamp width in PDF points.
---
Viewer settings
viewer_max_height (text, default: "80vh")
Maximum height of the PDF viewer.
empty_viewer_message_html (text)
HTML content displayed when no PDF has been loaded.
---
UI labels (localization)
All interface text labels are optional.
If left empty, built-in English defaults are used.
Common customizable labels include:
button_label, sign_title_done_label, sign_error_prefix, status_loading_label, status_signing_label, slot_instruction_text, and others.
---
States
Main output
signed_pdf_dataurl (text)
Signed PDF as a base64 string. Use this state to save or upload the document.
signature_dataurl (text)
Captured signature image as base64 (PNG).
initials_dataurl (text)
Captured initials image as base64 (PNG).
pdf_hash (text)
SHA-256 hash of the original PDF.
---
Position data
sig_page (number)
Page index where the signature was placed (zero-based).
sig_x (number)
Relative X coordinate (0 to 1).
sig_y (number)
Relative Y coordinate (0 to 1).
---
Status indicators
is_loading (text: "yes" / "no")
is_ready (text: "yes" / "no")
is_signing (text: "yes" / "no")
last_error (text)
---
Events
signed_ok
Triggered when the PDF is successfully signed.
signed_error
Triggered when an error occurs during signing.
signing_started
Triggered when the PDF generation process begins.
signature_captured
Triggered after the user finishes capturing a signature.
initials_captured
Triggered after the user finishes capturing initials.
conclude_signature
Triggered when the user completes signature placement.
keywords_configured
Triggered when keywords are saved in admin mode.
---
Signing modes
Keyword-based signing
Set `signature_keyword` to automatically detect signature fields in the PDF.
Recommended for contracts and documents with predefined signature lines.
Keyword + initials
Set `signature_keyword` and `require_initials = true`.
Recommended for multi-page contracts requiring initials on each page.
Simplified signing
Leave `signature_keyword` empty.
The user signs directly on the canvas and a complete stamp is applied.
---
Tips
• The PDF URL must be publicly accessible
• Keyword detection requires a text layer (scanned PDFs are not supported)
• Use `admin_mode` to test and fine-tune keywords
• Adjust `stamp_y_offset` to correct stamp positioning
• Fully responsive and mobile-friendly