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
:-))
If the hard way will do, why use the easy way, eh, Gene. ;-) The
harder and more abstruse the better. :-)
Lisi