Turn Confluence pages into branded PDFs
Confluence to PDF with your own branding and layout. Export pages automatically as clean PDFs with Zapier, Make, n8n or a short script.
Quick answer. Pick a trigger, like a page being published or a monthly schedule. Your automation fetches the page content, wraps it in a branded template, html-pdf.com turns it into a PDF, and the PDF is emailed or saved to shared storage.
What you'll build
A policy page that is saved as a dated PDF every time it changes. A monthly handbook PDF for new hires. A client ready version of an internal spec, with your logo, a cover page and page numbers.
Confluence has its own PDF export, which is fine for a quick copy. This approach helps when the built in export is slow or breaks on large pages, when you want your own cover and footer, or when the PDF should be made automatically.
What you need
- Confluence Cloud and an API token from your Atlassian account settings.
- Zapier, Make or n8n, or a place to run a small script.
- A design. The report template is a good wrapper for documentation. A template is a ready made page design, so you only change the text.
- An API key from html-pdf.com. You get 100 free pages once, with no card.
How it works
Confluence pages are private, so html-pdf.com cannot open the page link directly. Instead your automation asks Confluence for the page body as HTML and sends that HTML to html-pdf.com. The Confluence address looks like this.
GET https://<your-site>.atlassian.net/wiki/api/v2/pages/<pageId>?body-format=export_view
It needs your Atlassian email and API token as basic authentication. The page HTML comes back in body.export_view.value.
Step by step with n8n
- Trigger. Add a Schedule Trigger, or a Webhook node that a Confluence automation rule calls when a page is published.
- Get the page. Add an HTTP Request node with the address above and Basic Auth credentials.
- Wrap it. Add a Code node that puts the page HTML inside your template, with a title and date at the top.
- Make the PDF. Add another HTTP Request node posting to
https://html-pdf.com/v1/pdfwithAuthorization: Bearer hp_live_.... Set the response format to File. - Deliver. Add Google Drive, SharePoint or Gmail.
The n8n guide shows each node setting. In Make, the same flow uses HTTP → Make a request twice. See the Make guide.
Step by step with Zapier
- Trigger. Use Confluence Cloud with its new page event, or Schedule by Zapier.
- Get the page. Add Webhooks by Zapier → GET with the address above and your email and token in Basic Auth.
- Make the PDF. Add Webhooks by Zapier → Custom Request. Method
POST, URLhttps://html-pdf.com/v1/pdf, with this data.
{
"html": "<h1>Travel policy</h1><p>Updated 10 Oct 2026</p>...page HTML here...",
"format": "A4",
"footer_html": "<div style='font-size:9px;width:100%;text-align:center'>Page <span class='pageNumber'></span> of <span class='totalPages'></span></div>",
"filename": "travel-policy.pdf",
"response": "url"
}
- Deliver. Attach the
urlin Gmail → Send Email or upload it to Google Drive. The link works for 24 hours. More options are in the Zapier guide.
Code path for developers
const site = "https://your-site.atlassian.net";
const auth = Buffer.from(`${process.env.ATLASSIAN_EMAIL}:${process.env.ATLASSIAN_TOKEN}`).toString("base64");
const page = await (await fetch(`${site}/wiki/api/v2/pages/${process.argv[2]}?body-format=export_view`, {
headers: { Authorization: `Basic ${auth}` },
})).json();
const html = `<style>body{font-family:sans-serif} img{max-width:100%}</style>
<h1>${page.title}</h1>${page.body.export_view.value}`;
const r = await fetch("https://html-pdf.com/v1/pdf", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.HTML_PDF_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ html, format: "A4", response: "url" }),
});
console.log((await r.json()).url);
Ask your AI agent
Connect the html-pdf.com MCP server to an assistant that can also read Confluence.
Read the Travel policy page in our HR space and use html-pdf to make an A4 PDF with a cover page, our company name, today's date and page numbers in the footer.
FAQ
Will images from the page show in the PDF?
Images stored in Confluence need a login, so they may not load. Download them in your automation and include them as data links, or host them somewhere public.
Can I export a page with all its child pages?
Yes. Fetch the child pages too, join their HTML with a page break between each one, and send it as one PDF.
Can I export Confluence to PDF in landscape?
Yes. Add "landscape": true to the request. Wide tables often read better that way.
Is my content stored by html-pdf.com?
No. Your HTML is not stored, and download links expire after 24 hours.
