qst2pdf, a program to convert QST View images to a single PDF per issue

Posted by Nate Bargmann on Fri, Jan 28, 2011

This evening I have placed qst2pdf up on Github.  This is a Perl script that has its roots back to when I bought my first QST View CD-ROM set in 2000 or thereabouts.  At the time Wine was not mature enough to install the qstview utility included on the first CD.  Besides, it’s UI was clunky and didn’t provide an easy way to view a complete issue as one might with the actual magazine in hand.

It occurred to me that getting the issue into a single PDF would make each issue easy to read with Adobe’s Acrobat Reader (at that time only xpdf or gviewer from the Ghostscript package were mature enough on Linux to be useful).  The first run resulted in pages shifted to the right and down on the page, not centered as I considered ideal.  That’s when I learned that it would be necessary to convert each image into an EPS (Encapsulated PostScript) file and manipulate the BoundingBox property to center the image on the page.  Afterward I could merge the resulting .ps files into one .ps file and finally convert that into the PDF.  Then I promptly left it alone most likely because processing those files proved rather taxing for the 486DX-100 I was using at the time.

Fast forward to 2002 and a faster machine and a desire to store the PDF files on a CDRW for portability.  Again I worked on and off on the script and in 2004 cleaned it up a bit after mentioning what I was doing in a forum and gave a copy to someone who asked for a copy.  Again it languished until late 2010 as the conversion results in no compression and it took as many CDs for the PDFs as for the original QST View, and I now have a much faster computer and a lot of spare disk space.  This time the desire was to convert the entire set and store them on a separate partition.  This is the point at which I decided to make the script public, almost 11 years after its initial inception.  Not bad, huh?

The script does make a simple assumption, that the CD is mounted by HAL under /media as the CD title, e.g. mount point /media/QST1995.  I note that a new installation of Debian Squeeze will mount the CD under /media/cdrom which is a symlink to cdrom0.  Until I figure out how to read a CD’s title, this will be a problem.  I managed to get it to mount under the CD title on Debian Squeeze by commenting out the line that has /media/cdrom0 as its mount point in /etc/fstab.  Yes, it’s hackish…

Future plans are to make the search for a mounted CD more universal.  Also, I have a separate script that reads a database file on the first CD of each set and inserts that data into an SQLite database.  Then I hope to develop a Libre Office Base form that will allow searches of the DB and perhaps call the PDF viewer and feed it the relevant PDF.  This may happen by 2022 (editing this in 2022 and it hasn’t happened, so…) or whenever Duke Nukem Forever is released, which ever comes first.

Regarding the intent of this program.  The intention is to create an easy way to view back issues of QST (official journal of the American Radio Relay League) from the CDROM sets that the user already owns.  There is no intention for this script to violate the copyright of ARRL over the CDROM sets or the QST material.  The program is licensed under the GPL3 and may be redistributed under its terms.  I would appreciate any and all feedback and patches.