首页 > 编程知识 正文

postscript查看,postscript选项

时间:2023-05-04 14:49:27 阅读:116166 作者:1528

PostScript PostScript是一种编程语言,非常适合打印图像和文本,无论是纸张、胶片还是非物质CRT。 用现在的语言来说,这是页面描述语言。 它可以表示如程序代码那样既有可读性,又能够任意放大缩小的矢量图。

Postscript语言使用空格、换行符或水平制表符作为基本分隔符,并将百分号“%”作为以注释开头的标志。 每行的注释以换行符结束,所有字符都用ansi编码。

encapsulatedpostscriptencapsulatedpostscript是打包的postscript格式,称为EPS。 主要包括以下特征:

)1) EPS文件格式(也称为带预览图像的PS格式)由PostScript语言文本文件和以PICT或TIFF格式编写的低分辨率代表图像组成。

)2) EPS文件格式的“封装”单位为一页,即一个。 EPS文件只包含一页的说明。 这样,如果有50页的出版物,就会生成50个EPS文件。 此外,页面大小是基于所存储页面上对象的总体矩形边界确定的,因此可以用于存储组软件的标准页面大小和独立大小对象的矩形区域。

)3)其文本部分同样可以用ASCII字符书写(这样生成的文件很大,但可以在普通编辑器中直接修改检查)或用二进制写),生成的文件小,处理快,但

)4) EPS文件采用了向量描述的方法,但也可以存储光栅图像。 但是,不是将光栅图像转换为向量描述,而是以像素文件的描述形式保存所有像素数据整体。 此外,针对像素图像的组版剪切和输出控制参数(如轮廓曲线参数、网格参数和网点形状、图像和色标颜色设备特性文件(Profile ) )以PostScript语言单独存储

PostScript和Encapsulated PostScript之间的差异PostScript语言可以用于描述图形和文本。 您可以在传统的postscript(PS )文件中编写多页文档,也可以在encapsulated postscript (EPS )文件中编写插入文档的图形。 PS和EPS的主要区别如下。

EPS文件仅使用特定PostScript操作符的一部分。 EPS文件必须包含一个边界框行,用于确定EPS图形的大小。 在EPS文件中选择页面大小(a4或letter )或整个页面的单击,因为Encapsulated PostScript禁止的PostScript操作符需要在EPS图形中与其他对象共享页面以下是在EPS文件中不可用的PostScript操作符:

a3 a4 a5 bandeviceclearcleardictacckcopypageerasepageexitserverframedevicegrestoreallinitclipinitgraphicsinitmatrixletterlegalegalnegalnegatgal balsetpagedevicesetpageparamssetsccbatchsetsharedstartjobstop可以在EPS文件中使用以下PostScript操作符,但如果使用不当,则容易导致错误:

位于nuldevicesetcolortransfersetgstatesethalftonesetmatrixsetscreensettransferundefinedfont顶部的一些操作符将无法从PS转换为EPS,以及标记这些操作符中的大多数不会影响PostScript堆栈,因此,在许多情况下,删除会导致问题的操作符就很容易解决问题。 否则,需要更复杂的PostScript知识。

在The EPS BoundingBox的习惯中,PostScript文件的第一行指示该文件的类型,下一行是称为header或preamble的注释行。 PostScript的评论也是%。 在这些注释的一行中定义了边界框。 名为BoundingBox的行有四个整数值,分别表示:

BoundingBox左下角的x坐标。 BoundingBox左下角的y坐标。 BoundingBox右上角的x坐标。 BoundingBox右上角的y坐标。 %! PS-adobe-2.0 epsf-2.0 % creator : gnuplot % % document fonts : times-Roman % % bounding box 336050410302 % end Cox 3360

的坐标是 (50,50), 右上角的坐标是 (410,302)。这里坐标的单位是 PostScript point, 等于 1/72 英寸。这样上面的这幅图的自然宽度为 5 英寸, 相应的自然高度为 3.5 英寸。需要注意的是 PostScript point 要比 TEX point (等于 1/72.27 英寸)稍大, 在 TEX 和 LATEX 中,PostScript points 被称为 big points'' 或简称 `bp`, TEX point 被称为points'' 或简称 pt。

将 PS 转换为 EPS

单页的 PostScript 文件,如果没有包含不适当的命令的话,可用下述方法转为 EPS 文件并加上 BoundingBox。 由于这些方法 都不检查非法的 PostScript 操作符,所以只有在被转换的 PostScript 文件本身 不含有那些被禁制使用的操作符的情况下,才能得到正确的 EPS 文件。

最方便的是用 GhostScript 里带的 ps2epsi 。它可以读入 PostScript 文件并计算 BoundingBox 的参数,然后生成一个含有 PostScript 图形 的 EPS 文件。 最终得到的 EPS 文件是 EPSI 格式,即它在文件的开始部分带有一个底分辨率的预览位图。因为这个预览位图是 ASCII编码 的,使得文件变大。另一种方法是计算 BoundingBox 的参数,然后把它加到 PostScript 文件中 或作为插图命令的参数(比如用 includegraphics 的 bb 方式)。计算 BoundingBox 的方法有以下几种:

用 Ghostview 或 GSview 将 PostScript 图形打开,当鼠标在图形上移动时就会显示相应的坐标(以页面的左下角为参照点)。 记下图形的左下角和右上角的坐标就可确定它的 BoundingBox。

将 PostScript 图形打印一份,测量它的左下角和右上角到页面的左下角 的水平和垂直距离(以英寸为单位),然后乘以

就可得到 它的 BoundingBox。

使用 bbfig。bbfig 是一个脚本文件, 它在 PostScript 图形文件前面加入一些 PostScript 命令并送往 PostScript 打印机。这时加入的命令会计算 BoundingBox, 然后将结果打印在 PostScript 图形上面。

应用和学习

Post Script 非常适合制作学术论文插图,因为在很多顶尖学术期刊要求示意图必须为矢量图,而 Latex 支持的矢量图一般都是 eps 格式的矢量图。Adobe公司的illustrator和免费软件Inkscape都支持eps格式矢量图的编辑。公式编辑器MathType,几何作图软件Geogebra,还有强大的科学计算软件Matlab都支持保存为eps格式矢量图。因此,如果学会了Post Script语言,可以在它们输出的矢量图的基础上加以修改,从而得到更适应论文的插图,对于写出高质量的学术论文有重要意义。

学习PostScript语言推荐的书为Adobe公司发布的Post Script Language Reference Third Edition,这本书可以在公司官网免费下载电子版 。

转换工具

svg-cairo-ps 基于 Cairo 二维矢量图形库转换

svg-path-parse An SVG path parser

参考资料:

PostScript

Encapsulated PostScript

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。