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