Built In PDF Magic in Debian
Debian has some awesome PDF tools built right in via the poppler-utilspackage that I never knew about. In my previous post I talked about how to make beautiful documents with code snippets using various Sublime Text extensions to convert markdown into PDF. One issue that I ran into was getting a cover page created. As far as I know There is really no easy way to make a nice cover page in markdown. Specifically in Github Flavored Markdown (which is what I am using) there is not a good way to make a page break. The easy solution would be to simple write up your entire document in Markdown, and then make a separate cover page. The problem is how to merge these two files together to make one document. Thanks to the built in PDF tools in debian this becomes very simple! The poppler-utils package has the following utilities built in:
- pdfdetach — lists or extracts embedded files (attachments)
- pdffonts — font analyzer
- pdfimages — image extractor
- pdfinfo — document information
- pdfseparate — page extraction tool
- pdftocairo — PDF to PNG/JPEG/PDF/PS/EPS/SVG converter using Cairo
- pdftohtml — PDF to HTML converter
- pdftoppm — PDF to PPM/PNG/JPEG image converter
- pdftops — PDF to PostScript (PS) converter
- pdftotext — text extraction
- pdfunite — document merging tool
pdfunite coverpage.pdf content.pdf final.pdf
This will create a document called final.pdf (of course you should change coverpage.pdf and content.pdf to match your actual files). Warning: be sure to include the final output file or pdfunite will replace the last file that you type will all over the previous files!
Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- Great Lakes, Illinois
- My Custom Miniflux CSS Theme
- Are we inside a Sarlacc?
- Setting up ANTLR4 on Windows
- Microblog
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Pluralistic: A perfect distillation of the social uselessness of finance (18 Dec 2025) from Pluralistic: Daily links from Cory Doctorow
- Moving from WordPress to Substack from charity.wtf
- Grow, Like a Tree Not a Cancer from Jim Nielsen’s Blog
- Pluralistic: All the books I reviewed in 2025 (02 Dec 2025) from Pluralistic: Daily links from Cory Doctorow
- DEP-18: A proposal for Git-based collaboration in Debian from Optimized by Otto
- [RIDGELINE] No Phones in The Ten-don Shop from Craig Mod — Writer + Photographer
- Open design: the opportunity design students didn’t know they were missing from Ubuntu blog
- My next chapter with Mastodon from Mastodon Blog
Articles from blogs I follow around the net
Sharing group_var variables across Ansible inventories
The problem Some time ago I worked with a customer that used Ansible to deploy a multitude of applications across their individual TAP1 environments. Unfortunately the Ansible inventory was setup in such a way that group_vars variables for a specific applic…
via Louwrentius December 20, 2025Thoughts on MCP
I was listening to a recent Vergecast episode the other day, and in there, there was a whole segment about MCP servers and AI-powered shopping. I’ll be honest, I’ve never been more confused about something tech-related. The more I read and listen …
via Manuel Moreale — Everything Feed December 20, 2025Generated by openring