# Turn Contact Form 7 and WPForms entries into PDFs

WordPress form to PDF for Contact Form 7 and WPForms. Turn each entry into a branded PDF and email it automatically with Zapier, Make or n8n.

**Quick answer.** When someone submits your WordPress form, the entry is sent to Zapier, Make or n8n. The answers go into a template, html-pdf.com turns it into a PDF, and the PDF is emailed to the person or saved to your drive.

## What you'll build

A booking form that sends back a confirmation PDF. A quote request that becomes a priced proposal. An event sign up that becomes a ticket. Each one looks like your brand and arrives without anyone touching WordPress.

This works the same way for Contact Form 7 and WPForms. Only the first step, getting the entry out of WordPress, is different.

## What you need

- **WordPress** with **Contact Form 7** or **WPForms**.
- **Zapier**, **Make** or **n8n**.
- **A way to send entries out.** For WPForms, the Zapier or Webhooks addon (paid plans). For Contact Form 7, a free webhook plugin such as CF7 to Webhook.
- **A design.** Try the [proposal](https://html-pdf.com/templates/proposal), [event ticket](https://html-pdf.com/templates/event-ticket) or [receipt](https://html-pdf.com/templates/receipt) template. A template is a ready made page design, so you only change the text.
- **An API key** from [html-pdf.com](https://html-pdf.com/login). You get 100 free pages once, with no card.

## Step 1. Get the entry out of WordPress

**WPForms with Zapier.** Turn on the Zapier addon, then create a Zap with **WPForms** and the event **New Form Entry**.

**Contact Form 7 or WPForms with a webhook.** In Zapier, add **Webhooks by Zapier → Catch Hook** and copy the address. In Make, use **Webhooks → Custom webhook**. In n8n, add a **Webhook** node. Paste that address into your webhook plugin or the WPForms Webhooks addon, then submit the form once so the tool can see your fields.

## Step 2. Make the PDF

In Zapier, add **Webhooks by Zapier → Custom Request**. In Make, add **HTTP → Make a request**. In n8n, add an **HTTP Request** node.

1. Method `POST`, URL `https://html-pdf.com/v1/pdf`.
2. Headers `Authorization` with `Bearer hp_live_...` and `Content-Type` with `application/json`.
3. Paste the JSON below and map the form fields into it.

```json
{
  "html": "<h1>Booking confirmed</h1><p>Hi Sam Patel,</p><p>Your session is on 14 Oct 2026 at 10:00.</p><p>Reference BK-2041</p>",
  "format": "A4",
  "filename": "booking-BK-2041.pdf",
  "response": "url"
}
```

The reply includes a `url`, a download link that works for 24 hours.

## Step 3. Send or save it

Add **Gmail → Send Email** (or Outlook) and put the `url` in the attachments field. Or upload it with **Google Drive → Upload File** or Dropbox. The [Zapier guide](https://html-pdf.com/guides/zapier), [Make guide](https://html-pdf.com/guides/make) and [n8n guide](https://html-pdf.com/guides/n8n) cover every setting.

## Code path for developers

With Contact Form 7, you can skip the automation tool and use the `wpcf7_mail_sent` hook.

```php
add_action('wpcf7_mail_sent', function ($form) {
  $data = WPCF7_Submission::get_instance()->get_posted_data();
  $html = '<h1>Thanks, ' . esc_html($data['your-name']) . '</h1><p>We received your request.</p>';

  $res = wp_remote_post('https://html-pdf.com/v1/pdf', [
    'headers' => ['Authorization' => 'Bearer ' . HTML_PDF_KEY, 'Content-Type' => 'application/json'],
    'body'    => wp_json_encode(['html' => $html, 'response' => 'url']),
    'timeout' => 30,
  ]);
  $url = json_decode(wp_remote_retrieve_body($res), true)['url'] ?? '';
  wp_mail($data['your-email'], 'Your PDF', "Download it here: $url");
});
```

For WPForms, the matching hook is `wpforms_process_complete`.

## Ask your AI agent

Connect the [html-pdf.com MCP server](https://html-pdf.com/pdf-mcp-server) to your AI assistant and get the design right before you wire it up.

> Use html-pdf to make an A4 booking confirmation for Sam Patel. Session on 14 Oct 2026 at 10:00, reference BK-2041, address 12 Market Street. Add our logo area at the top and a short cancellation policy at the bottom.

Ask for the HTML once you like it and paste it into Step 2.

## FAQ

### Do I need a paid plugin?

Not for Contact Form 7, since free webhook plugins exist. For WPForms, the Zapier and Webhooks addons need a paid WPForms plan.

### Can the person download the PDF right after submitting?

The PDF takes a few seconds to make, so emailing it is the most reliable option. With the code path you can also show the link on a thank you page.

### Can I attach the PDF to the form's own email?

Not with the automation tools, because they run after the form email is sent. Send a second email with the PDF instead.

### How much does it cost?

You get 100 free pages once. After that, packs start at $10 for 1,000 pages, and purchased credits never expire.
