从 PostScript 中提取位图
Posted
技术标签:
【中文标题】从 PostScript 中提取位图【英文标题】:Extract a bitmap from PostScript 【发布时间】:2013-05-18 08:59:11 【问题描述】:我需要从 PostScript 文件 (.ppf) 中提取位图。它使用 RLE 压缩并使用 ASCIIHexEncode 编码。我将从 php 中调用它。我想知道是否有一种优雅的方法可以做到这一点。我不想重新发明***,但我想使用现有的库。有没有办法从 PostScript、Ghostscript 或 imagick 调用压缩过滤器?
【问题讨论】:
【参考方案1】:您可以编写一个 PostScript 程序来对输入运行压缩/解压缩过滤器。因此,如果您已经将位图数据提取到名为 myfile.rle.hex 的文件中,则可以将其放入文件中(例如,名为 decode.ps):
/InFile (/home/ken/myfile.rle.hex) (r) file /ASCIIHexDecode filter
/RLEDecode filter
def
/OutFile (/home/ken/myfile.raw) (w) file def
/Data 32768 string def
InFile Data readstring
OutFile exch writestring
OutFile exch writestring
exit
ifelse
loop
InFile closefile
OutFile closefile
然后是“gs decode.ps”。还有其他方法可以实现这一点,您可以使用 -c 将全部内容放在 Ghostscript 命令行上,您可以使用 -c 在命令行上定义文件名,然后运行 decode.ps 但替换 (/home/ken/ myfile.hex.rle) 使用您在命令行中定义的文件名。您可以使用其他过滤器来查找原始 PostScript 中的数据。
但如果不了解更多关于您如何看待输入和输出工作的信息,我真的无法提出任何建议。
【讨论】:
谢谢你的例子。是的。这就是我想要的方式。我根本不知道 postscript,但我会尝试使用从 php 调用的 ghostscript。那应该可以。以上是关于从 PostScript 中提取位图的主要内容,如果未能解决你的问题,请参考以下文章
将大型光栅图形图像(位图、PNG、JPEG 等)转换为非矢量 postscript