从 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

如何将 Python tkinter canvas postscript 文件转换为 PIL 可读的图像文件?

GCC 4.8.5 manuals

从黑白位图图像中提取路径信息

从 AVPlayer 中提取位图非常不确定

从android中的视频中提取位图