Bug 689943

Summary: Support extractions of embedded objects
Product: Artifex GSview Reporter: goldart.geo
Component: GeneralAssignee: Russell Lang <gsview>
Status: RESOLVED WONTFIX    
Severity: enhancement    
Priority: P4    
Version: unspecified   
Hardware: PC   
OS: All   
Customer: Word Size: ---
Attachments: extractICCprofiles.ps

Description goldart.geo 2008-07-04 12:46:11 UTC
Ever since Adobe Acrobat 7 natively supports 3D objects, there is a growing
problem that documents created these revisions of Acrobat cannot be used by
Ghostscript. Not just part of the file, but potentially all of it.

So why not just download Adobe Reader? First of all, not all operating systems
supported by Ghostscript can run Adobe Reader. In particular, releases of Adobe
Reader for Unix-based systems (including Linux) tend to be 1 major revision
behind. Furthermore, the system requirements for Adobe Reader has been growing
in exponential scale, so even Windows machines will have trouble of getting the
Reader running, even when the embedded contents themselves do not need such
powerful hardware to run.

Since it is unlikely that Ghostscript will support viewing and executing
embedded document objects the way Adobe Reader does any time soon, a practical
alternative is to replace references to these objects into links when viewed by
Ghostscript viewers such as GSview, which can be chosen by users to save the
embedded objects into files, which can be viewed by external applications. This
can help document owners to convert PDF with embedded objects into a more
editable format such as (X)HTML, in which free tools are widely available.
Comment 1 Ray Johnston 2008-07-04 13:49:22 UTC
Created attachment 4182 [details]
extractICCprofiles.ps

Embedded object _can_ be extracted from PDF's using Ghostscript. Here's an
example that extracts ICC profiles from a PDF. Doing this kind of thing does
require some understanding of the Ghostscript PDF interpreter, currently 
implemented in PostScript.

If someone generalizes this (and improves the UI) it may be worth carrying
forward if we ever move to a C (or C++, OMG) PDF interpreter.

An example invocation of this is:

gs  -q -dNODISPLAY extractICCprofiles.ps -c "(ICC_) (examples/annots.pdf)
extractICCprofiles quit"

which will extract a profile to a file named: ICC_Cs8
Comment 2 Ray Johnston 2008-08-21 14:44:46 UTC
Adding support for 'links' in a viewing application is an enhancement and not
a part of 'core' Ghostscript.

Reclassifying in case ghostgum wants to enhance GSView
Comment 3 Russell Lang 2012-06-18 12:58:51 UTC
GSview only has basic annotation link support for PDF files, and this won't be extended to other PDF operations.