Can i add a "Download as PDF" button to my page?
Asked by naime_surenkok:

Dear all,

I wonder if there is a way to add a "Download PDF" button to the page. and this button should be able to download the page content and the children pages' content if there is any.

Thanks in advance,

naime


Answers:
author: Aimane SBAI
body: [@Rick van Twillert _TMC_](/t5/user/viewprofilepage/user-id/626443)

Is there any way to adapt your macro to "Export to csv" option ?

Thanks a lot for your help !

comments: author: Rick van Twillert _TMC_
body: Hi [@Aimane SBAI](/t5/user/viewprofilepage/user-id/4196131) , What do you expect as a result when you export a confluence page to csv?


author: Aimane SBAI
body: [@Rick van Twillert _TMC_](/t5/user/viewprofilepage/user-id/626443) Thanks for your prompt reply.

I mean export a table in a Confluence page to csv.

Actually this button already exists in the Table filter options (see image below), but I would like to create a new button more visible in the page.

![Capture.PNG](https://community.atlassian.com/t5/image/serverpage/image-id/163884iFBD7A106C903C4B5/image-dimensions/209x277?v=v2 "Capture.PNG")

Do you have any idea how to achieve this ?

Thanks a lot !


author: Aimane SBAI
body: [@rick](/t5/user/viewprofilepage/user-id/4020296)

Please, do you have any idea how to achieve this ?

Thank you so much !


author: Marin Guentchev, MD, PhD
body: I use <https://html2pdf.site/>

You can add and customize their button in your HTML. Pretty simple. You need to use the [@media](/t5/user/viewprofilepage/user-id/2657427) prin and @page CSS rules to make the pdf look good.


author: Thomas Rough _K15t_
body: Hi Naime,

Had you considered using an app to achieve what you are wanting? If not but you are interested, Scroll PDF Exporter would be able to implement what you require.

With our app, you are able to style how you export your Confluence content through customizable templates. In addition, you can also define the specific export scope like you need. This means that you can choose to simply export a whole space, a single page or a page and its children. Furthermore, you can also use Confluence page labels during the export process to further define which pages should be included and/or excluded from the export.

These preferences can then be added to the [Scroll Export Button macro](https://help.k15t.com/scroll-pdf-exporter/latest/how-can-i-insert-an-export-button-125703458.html), which is included when you install the app, on your Confluence page. This makes it easy to export your content using your specific customized template and export scope.

If you are interested in these features or want to learn more about this app, you can do so on the [Atlassian Marketplace](https://marketplace.atlassian.com/plugins/com.k15t.scroll.scroll-pdf/cloud/overview) -- you can also start a trial for free.

Feel free to reach out us if you have any further questions.

Thanks, Thomas (K15t Software)


author: Thomas Schlegel
body: Hi Naime,

you can create a user macro with that content:

```
## Macro title: exportpdf

## @noparams

<a href="<your confluence url>/spaces/flyingpdf/pdfpageexport.action?pageId=$content.getIdAsString()">print</a>
```

This macro genereates a link "print" that calls the export-pdf-function for this particular page.

Exporting the children also is difficult. For that, I would use the export function in the space administration.

comments: author: GG
body: For exporting content with Children Pages I recommend Content Exporter for Confluence addon: <https://metainf.atlassian.net/wiki/spaces/CEX/pages/53968898/Export+Confluence+pages#ExportConfluencepages-Exportmultiplepages>

It has much more flexible export functionalities than the built-in PDF export and it's still easy to use.


author: Rick van Twillert _TMC_
body: [@Thomas Schlegel](/t5/user/viewprofilepage/user-id/781483) I really like your Macro suggestion, thanks for that! Hope you don't mind I improved it a bit, which I would like to share:

```
## Macro title: Download as PDF button
`## @noparams`
`<input type=``"button"` `onclick=``"location.href='$config.getBaseUrl()/spaces/flyingpdf/pdfpageexport.action?pageId=$content.getIdAsString()';"` `class=``"aui-button aui-button-primary"` `value=``"Download as PDF"` `style=``"display: inline;"` `/>`?
```

So it now uses the base URL instead of a hardcoded URL and it displays as a button styled according to Confluence's colour scheme.


author: Thomas Schlegel
body: Thank you [@Rick van Twillert _TMC_](/t5/user/viewprofilepage/user-id/626443) - great improvement!


author: Defence Housing Australia
body: Hi [@Rick van Twillert _TMC_](/t5/user/viewprofilepage/user-id/626443) and [@Thomas Schlegel](/t5/user/viewprofilepage/user-id/781483)

I'm a BA with some (limited) DEV skills, and I really want to use your combined macro but can't work out how to get it to work.

I've downloaded it as coded above and created the user macro in 7.3.1.

Should it work as is, or do I need to tweak it to make it unique to my URL?

Thanks in advance,

Kathryn.


author: Rick van Twillert _TMC_
body: Apologies for the late reply, I think the way to get the base URL changed, please try the following:

```
<input type="button" onclick="location.href='$settingsManager.getGlobalSettings().getBaseUrl()/spaces/flyingpdf/pdfpageexport.action?pageId=$content.getIdAsString()';" class="aui-button aui-button-primary" value="Download as PDF" style="display: inline;" />
```

*(tested on Confluence 7.13.0)*