Dividing and enlarging a pdf with multiple pages per screen

My eyesight isn’t what it used to be.

I have several pdfs that are in landscape with two pages (left, right) per page. They are now too small for me to easily read. Enlarging them on screen is not sufficient because it requires too much scrolling back and forth. I would like to programmatically divide each page into separate left and right pages, enlarge them somewhat and then save the new document. I imagine that this could be done if I could display each of the original pdf pages on an Xojo canvas, extract the left and right hand views, copy each portion to its own enlarged canvas and save the newly created views to a new document. Is that possible? Is there any easier approach? Unfortunately, since this is just for occasional personal use I can’t really afford much in the way of plug-ins or additional software, but I would like to learn what the best approach or software would be, as well as what is likely to be most practical for me. Thanks for any advice.

One way… is to write a program (xojo or other) that analyzes the PDF, and creates single pages, each of which could be displayed in any manner you desire.

But this DOES require an intimate knowledge of how a PDF is constructed (its not difficult, but it is convoluted).

And I’m sure there are 3rd party tools that already do this

There may be other options
Is the PDF laid out this way (facing pages) ?
Sometimes you can just switch the viewers view and have it as continuous pages
This is in Preview
Screen Shot 2021-07-06 at 12.40.56 PM
Or Acrobat
Screen Shot 2021-07-06 at 12.39.51 PM

This link lists a few options 8 Best Free PDF Editors (Updated July 2021)
I dont know if any permit doing what you ask

That said Libre Office imported the PDF I used for those screen shots (a 44 page PDF) and I could then print it as a pdf
So there may be options to get the result you want

David and Norman, thanks for the responses. I should have noted that the documents I have were scanned into PDF, with 2 pages per pdf page, without any OCR having been applied. Thus, I don’t believe I would be dealing with the underlying PDF structure (just the images), nor do I think, (but don’t know), that any PDF viewers would be of particular help. I’ve tried viewing with the documents in Preview and was about to explore seeing if PDF Scan can help. What I imagined I would attempt would be to load the document into Xojo, view each page as an image, divide each page into a left and right-side image, enlarge the subsequent images, and then read them on screen or save them to a new PDF. Does it make any sense to try to do that with Xojo?

If you don’t want to program something, I used this: briss download | SourceForge.net several years ago. I hope it still works.

Well Xojo on a MAC can open a PDF as an PICTURE
So you may be able to open the PDF get the size & split the image into two parts and save each portion
Here i thought maybe it was a 2 page but fully ocr’d etc

If you have access to a PC, Adobe Acrobat DC (the free edition) can do this by printing to a pdf as a poster which will split each double page into two singles. Or if its just a few PDF’s PM me the links and I’ll do them for you.

You might be able to convert the pdf to a set of png or jpeg files using the macOS sips command line tool, Ghostscript or ImageMagick/GraphicsMagick that has Ghostscript built-in and then chop the images up.

Julian, thanks for the offer to convert documents for me, but my need would be recurring, thus I’m searching for a solution that I can implement whenever I need it. I have an Adobe Acrobat DC app on my Mac, but I don’t see any options to print as a poster and I don’t have access to a PC. However, with the Acrobat app I was able to enlarge the document to 200% and then scroll left and right to read the left and right hand pages separately. That is a relatively good, if a bit cumbersome, solution (too much scrolling). Also, I don’t know how convenient it would be on an iPad and I don’t see how I could print the individual (left/right) pages on paper, which would be most ideal, given my eyesight. But you’ve led me to a better option than what I previously had. Thanks.

Alberto,
I tried your briss download and it still works. I needed to download and install java, start the program from the terminal, and figure out the basics of how it worked, but I was able to create a pdf that contained individual pages for what had previously been two-pages (left/right) per pdf page. So this is the best solution yet.

I must say, however, that I was disappointed that I couldn’t accomplish this readily with Xojo. I was able to load my documents into a canvas, but it only allowed me to work with the first pdf page of multi-paged documents.

Thanks everyone.

1 Like

s7g2vp2, I’m unfamiliar with sips, so I’ll have to check it out. Thanks.

Xojo hasn’t even scratched the surface of PDF which is like a very complex language in itself. sips is quite simple to use:

dim theShell as new Shell
dim theCommand as String = "sips -s format png " + thePDFFile.ShellPath + " --out " + theResultFolderitem.ShellPath
theShell.Execute(theCommand)
if theShell.ExitCode <> 0 then Return Nil

where thePDFFile is the input and theResultFolderitem is the final PNG.

1 Like

Hi,
This won’t be real convenient, but it will work. I do similar things for printing imposition. I use PDF Studio, but Adobe Acrobat will also work. If the pages are 8.5 x 11, crop the whole book to 8.5 x 5.5, cutting off the left edge. Save the new file. Repeat, cutting off the right edge and save this file.
PDFTK has a burst function that will split all of the pages into individual files. A simple Xojo program will rename the resulting files sos that they will sort in correct order and then PDFTK will reassemble them into a single pdf.

PDFTK is a commandline program so you could write a GUI app with XOJO and do it all in one step.

Don

@beatrixwillius @s7g2vp2

I was able to convert the front page of a pdf to a prn file using the terminal running the command: “sips -s format png myoriginal.pdf --out mynew.png” from my Desktop directory. Unfortunately, it only converted the first page of a multiple-page pdf.

I have been unable to get the same command to work. I’ve tried

dim theShell as new Shell
'theShell.ExecuteMode = Shell.ExecuteModes.Asynchronous
dim theCommand as String = "sips -s  format png myoriginal.pdf --out mysecondpng.png"
theShell.Execute(theCommand)
TextArea1.Text = str(theShell.ExitCode)

but no new file is credited and the ExitCode is 0. All files, as well as my Xojo program, reside on the Desktop.