# Printing a topic as a PDF

**URL:** https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061
**Category:** Using Discourse
**Tags:** how-to, interface
**Created:** [August 6, 2020, 5:56pm UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061 "2020-08-06T17:56:46Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Discourse](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/discourse/32/148734_2.png) [@Discourse](https://meta.discourse.org/u/Discourse)
#### Post date: [August 6, 2020, 5:56pm UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/1 "2020-08-06T17:56:46Z")

</div>

> 🔖 This guide explains how to print/download any Discourse topic to PDF.
> 
> 🙋 Required user level: All users

Discourse allows you to generate a PDF of a topic by using the **Print topic** keyboard shortcut. The shortcut for your system is noted in the keyboard shortcut reference modal that pops up when you press the ? key while browsing a Discourse site.

- Most operating systems: ctrl+p
- MacOS: ⌘+p

Using the shortcut will open a new browser window where you can optionally choose to print the topic as a PDF. The interface will vary by browser, but it will look something like the example below:

 ![Chrome's print window set to "Save as PDF"](https://global.discourse-cdn.com/meta/original/4X/f/f/1/ff1ae04c5438e67cb60d50df001605034494a49f.png)

### Additional Information

- Discourse intercepts the keyboard shortcut and renders the print view server-side to ensure the entire topic is printed.

- The same functionality can be triggered by appending `/print` to the end of a topic’s URL.

- You can technically select the print option in your browser’s File menu as well, but you will likely need to scroll from the first post to the last post of the topic to ensure all of the posts have loaded into view.

- There is a `max prints per hour per user` site setting that allows an admin to set a maximum number of `/print` page impressions per hour per user. It defaults to 5 and can be set to 0 to disable Discourse’s topic printing functionality (printing from the browser menu still works).

> Last edited by @tshenry 2024-08-01T01:14:43Z
> 
> Last checked by @hugh 2024-07-02T05:14:01Z
> 
> > **Check document**
> >
> > Perform check on document:

---

<div class="post-metadata">

### Author: ![xiasummer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/xiasummer/32/82790_2.png) [@xiasummer](https://meta.discourse.org/u/xiasummer)
#### Post date: [July 12, 2024, 2:56am UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/15 "2024-07-12T02:56:34Z")

</div>

It is very good to output all contents to a pdf file.

While I found it slightly changes the format of the contents when using sub-items.

Like the output of this content

- Level1
  - Level2
  - Level2
    - Level3
    - Level3

But when printing to pdf file, all items will be aligned left like all are level1 items.

Is there anything we can do, like setting something, to printing just as it is in the HTML view?

---

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [July 22, 2024, 12:33am UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/16 "2024-07-22T00:33:22Z")

</div>

Also, is it possible to only print a single post? I get an error if I try `https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/1/print`

This would be very helpful for Topics which have a valuable OP and a bunch of less valuable replies.

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [July 22, 2024, 1:07am UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/17 "2024-07-22T01:07:14Z")

</div>

> [@nathank](#):
>
> Also, is it possible to only print a single post

Currently not. Tobias shared that the team might look at it at some point.

> [@Is there a way to print a single post in a topic?](https://meta.discourse.org/t/is-there-a-way-to-print-a-single-post-in-a-topic/258689/10):
>
> I shared the idea of selecting posts to print or export internally. No idea of if or when we will work on this but that something should be done is on our radar.
> 
> > [@](#):
> >
> > …  
> > Another related feature request that came up during the webinar yesterday that I found interesting was a bulk action option to select a few posts and export them. That could be incredibly valuable and is maybe a better alternative to adding a print or export button to the post menu or post admin wrench.
> > 
> > Hitting Ctrl-P would always be available to print the whole topic.

---

<div class="post-metadata">

### Author: ![xiasummer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/xiasummer/32/82790_2.png) [@xiasummer](https://meta.discourse.org/u/xiasummer)
#### Post date: [July 24, 2024, 4:44am UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/18 "2024-07-24T04:44:08Z")

</div>

Well, I have a way to solve this.

I usually make a new post for printing.

Then select multiple posts and write them in a new topic in a logical sequence, and then print this full topic. Then delete the full topic.

Like I want to choose the 1, 3, 4, 5, 7, 12th post, to form a logical sequence topic, which will be a full story, and then print this selected story.

* * *

Great, This must be the best way!  
[Printing a topic as a PDF - #19 by nathank](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/19)

---

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [July 24, 2024, 5:45am UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/19 "2024-07-24T05:45:31Z")

</div>

This sounds effective but a little destructive. I guess it isn’t too hard to reassemble Topics these days though due to this feature:

> [@Moving posts to a new or existing topic](https://meta.discourse.org/t/moving-posts-to-a-new-or-existing-topic/136733/1):
>
> Posts moved to an Existing Topic will be appended to the end of the post stream, unless `preserve chronological order after merging` is checked – in which case all posts will be inserted at their corresponding chronological position.

---

<div class="post-metadata">

### Author: ![tshenry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tshenry/32/119495_2.png) [@tshenry](https://meta.discourse.org/u/tshenry)
#### Post date: [August 1, 2024, 11:09am UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/20 "2024-08-01T11:09:38Z")

</div>

We still need to get these documented, but have a look at the following theme components in the mean time:

- [GitHub - discourse/clean-export · GitHub](https://github.com/discourse/clean-export) (Adds a button to the post admin controls to print a specific post. Looks to be TL4 and Staff only. Mobile and Desktop)

- [GitHub - discourse/discourse-topic-print-component · GitHub](https://github.com/discourse/discourse-topic-print-component) (Adds a button to the topic timeline to perform the same action as the keyboard shortcut. Shows for all users. Desktop only.)

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [August 2, 2024, 2:23am UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/21 "2024-08-02T02:23:28Z")

</div>

Can you post a ss of each?

I found the print post in post wrench. But cannot find other button

Installed both.

---

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [August 2, 2024, 9:41am UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/22 "2024-08-02T09:41:15Z")

</div>

I get a nice little printer top right. It doesn’t show if DiscoTOC is active though:

> ![The image displays a calendar with the month of January highlighted and a date selected on it. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/4/5/b/45bcbce1a841986e3b1f454693ad431694efe293.png)

Personally, I’d find it better if it was also in the topic options down the bottom (or better yet, we could choose between the two sites).

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [August 2, 2024, 9:48am UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/23 "2024-08-02T09:48:21Z")

</div>

Okay so no button on mobile?

At least not that have noticed. I have the print single post in the post wrench menu.

---

<div class="post-metadata">

### Author: ![tshenry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tshenry/32/119495_2.png) [@tshenry](https://meta.discourse.org/u/tshenry)
#### Post date: [August 2, 2024, 10:07am UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/24 "2024-08-02T10:07:21Z")

</div>

I updated my post above with screenshots and some extra details.

---

<div class="post-metadata">

### Author: ![putty](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/putty/32/370902_2.png) [@putty](https://meta.discourse.org/u/putty)
#### Post date: [August 2, 2024, 8:00pm UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/25 "2024-08-02T20:00:18Z")

</div>

Do you think this support would go #official? Coincidentally today there was interest in exporting/sharing a topic 😃

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [August 2, 2024, 10:50pm UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/26 "2024-08-02T22:50:39Z")

</div>

> - GitHub - discourse/discourse-topic-print-component 3 (Adds a button to the topic timeline to perform the same action as the keyboard shortcut. Shows for all users. Desktop only.)

Is there a way to add support to mobile?

---

<div class="post-metadata">

### Author: ![Thuso\_Maphaha](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thuso_maphaha/32/437538_2.png) [@Thuso\_Maphaha](https://meta.discourse.org/u/Thuso_Maphaha)
#### Post date: [August 3, 2024, 12:27pm UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/27 "2024-08-03T12:27:54Z")

</div>

This is helpful when you are in a hurry. It is so efficient.

---

<div class="post-metadata">

### Author: ![Thuso\_Maphaha](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thuso_maphaha/32/437538_2.png) [@Thuso\_Maphaha](https://meta.discourse.org/u/Thuso_Maphaha)
#### Post date: [August 3, 2024, 12:28pm UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/28 "2024-08-03T12:28:28Z")

</div>

> [@Heliosurge](#):
>
> Is there a way to add support to mobile

I would also like to know

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [August 3, 2024, 12:48pm UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/29 "2024-08-03T12:48:26Z")

</div>

There is already support to mobiles, to iPhones anyway (screenshot is from iPad/DiscourseHub, though)

 ![IMG_3468](https://global.discourse-cdn.com/meta/original/4X/d/d/4/dd41a6f4024a1e9e9374359399ac591473e85136.jpeg)

Don’t let strange language scare you. But same functionality is founded from all mobile systems, I’m sure.

So Discourse doesn’t need offer a functionality that a device offers already. And it should’t do it.

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [August 3, 2024, 6:37pm UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/30 "2024-08-03T18:37:42Z")

</div>

I don’t see it on Android

> [@Jagster](#):
>
> So Discourse doesn’t need offer a functionality that a device offers already. And it should’t do it.

A bit narrow minded as desktop already offers Ctrl+P. One could make the same conclusion adding a direct button being unnecessary. 😉

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [August 3, 2024, 7:07pm UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/31 "2024-08-03T19:07:55Z")

</div>

Are androids really that limited 🤔 I mean that has been basic functional ages.

It could be narrow minded but I can’t see no point what so ever having over lapping menus. Because then Discourse should offer pure cut, copy and paste too.

But if, or I should say when, out there is systems that don’t offer pseudo printing/saving as PDF then that is needed.

---

<div class="post-metadata">

### Author: ![tshenry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tshenry/32/119495_2.png) [@tshenry](https://meta.discourse.org/u/tshenry)
#### Post date: [August 4, 2024, 4:07am UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/32 "2024-08-04T04:07:30Z")

</div>

😅 Hang tight everyone, we don’t even have documentation topics for these two components at this point! Let’s save any more feedback/request for when we can get around to that. In the mean time, these are open source and MIT licensed, so you can feel free to fork and/or make a pull request if you have particularly urgent needs.

---

<div class="post-metadata">

### Author: ![xiasummer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/xiasummer/32/82790_2.png) [@xiasummer](https://meta.discourse.org/u/xiasummer)
#### Post date: [May 7, 2025, 12:42pm UTC](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061/34 "2025-05-07T12:42:50Z")

</div>

## I think finally I found a good solution

- We don’t have to output as pdf.  
We can output the full webpage as html file.  
**Simply use the [SingleFile in the chrome webstore](https://chromewebstore.google.com/detail/singlefile/mpiodijhokgodhhofbcjdecpffjipkle?hl=en), it will download and compress the full webpage as it is and save to a html file.**

- If you want to print to pdf, use the downloaded html file to print, and it will keep all the formats in the html file.

> [@xiasummer](#):
>
> While I found it slightly changes the format of the contents when using sub-items.
> 
> Like the output of this content
> 
> - Level1
> - Level2
> - Level2
> - Level3
> - Level3
> 
> But when printing to pdf file, all items will be aligned left like all are level1 items.

[Next page](https://meta.discourse.org/t/printing-a-topic-as-a-pdf/160061.md?page=2)
