# Pluto PDF and printing

**URL:** <https://discourse.julialang.org/t/pluto-pdf-and-printing/65055>\
**Category:** Pluto\
**Tags:** pluto-pdf\
**Created:** [July 21, 2021, 5:47pm UTC](https://discourse.julialang.org/t/pluto-pdf-and-printing/65055 "2021-07-21T17:47:25Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Allan\_Baker](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/allan_baker/32/42645_2.png) [@Allan\_Baker](https://discourse.julialang.org/u/Allan_Baker)\
**Post date:** [July 21, 2021, 5:47pm UTC](https://discourse.julialang.org/t/pluto-pdf-and-printing/65055/1 "2021-07-21T17:47:25Z")

</div>

Is there a way to make the Pluto screen that shows in the browser WYSIWYG when printed or saved to PDF? Things look bad when I print to printer or PDF from Pluto. Many times the cells are squished up.  
I’m using firefox as the browser. Is there a setting I should look at?

Also, is there a way to make the work area wider? It is about a third of the browser width right down the middle. I have symbolic equations displayed in latex and they have scroll bars on the bottom. How can I make this more meaningful for printing?

Best Regards,  
Allan Baker

---

<div class="post-metadata">

**Author:** ![disberd](https://avatars.discourse-cdn.com/v4/letter/d/8edcca/32.png) [@disberd](https://discourse.julialang.org/u/disberd)\
**Post date:** [July 22, 2021, 7:46am UTC](https://discourse.julialang.org/t/pluto-pdf-and-printing/65055/2 "2021-07-22T07:46:45Z")

</div>

Unfortunately I think here is still no way to see where your page break will happen in the Pluto notebook.

There was a contribution in a [PlutoUI issue](https://github.com/fonsp/PlutoUI.jl/issues/113) on how to create custom pagebreaks in cells so that you can control a bit the printing flow.

For what regards changing the width of the notebook, you can do that by putting custom CSS in any pluto cell.  
For example you can always center the notebook and enlarge it by adding this

```julia-auto
html"""
<style>
body:not(.disable_ui) main {
	max-width: 95%;
	margin-right: 0px;
	align-self: center;
}
</style>
"""

```

to any cell like so:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/f/e/fe88813bc68285c8a153661a785e0c64a45d8209.png)

and the export to pdf should also print with wider cells.  
There was also this package:

> [@\[ANN\] PlutoStyles.jl: override styles of Pluto notebooks](https://discourse.julialang.org/t/ann-plutostyles-jl-override-styles-of-pluto-notebooks/64280):
>
> [Alexander Plavin / PlutoStyles.jl · GitLab](https://gitlab.com/aplavin/PlutoStyles.jl) - a small package adding the ability to override CSS styles of Pluto.jl notebooks. Or any other static Pluto asset, really. As you may be aware of, Pluto.jl doesn’t support themes (yet?). I’ve been using in-browser user CSS to modify certain aspects of Pluto styling for a long time. However, it becomes less convenient and practical when switching between multiple computers, and user CSS are not even supported in some mobile browsers. This package allow…

specifically made for customizing the Pluto appearance

---

<div class="post-metadata">

**Author:** ![Allan\_Baker](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/allan_baker/32/42645_2.png) [@Allan\_Baker](https://discourse.julialang.org/u/Allan_Baker)\
**Post date:** [July 22, 2021, 12:48pm UTC](https://discourse.julialang.org/t/pluto-pdf-and-printing/65055/3 "2021-07-22T12:48:35Z")

</div>

Thank you that is helpful. I discovered google chrome looks better than Firefox on my machine. But the wide frame code will be useful.

---

<div class="post-metadata">

**Author:** ![Allan\_Baker](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/allan_baker/32/42645_2.png) [@Allan\_Baker](https://discourse.julialang.org/u/Allan_Baker)\
**Post date:** [July 23, 2021, 8:28pm UTC](https://discourse.julialang.org/t/pluto-pdf-and-printing/65055/4 "2021-07-23T20:28:31Z")

</div>

The wide frame code works great. Is there a way to get it to carry over to the Static HTML code generated? It is still embedded in the file I can see but it isn’t evaluated. Perhaps the answer is in the plutostyles package talked about above which I haven’t investigated.

---

<div class="post-metadata">

**Author:** ![disberd](https://avatars.discourse-cdn.com/v4/letter/d/8edcca/32.png) [@disberd](https://discourse.julialang.org/u/disberd)\
**Post date:** [July 24, 2021, 8:49am UTC](https://discourse.julialang.org/t/pluto-pdf-and-printing/65055/5 "2021-07-24T08:49:29Z")

</div>

> [@Allan\_baker](#):
>

The answer is actually simpler if you don’t want to use the external package.  
Right now the snippet above is not working because in static html print the html `main` tag gets the `disable_ui` class, so the CSS i posted above only works when that class is not present on `main`.

I did that because just putting `body main` as selectors is less specific than `body:not(.disable_ui) main`, which is used in the main Pluto css and would then simply override what you put in the cell (you can look about CSS specificity [here](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity))

If you want the style to work regardless and be as specific as the one in the standard editor CSS you can just put a fake class name there, so the style in the cell overrides the default one as it is defined later in the HTML document:

```julia
html"""
<style>
body:not(.fake_class) main {
	max-width: 95%;
	margin-right: 0px;
	align-self: center;
}
</style>
"""

```

---

<div class="post-metadata">

**Author:** ![GiRallis](https://avatars.discourse-cdn.com/v4/letter/g/aeb1de/32.png) [@GiRallis](https://discourse.julialang.org/u/GiRallis)\
**Post date:** [July 13, 2022, 6:43am UTC](https://discourse.julialang.org/t/pluto-pdf-and-printing/65055/6 "2022-07-13T06:43:49Z")

</div>

To save a notebook as pdf there is the PlutoPDF package. it works for me perfectly.  
Here it is: [GitHub - JuliaPluto/PlutoPDF.jl: Don't let your printer miss out on the fun](https://github.com/JuliaPluto/PlutoPDF.jl)

---

<div class="post-metadata">

**Author:** ![Nathan\_Boyer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nathan_boyer/32/14825_2.png) [@Nathan\_Boyer](https://discourse.julialang.org/u/Nathan_Boyer)\
**Post date:** [March 30, 2026, 2:15pm UTC](https://discourse.julialang.org/t/pluto-pdf-and-printing/65055/7 "2026-03-30T14:15:37Z")

</div>

> [@disberd](#):
>
> ```julia-auto
> html"""
> <style>
> body:not(.fake_class) main {
> max-width: 95%;
> margin-right: 0px;
> align-self: center;
> }
> </style>
> """
> 
> ```

This solution worked for me for a long time to widen the Pluto content, but it is no longer centering. The content is now right-aligned instead. (I checked with both Edge and Zen browsers.)

---

<div class="post-metadata">

**Author:** ![fonsp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fonsp/32/222349_2.png) [@fonsp](https://discourse.julialang.org/u/fonsp)\
**Post date:** [April 5, 2026, 1:19pm UTC](https://discourse.julialang.org/t/pluto-pdf-and-printing/65055/8 "2026-04-05T13:19:17Z")

</div>

Some updated links:

- [WideCell from PlutoUI](https://featured.plutojl.org/basic/plutoui.jl#WideCell) for wide content.
- The Pluto documentation about [PDF export](https://plutojl.org/en/docs/export-pdf/).
- If you need to generate multiple PDFs in an automated way, you can use the PlutoPDF package. But I recommend to try [regular PDF export](https://plutojl.org/en/docs/export-pdf/) first. Try it with different browsers.

---

<div class="post-metadata">

**Author:** ![Nathan\_Boyer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nathan_boyer/32/14825_2.png) [@Nathan\_Boyer](https://discourse.julialang.org/u/Nathan_Boyer)\
**Post date:** [April 17, 2026, 7:42pm UTC](https://discourse.julialang.org/t/pluto-pdf-and-printing/65055/9 "2026-04-17T19:42:42Z")

</div>

`WideCell` works well when one cell should be wider than the rest, but it’s not very practical to pipe all your cells to `WideCell` one at a time when you want the entire notebook to be uniformly wider.
