首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PostScript 'image‘命令在HP LaserJet打印机上的限制是什么?

PostScript 'image‘命令在HP LaserJet打印机上的限制是什么?
EN

Stack Overflow用户
提问于 2013-08-22 09:25:10
回答 1查看 234关注 0票数 1

我尝试将手工构建的PostScript代码插入到pscript5.dll生成的更大文档中。

我使用了从http://paulbourke.net/dataformats/postscript/获得的方法(由于一些奇怪的原因,我以前的代码使用相同的转换矩阵打印4位字符(0.f),停止工作)。

因此,示例代码是:

代码语言:javascript
复制
100 200 translate
26 34 scale
26 34 8 [26 0 0 -34 0 34]
{<
ffffffffffffffffffffffffffffffffffffffffffffffffffff
ff000000000000000000000000000000000000ffffffffffffff
ff00efefefefefefefefefefefefefefefef0000ffffffffffff
ff00efefefefefefefefefefefefefefefef00ce00ffffffffff
ff00efefefefefefefefefefefefefefefef00cece00ffffffff
ff00efefefefefefefefefefefefefefefef00cecece00ffffff
ff00efefefefefefefefefefefefefefefef00cececece00ffff
ff00efefefefefefefefefefefefefefefef00000000000000ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efef000000ef000000ef000000ef0000ef0000efefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efef000000ef00000000ef00000000ef000000efefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efef0000ef00000000000000ef000000ef0000efefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff00efefefefefefefefefefefefefefefefefefefefefef00ff
ff000000000000000000000000000000000000000000000000ff
ffffffffffffffffffffffffffffffffffffffffffffffffffff
>}
image
showpage

接着,在HP LaserJet 1320上将源图像(png)转换为1位(从而以'00‘或’FF‘的形式打印每个像素),我偶然发现了一个奇怪的问题:在图像大小达到128x128到300x450之间时,打印机打印白色矩形而不是预期的图像。测试文件的总大小为2..9 MB。

Ghostscript-9.07解释器正确地显示了更大的插入映像,但是它似乎与HP的嵌入式解释器的实现不同--它仍然与我前面提到的代码工作得很好,软件解释器的放任自流是事实。

有什么可能的方法来解决白方,除了蛮力打印机确定最大。“图像”方法可打印数据大小?

Upd: 300x300已确认可打印,但随机的500x500图像是不可打印的:(在280+字符上断线)没有帮助。

EN

回答 1

Stack Overflow用户

发布于 2013-08-23 06:43:18

对于非常大的图像,您将开始遇到各种实现限制。常用的限制是字符串、数组和字典中的65535个元素。如果您的图像数据大于64k,则需要将其分割成64k块,并分别送至image (为此目的,image采用过程参数,而不仅仅是字符串数据源)。

如果您只是将数据嵌入其中一次使用,则可以使用标准成语将数据读取到缓冲区中。

代码语言:javascript
复制
/buf 100 string
26 34 8 [26 0 0 -34 0 34]
{ currentfile buf readhexstring }
image
%hex data starts here

image可以被认为是一个循环运算符,它将不断调用提供的过程以获取更多数据。这个过程甚至不需要返回整行,只需要返回少量的字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18376481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档