[Scribus] Bounty for true PDF handling in Scribus
Craig Ringer
craig
Sat Feb 2 23:24:27 CET 2008
Philipp Klaus Krause wrote:
> Craig Ringer schrieb:
>
>> - If the document being imported is of a PDF version newer than the
>> PDF being exported, problems may arise.
>> It's probably best to rasterise the input PDF (like we do now) in
>> this situation. In theory you could scan the
>> content streams of the input PDF and check if it actually used
>> features not supported by the current PDF
>> version (like transparency and layers if you're exporting PDF 1.3)
>> but this is difficult and may not be entirely
>> reliable.
>
> Isn't there a way to handle this situation similar to the one below (so
> we cankeep the vector stuff)? MAybe just going through pdf2ps and ps2df
> to reduce the pdf version number?
As Andreas noted, that'll cause transparency flattening if the PDF uses
transparency. Other interesting effects may also be observed, such as
the conversion of text to images (!) under some circumstances. You'll
lose all annotations (hyperlinks, comments, attached files, etc), but
that's likely to happen with a simplistic XObject approach too.
I guess that using gs to reduce PDF to PS-3 level feature use is better
than rasterising the entire document. Very recent gs versions do a
pretty good job retaining correct appearance with pdf2ps and ps2pdf but
I'd still want to do a bunch of testing before relying on this instead
of going straight to raster.
What you ideally want to do is examine the page's content stream(s) and
determine if they actually use any unsupported features rather than just
relying on the version number. Distiller, the Adobe PDF printer, and
quite a few other PDF producing apps like to set their highest supported
version by default. There's also Acrobat, which sets the PDF version to
the maximum supported by that version of Acrobat even if all you did is,
say, alter the media box. [The cynic might wonder if this is a sales
strategy on Adobe's part]. Scanning the content stream(s) would be
rather more advanced, though, and relying on the PDF version would do
for starters.
It'd probably be necessary to provide a preference, though probably not
an import-time option, to control how wrong version PDFs were handled:
"Warn and import anyway"
"Convert to PDF 1.3 (will convert transparency and complex graphics to
raster images)"
"Convert entire PDF to raster image"
--
Craig Ringer
More information about the scribus
mailing list