Hacker News new | ask | show | jobs
by mplewis 3210 days ago
I built this to generate PNGs to drop into a Keynote presentation, so PDFs don't quite work for my use case.

It seems like it should be pretty easy to print a PDF from Puppeteer though – they expose a #pdf method.

https://github.com/GoogleChrome/puppeteer/blob/master/docs/a...

2 comments

Just curious why you'd want to use code screenshots vs text in a presentation. Did it have to do with missing fonts or something like that?
Not OP, but syntax highlighting and other niceties are probably going to disappear within most presentation software.
Yep – I can't copy my code out of Atom and keep its highlighting in Keynote, unfortunately.
sorry for the minirant

This is something I find really frustrating in computing. We can do and are constantly doing such awesome and incredible things with computers. But at the same time transferring (copy-pasting) text from one application to another remains a challenge. And a reasonable solution for that is to bring in the 600lb gorilla that is a modern web browser to render fixed-width text into a bitmap so that it can be embedded into a presentation. It just feels so wrong, like the whole field is actually rotten inside under the shiny surface, while the state of the art blazes forwards thousand miles away from the real world. I, as a member of this community, feel utterly powerless to actually make the situation noticeably better, partly because of so much relies on interoperability, and partly because of the massive inertia that modern software carries.

I want out.

Clipboards support storing different content for different MIME types at the same time. Atom would have to put text/html (or some other colored markup) in addition to text/plain into the clipboard and then Keynote would have to know what to insert. The infrastructure for interoperability is there, the endpoints just need to actually support it.

EDIT: Apparently, the problem is (or was in 2014) that Keynote doesn't support HTML and Chrome (Atom is Electron-based, right?) doesn't support RTF. Well worth a read: https://apple.stackexchange.com/a/124167

Using Windows or OS X clipboard works perfectly fine, the author just uses applications that don't work as they should together.

I can easily do the same with Notepad++ and Powerpoint, just need to copy-paste in RTF.

There is a simple solution for that, and it exists on Android.

On Android all text formatting is compatible between apps nicely, and can easily be copied between apps.

Why not just do a screenshot of the code from Atom?
That doesn't scale well beyond doing a handful of them, I would think.
For code heavy presentations, I've seen a few people use Jupyter notebooks to solve this problem. Then just intermingle the rest of the presentation as markdown cells around the code cells.
Exactly, and to get the screenshot exactly as I want takes a couple minutes of setup – pick a theme, pick a font size, resize window – plus a few more if I have to stitch scrolled pages together.
You can embed PDFs in Keynote presentations.