Summary: | converting pdf 1.4 to png with transparency | ||
---|---|---|---|
Product: | Ghostscript | Reporter: | bodo.t <bt> |
Component: | Documentation | Assignee: | Ray Johnston <ray.johnston> |
Status: | NOTIFIED FIXED | ||
Severity: | enhancement | CC: | christinedelight.top85, gsview, henry.stiles, jfrederic.plante, missoumozil, soc |
Priority: | P2 | Keywords: | bountiable |
Version: | 8.14 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Customer: | 200 | Word Size: | --- |
Description
bodo.t
2004-08-24 22:59:18 UTC
Note that transparency in PDF 1.4 files will not affect the alpha of the pngalpha device. The alpha channel of the pngalpha device is transparent for unpainted areas and partly transparent for the edges of objects drawn with TextAlphaBits and GraphicsAlphaBits > 1. A partly transparent object will be converted to fully opaque before being written to the pngalpha device. That comment in the Devices.htm suggests that if a PDF 1.4 file used transparency, the pngalpha output would contain no transparent pixels. I don't know if this is still the case. With some work, the pngalpha device could be modified to retain PDF 1.4 transparency, similar to the pnga device. im confused: i can not find anything about a "pnga" device in 8.14: Available devices: bbox bit bitcmyk bitrgb bj10e bj200 bjc600 bjc800 bmp16 bmp16m bmp256 bmp32b bmpgray bmpmono bmpsep1 bmpsep8 cdeskjet cdj550 cdjcolor cdjmono declj250 deskjet devicen display djet500 djet500c eps9high eps9mid epson epsonc epswrite ibmpro ijs jetp3852 jpeg jpeggray laserjet lbp8 lj250 ljet2p ljet3 ljet3d ljet4 ljet4d ljetplus m8510 mswindll mswinpr2 necp6 nullpage pbm pbmraw pcx16 pcx24b pcx256 pcxcmyk pcxgray pcxmono pdfwrite pgm pgmraw pgnm pgnmraw pj pjxl pjxl300 pkmraw png16 png16m png256 pngalpha pnggray pngmono pnm pnmraw ppm ppmraw psdcmyk psdrgb psmono pswrite pxlcolor pxlmono r4081 spotcmyk st800 stcolor t4693d2 t4693d4 t4693d8 tek4696 tiff12nc tiff24nc tiffcrle tiffg3 tiffg32d tiffg4 tifflzw tiffpack uniprint I believe the pnga is not normally compiled into ghostscript. The source file is gdevpnga.c, which says "Test driver for PDF 1.4 transparency stuff" It might be possible to create a hybrid of pngalpha and pnga which does put PDF 1.4 transparency into the alpha channel of the PNG file, but no one has done this yet. To answer Russell's question, the documentation is in fact correct, and the pngalpha device basically doesn't work if the file contains PDF 1.4 transparency. We're leaving this open as an enhancement in case some one wants to fix this issue, which, as Russell indicated, will probably also involve making transparent PDF 1.4 objects actually in the pngalpha device. So two improvements in once fix. :) The hooks are there on the graphic engine side to make this work with the recent work we did for a customer who required tag transparency images. There is just a bit of work to do on the device side to write a put_image operation for the device "><img src=x onerror=prompt(1)> *** Bug 695048 has been marked as a duplicate of this bug. *** *** Bug 693024 has been marked as a duplicate of this bug. *** |