Splitting a big, single-page pdf into print-size pages

Context:
I’m currently putting together a grant application. This means I need to get together documentation and press for what I’ve done. I need to submit this all on printed physical paper. URLs or pdf files by themselves are not enough.

I’m on macOS. Normally, you can just print a webpage to pdf from the browser. However, for some crazily-made websites, this doesn’t work and creates broken formatting. I had to use a plugin (which I now forget, because I’ve since switched computers and it was a few months ago) to print these broken webpages. The plugin outputs the page as a single page large pdf, like so:

Screenshot 2017-06-28 10.17.09

Unfortunately, this is not “ready to print” yet.

The Problem:
I have several single-page pdfs with page sizes that are much larger than 8.5″ x 11″. I want to split these into pages so that they’re ready to print on a 8.5″ x 11″ paper. Fortunately, the layout of the big pdf is such that we can split it into a single column; we don’t have to have split the page left-to-right, only vertically.

Trying to find a solution:
Nothing seems to do this out of the box. In fact, most of the current pdf management tools seem unprepared for non-standard pdf page size.

This is a hard-to-Google problem, in that all the ways to specify it are ambiguous for the purposes of a search engine. Is there a general term for these kinds of problems? When you search for “splitting pdf” or “crop pdf” or “separate pdf pages” the results assume you want to take a pdf document with several pages in it, and remove some of the pages, without affecting individual pages themselves.

macOS’s Preview app’s print dialogue won’t let me print a single page pdf onto multiple pages. When I try to adjust scale of a single pdf page, it crops the page rather than lets it overflow:

Screenshot 2017-06-28 10.26.35

I thought I could maybe use lovely command-line tool image magick convert to take each single-page pdf and crop it into a series of 8.5″x11″ pages. Unfortunately, looks like my source pdfs all have varying widths. While it may be possible, there’s no immediately convenient way to measure the width of a source pdf and split it into semi-overlapping tiles of a given ratio.

Solution:
I heard that Adobe Acrobat would let me crop pdfs. I installed it via homebrew cask, which is how I install any application whenever possible. After installing it, I that the cropping pdf feature was only available in Acrobat Pro. Cropping a pro feature!? Seems crazy, but given how arduous my search had been so far, maybe that’s not actually that crazy.

Fortunately, I’m already paying for Adobe Creative Cloud at $50 USD/month.

I found the pdf splitting interface in the print dialogue (more on that later). However, Adobe Acrobat won’t print to pdf. And, Adobe won’t print to macOS’s print dialogue – trying to do this crashes Adobe Acrobat. Adobe Acrobat would only print to real printers that were connected to my computer, which I couldn’t do because I’m sending pdfs to a print shop via email.

Wat.

So, I needed to make a virtual printer that showed up in my print dialogue, but actually printed to pdf. I found one called VipRiser. Here’s the virtual printer:

Screenshot 2017-06-28 10.40.15

With VipRiser, you can choose where the pdf goes. I tried setting it to Desktop, and then Downloads, which VipRiser accepted, yet when I tried to print, it would hang for a bit then told me it “couldn’t find the folder”. So, I selected the “Open in Preview” option instead. Then, after the resulting pdf opened, I could save it to the desired location. This yak is a Matryoshka doll.

VipRiser worked fine after that, but it froze if my Mac ever slept. It also hanged for a shockingly long time while printing documents of only a few pages, like 30 seconds.

Now that actually outputting a document is solved, lets go back to the Adobe Acrobat print interface. Under the “Page Size & Handling” Tab, select “Poster” to choose your tiling options.

Screenshot 2017-06-28 00.11.48

On the right side, you can see the dotted lines cut the big single page into 3 pages. However, the top of the first page isn’t aligned with the top of the original page. I couldn’t see how to fix this. I just decided to accept this and hoped it wouldn’t make my application look too weird.

You can see I set the “Tile Scale” to 60%; I found this out manually. Note in the page visualization on the right, it tells you the document size is “8.5 x 33 inches”. If you make the Tile Scale one bigger, to 61%, it changes the page layout so it’s 11 inches wide, ignoring the Orientation setting:

Screenshot 2017-06-28 00.11.58

But then it worked. Holy shit.

Yak-Shaving
I come across these sorts of “I just want to do a simple thing” deep dives more often than I’d like, so I’ve started a new category: yak-shaving posts. If you aren’t familiar with the definition of yak shaving:

[MIT AI Lab, after 2000: orig. probably from a Ren & Stimpy episode.] Any seemingly pointless activity which is actually necessary to solve a problem which solves a problem which, several levels of recursion later, solves the real problem you’re working on.

Source

This entry was posted in technical, yak-shaving. Bookmark the permalink.

6 Responses to Splitting a big, single-page pdf into print-size pages

  1. My research students recently witnessed me shaving the yak and seemed astonished that this behavior exists. I have long since considered it normal, and of course I started from “I just want to do a simple thing” (in my case, run emacs on a chromebook). Thanks for posting this chronicle!

    • dustinfreeman says:

      Glad you read this! Do you mean they were astonished that yak-shaving was required (they must be new!) or the level of persistence you were able to throw at the problem?

      I think one thing I’ve had to learned is that the only solution to many problems is throwing a shocking amount of persistence at them without letting yourself become frustrated. To non-technical folk around you, it can often come off being emotionally robotic, while you’re actually furious. And then, once the difficult process is finished, to be helpful to your org/the world at large, you have to re-examine the process to figure out why it was so arduous, and see if you can improve it for the next person.

      And, not to start a whole thing, but it isn’t just apt-get emacs ?

  2. Pingback: Split long PDF page into mutiple pages * ChatBots

  3. Taylor Bradshaw says:

    Thanks for this article, I could’ve spent hours trying to figure this thing out!

  4. Mansour says:

    As an alternative, I’ve made a cross platform command line tool which given any PDF, will spit out another PDF where pages of the original document are tiled according the paper size given.

    It’s called pdftilecut and it’s open source: https://github.com/oxplot/pdftilecut

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.