In article <rmcq92$dr7$
1...@news.mixmin.net>,
arlen_...@newmachines.com
says...
> Thank you for edifying me on why they made Ghostscript incompatible
with
> the Ghostview version out there (version 5.0, unsupported).
If I can just correct you slightly, or at least the way I read what
you've written there, the changes weren't intended to make Ghostscript
and GSView incompatible, its just that the changes required to improve
the security meant that the way GSView uses Ghostscript to handle PDF
had to be removed.
Part of the change is the fact that the default behaviour changed from
NOSAFER to SAFER, which you can override inside GSView, the other part
is that GSView was directly using exposed, undocumented, parts of the
PDF interpreter. As soon as exploits started targeting those same areas
the only solution was to remove access to them, they couldn't be made
safe.
I don't recall off the top of my head but I'm reasonably sure the
removal of the portions of the PDF interpreter exposed to PostScript was
documented, the change to SAFER certainly was.
> BTW, sometimes Ghostview is referred to as "GSView"; is that the same
thing
> but just with an abbreviated name?
No, not in any way. Ghostscript is a PostScript and PDF interpreter,
originally written by L Peter Deutsch and nowadays commercially licensed
by Artifex Software Inc (as well as being Open Source under the AGPL
v3).
GSView is a GUI front-end and a 'utility' application written to explout
the capabilities of Ghostscript. It was written by Russell Lang
operating as Ghostgum Pty of Australia, is also Open Source and was
commercially licensed (possibly shareware ?) by him. GSView is released
under the Aladdin License (the one used by Ghostscript at the time) so
I'm not certain whether it can legally be forked.
Anyway, dirfferent applications, different companies, diffeerent
authors.
> > Would do much the same as your step 12. It doesn't set the
resolution
> > but that's largely irrelevant anyway.
>
> Agreed on the resolution being "largely irrelevant" for most purposes.
> Resolution is a perennial discussion, in fact, on rec.photo.digital.
> Most of the time, the DPI makes no difference, I think.
> (I never really understood it as it never seemed to matter to me as I'm not
> a theorist but a pragmatist - I use software to get a job done - that's
> all.)
Well my point here wass that PDF files are vector descriptions (which
may contain bitmap images as well), and the pdfwrite device is at pains
to maintain that. So an operation like:
0 1 0 rg
0 100 m
100 100 m
100 0 m
0 0 m
f
(Which fills a rectangle 100x100 points in green)
Would be preserved as such, the resolution has no effect on the PDF
output. There are circumstances where that is not the case, but those
tend to be somewhat special cases (such as reducing a transparent PDF
file to PDF 1.3 which does not support transparency) and probably beyond
the scope of this discussion.
> Ah. I should change the tutorial then to use the default of 720dpi
since,
> in a general purpose tutorial, I should keep things at the default unless
> then need to be changed, where I agree with you that in general, the
> resolution doesn't matter for our purposes of 'converting' a document.
>
> I tried to find a good list of all that Ghostscript can do, but I didn't
> find it, surprisingly, but I didn't look all that hard as I think when it's
> needed, people will find it.
PostScript is a programming language, so you can write programs in it.
That means its possible to use Ghostscript to achieve a very wide range
of things indeed. For example its possible to take an input file
(PostScript or PDF) and turn it into a n-up output file. *Ghostscript*
doesn't offer you that directly, but you can write a program to do it. I
believe one of my answers on Stack Overflow does the reverse, Given an
n-up PDF file it dissects it back into multiple pages.
That's partly how GSView achieves its functionality. Its also how things
like psutils and pstricks work.
So its not really possible to list all the things Ghostscript can do.
You could list all the devices supported, and all the features (Use.htm
lists the majorty and VectorDevices.htm the majority of the remainder)
but such a list probably isn't hugely useful because it doesn't really
tell you what you can use them for.
In a lot of ways Ghostscript is like Lego; you can build what you want.
Ken