On Sunday 13 September 2015, Gene Heskett wrote:
On Sunday 13 September 2015 06:17:04 Lisi Reisz wrote:
On Saturday 12 September 2015 23:28:46 Gene Heskett wrote:
The filter is primarily because in order for the current gs to print it, there needs to be a translation between a pdf and a ps.
Thanks, Gene. But my question was why?? Why does it have to be translated?
Lisi
GS, aka Ghostscript, back in v5 days, had a very good pdf level 2 renderer. It was also hell to compile, I did it twice on a big box amiga in the '90's.
Somewhere along the line, someone decided the best way to handle the bloat was to excise the pdf stuffs from ghostscript and let it concentrate on postscript only. Hence the need for a pipeing filter, called pdftops, to translate and expand the pdf into postscript that gs understands.
Both are random access file formats, but pdf uses a second lookup depth I haven't fully understood, and that must be translated and piped into gs as pure postscript.
FWIW, a properly done Level 3 pdf is the ultimate file compression when applied to a large document. This particular file that generates a 740 page, with lots of graphics, manual is just north of 121 megabytes. By the time pdftops has unpacked it and sent it to gs, it is still quite conmpressed, but the translation makes about 546 megabytes that gets sent over the pipe to gs. The resultant data that flows down the cat5 (or the slower USB if your printer doesn't have a network presence) to the printer is probably in excess of 5 terrabytes.
In the old days, I did not have a duplex capable printer, so I would command gs to make a file per page, then wrote an arexx script to send all odd pages to the printer, then when that was done, turn the pile over and then then send all the even numbered pages. But that filled up a 1Gb seagate drive , so had to be cleaned up if I wanted to do it to a different big pdf, else it was out of disk.
But I had to make the arexx script check the file size, and if it was under 100 bytes, it was nothing but the setup and teardown for the page, so rather than send that file to the printer, which if it was sitting at TOF, ignored a formfeed, so I sent it a line feed to get it off of TOF position, then the formfeed, which would eject the desired blank page, keeping the printout in the order desired, even for a 500+ page document. Without that, the binding ditch was fubar. Thats the space at the left edge of an odd page, or the right edge of an even page where a wider margin is used so the 3 hole punch misses the text.
I had an extended, and fruitless discussion with the gs maintainer at the time who couldn't conceive of a printer ignoring a formfeed if it was sitting at the top of the page already, but every Merican printer I ever had did ignore it including a couple Brother Daisy wheelers. Writing the arexx script was less hassle than trying to convince that person that he needed to add one linefeed byte in front of the formfeed. Sigh...
Your daily dose of ancient ghsotscript trivia. ;-)
Cheers Lisi, Gene Heskett
That explains a lot. Thank you for the history lesson.
Kate