The PostScript Language

PostScript(PS/EPS格式)讲解   PostScript(PS/EPS格式)讲解 作者:bobob 一、PostScript概述Postscript既是一种页面描述语言,也是一种高级解释型脚本语言。由于它与设备的无关性,使得它无论在那种平台上,都能忠实的再现原貌,从而被广泛应用于打印出版行业,同时由于它是一种解释型脚本,所以它也可以像一般编程语言一样用来解决某些问题。和我们熟悉的pdf文件相比,两者有几个 阅读详情

Introduction

The main purpose here is not to teach each detail of this software but to give sufficient material for the persons who find PostScript an interesting and enjoyable programming language for document preparation. Although we do not intend to write a technical paper or a textbook or a bible on this topic we are going to try to present necessary and sufficient information for PostScript.

The main ideas behind PostScript were created twenty two years ago by John Gaffney at the Evans & Sutherland Computer Corporation. It was known as the "Design System" at the beginning but later it was developed under the name PostScript by Adobe Systems Incorporated as a platform and device independent tool for page designing. Adobe Systems Incorporated was formed by Chuck Geschke and John Warnock in 1982. C. Geschke and J. Warnock undertook a new design and implementation of the language, to which Doug Brotz, Billi Paxton, and Ed Taft made major contributions. Nowadays it is one of the major document preparation tools although it is not directly used by most end users. Its capabilities are at quite high levels however many lazy users who do not want to get into the details of this powerful language prefer to use the other end-user-oriented tools which are mainly based on the "What You See Is What You Get" philosophy. To tell the truth, many WYSIWYG tools use PostScript file formats for maintaining the documentation products or for using as an interface for other jobs like printing. In these senses, it still survives as our old friend which serves as a powerful assistance to many computer jobs related to drawing, coloring, image processing, color separation, simulation and animation even if it may not explicitly show up itself in the procedures. On the other hand, if you desire to learn its structure for programming you will find it not so difficult.

The PostScript commands are executed through certain interpreters. Amongst these, a well-known software is freely available on the public domain of Internet. This is named "ghostscript" by Aladdin Enterprise. There is also a useful graphical interface, "ghostview", released by the same organization. gnu project has also its own versions for ghostscript. These are available in every Linux platform and all main Linux distributions contain them in standard installations. Here we deal with ghostscript and its certain specific structures and properties although the sample programs can be executed through other interpreters. Assume that we activate the X Window server and open an xterm window. If we want to use ghostscript then each command or command groups will be given at the command prompt which will be appeared after issuing the command

Initializing... done. Ghostscript 2.6.2 (4/19/95) Copyright (C) 1990-1995 Aladdin Enterprises, Menlo Park, CA. All rights reserved. Ghostscript comes with NO WARRANTY: see the file COPYING for details.
GS> _


A specific blank window will be opened at the same time with the appearence of this command prompt. If we want to dismiss the ghostscript session, all we have to do is to issue quit command at GS> prompt. EOF (Ctrl-D) works also for the same purpose.

Ghostscript can execute the commands by getting them from a file also. In this case we open a file named, for example, sample.ps . All commands to be executed by ghostscript are written in this file. Hence we can call the content of this file a PostScript program. The entire content of this program or its individual commands will be consecutively executed by ghostscript if we issue the following command at the shell prompt of the xterm window of linux

gs sample.ps

and the display (if the program aims at the creation of a display, of course. In fact, PostScript can be used for other purposes like mathematical calculations, stack operation etc. We will mention them in future articles of this series) will be appearing on the ghostscript window. If the program produces more pages than a single one then the ghostscript window shows the first page and a showpage prompt appears at the ghostscript commandline requesting enter key pressing for the next page.

PostScript uses Reverse Polish Notation (RPN - like HP pocket calculators). In other words parameters for a command are given before the command. The commands are separated by blank spaces. It uses stack operations for data processing and command execution. There are four available stacks in PostScript usage: the operand, dictionary, execution and graphics state stacks. The operand stack holds arbitrary PostScript objects that are the operands and results of PostScript operators being executed. We can give some examples from arithmetical operations. For instance,

20 30 add 10 sub

produces 40 since 20 30 add creates 50 and sub produces 40 by using 50 together with 10. mul (multiplication) and div (division) work in the same way. The name '=' is associatedwith a procedure that pops one object from the operand stack and writes a text representation of its value to the standard ouput file, followed by a newline. == has a similar action but it writes syntactic representation of its operand to the standard output file. pop command removes the top element from the operand stack and discards it. We will mention about the stacks in a more detailed manner later articles of this series.  

How do we use PostScript for drawing figures?

We can start drawing figures through PostScript by considering the geometrical structure of the page to be designed. The locations of the points on a page are denoted via pixel units which are one seventy second of an inch in PostScript language. The left bottom side of the rectangular page is assumed to be the location which has the (0,0) coordinates and the horizontal and the vertical sizes of the page are defined as 612 and 792 respectively. These sizes are for the letter type of papers. There are other possibilities for the definition of the paper sizes like

note for 540 and 720 or
legal for 612 and 1008 or
a4 for 595 and 842 .

These are regular gs commands. The command 'a4' will resize your drawing sheet to the appropriate size.

The paper size definition can be found in the initialization file whose name is gs_statd.ps. It can be found in /usr/lib/ghostscript for Slackware. You can define any non-standard paper size by making convenient additions and modifications on this file as we will mention later in this series of articles. Here we assume that we use the default paper type letter in this presentation.

The second step after taking the paper in desired sizes in drawing a figure is to locate the curser at the beginning of the drawing. This can be accomplished by issuing the command

x y moveto

where x and y denote respectively the horizontal and vertical coordinates of the point where the cursor will be located. x and y are pure numbers and considered in pixel units. As you can see the functional structure of the PostScript is a little bit different from the other programming languages like C, Fortran. moveto is the command which takes the action, in other words it moves the cursor to somewhere whose location is given by x and y. Since PostScript uses a stack the parameters are given consecutively to the stack first. Then the command is given. When it enters the stack it accepts the previous two items as its parameters. The syntax here is different for the end user who is familiar with languages like C, Fortran. For this reason we have emphasized on this topic here. As a conclusion we can say that each command which needs some parameters must be given after its parameters.

Now we are ready to start to draw the figure. Let us start with a rather simple figure, just a straight line segment. To draw this, all we have to do is to issue the following command

xx yy lineto

where xx and yy denote the location of the endpoint of the line segment. Its beginning point is the present location of the cursor, x and y . Hence, this command constructs a straight line segment from x y to xx yy . The actual drawing necessitates the path definition newpath and stroke command. Now let us write a PostScript program to draw a rectangle. This can be done by using the information given above. The program which is assumed saved in the file sample1.ps can be given as follows

newpath
100 100 moveto
300 100 lineto
300 250 lineto
100 250 lineto
100 100 lineto stroke

Although we have given each command in separate lines, this is not really necessary. We could give them in the same line by inserting a blank space between consecutive commands as we mention before.

PostScript has commenting facility like the other programming languages. Whole material which follows a percentage sign in a line is interpreted as comment by the interpreter.

newpath
% Cursor initialization
100 100 moveto
% Drawing the rectangle
300 100 lineto
300 250 lineto
100 250 lineto
100 100 lineto stroke

If we now issue gs sample1.ps command at the prompt of the xterm window then the usual ghostscript window appears containing the desired display of the rectangle. We do not need to invoke gs interpreter at every time of displaying. In fact,
(sample1.ps) run
command does the same thing through the GS> prompt.

The stroke command tells to the interpreter to draw the figure. For the above program the ghostscript window displays the rectangle with edges of 200 and 150 points in horizontal and vertical directions.

The straight lines do not need to be vertical or horizontal. They can be constructed in any direction.

As you will see when we display the result through ghostscript, this program creates a triangle. You can create any kind of figures which are composed of broken lines or line segments by using moveto and linetocommands.

There are two more commands to be used in the above figure constructions. These are rmoveto and rlineto . They need two parameters and can be used as follows

x y rmoveto
x y rlineto

where x and y are the horizontal and vertical distances between the initial and final points of each action. 'r' in rmove and rlineto stands for 'relative'. In other words the first command moves the cursor x units horizontally to right and y units to up from its present location. The second command behaves similarly but it draws a line and moves the cursor to the final point instead of only moving cursor. These are referring commands and the parameters are given by taking the initial location as the reference point.

All above examples use a default linewidth for the drawing. This value is 1 pixel. However user can define the line width of the drawing at anywhere in the program. This can be done by issuing the command

x setlinewidth

where x denotes the line width in pixels. The effect of this command continues until the next line width setting in the program. There is no limitation for the number of line width settings in a program.

Of course, the drawing in PostScript is not limited to straight lines. The circular arcs can be also produced. For this purpose we can use the following command

x y r a b arc

where x, y, r, a and b stand for the horizontal and vertical coordinates of the center of the circular arc, the radius of the arc, the angle between the positive part of the horizontal axis and the central rays which pass through the beginning and the final points of the arc. The angles are measured counterclockwise. If the beginning point of the arc is not the present location of the cursor, then a straight line between the currentpoint (the location of the cursor) and the beginning point arc is also added to the figure. To understand the situations you can have a look at the display of the following PostScript program.


3 setlinewidth
200 200 moveto
100 200 100 0 75 arc
stroke
300 300 moveto
400 500 200 20 50 arc
stroke

Therefore we must be careful to place the cursor at the beginning point of the arc if do not want the extra line mentioned above. However there is another way to get rid of this effect. In fact, the currentpoint can be made empty valued. In other words at the beginning of the path it has no parameter values. There is no assignment for the location of the cursor. Once the drawing is started the final point of the path becomes the current point. If we issue newpath command then PostScript erases the assignment for the cursor point and treats as if the drawing will start just from that instance. Therefore the above program can be modified by replacing the fifth line with a line which contains only newpath command. If this is done and displayed then the same output, except the extra line segment, of the above program will be obtained.

A path is begun by executing the newpath operator. This initializes the current path to be empty. The path is then built up via execution of some commands for adding segments to the current path.

arc command can be used to draw a full circle. It is sufficient to give the beginning and the final angles of the arc as 0 and 360 respectively. If this is done under a newpath a complete circle is obtained. arc command can be used to produce ellipses also. This can be accomplished by using scaling property of PostScript. The user can rescale of the horizontal and vertical units separately via the following command.

x y scale

where x and y denote respectively the horizontal and vertical scaling factors. This means that the case where these factors are equal to 1 creates no effect on the drawing. The effect of the scaling is maintained until the next scaling command is issued. The next issued scaling command does not remove the effect of the previous one but it combines its own effect with the previous one. If we assume that the previous scaling command parameter has the scaling factors x1, y1 while the next scaling command parameter has x2, y2 factors then the combined effect of these commands has the scaling factors x1*x2, y1*y2 . This point must not be kept far from the eyes to avoid undesired results in the displays, such that some paths may slide out of the paper surface. PostScript assumes the nonexistence of scaling by default. The following PostScript program which is assumed to be saved in the file sample4.ps forms an example to explain the scaling.

3 setlinewidth
200 200 100 0 360 arc
stroke
newpath
2 1 scale
200 300 50 0 360 arc
stroke
newpath
1 4 scale
100 150 40 0 360 arc
stroke

As can be noticed, the scaling affects each size including the line width. The line widths of the ellipses and the circle created by the above program are different due to this reason.

PostScript also has two other commands for arc drawing. One of them, arcn , is mainly same with arc except the drawing direction. arcn draws arc clockwise. The third arc drawing command draws a circular arc which is tangent to two given lines at the endpoints. It can be issued as follows.

x1 y1 x2 y2 r arcto xt1 yt1 xt2 yt2

where xt1, yt1, xt2, yt2 denote the horizontal and the vertical coordinates of the arc while the end points of the tangent lines have the the values x0, y0, x1, y1 and x1, y1, x2, y2 respectively and r stands for the radius of the arc. If the path is not new or the current point does not coincide with the beginning of the arc then a line joining the current point and the beginning point of the arc is added to the path. At the end of the drawing the currentpoint becomes xt2, yt2 .

PostScript has also a Bezier algorithm based command which can be effectively used in the interpolation or extrapolation of a given data for plotting. This command is curveto and can be used to form the plots based on the interpolation or extrapolation of a given set of data. The command can be used as follows.

x1 y1 x2 y2 x3 y3 curveto

where the curve starts at the current point whose coordinates are assumed to be x0, y0 . It is tangent to the line between the points x0, y0 and x1, y1 at the beginning point. The curve ends at the point x3, y3 and is tangent to the line between x2, y2 and x3, y3 . By default all these four points are assumed to be different and they determine the shape of the figure.

 

Writing facilities in PostScript

PostScript has various fonts which are used as standard fonts for desk-top publishing. It has also font creating facilities which can be accessed by defining dictionary stacks where fonts are available. The following PostScript program can be given as an example.

/Times-Roman findfont
15 scalefont
setfont
100 500 moveto
(I love PostScript!) show
/Times-Italic findfont
20 scalefont
setfont
100 450 moveto
(I love PostScript!) show
/Times-Bold findfont
25 scalefont
setfont
100 400 moveto
(I love PostScript!) show
/Helvetica findfont
30 scalefont
setfont
100 350 moveto
(I love PostScript!) show
/Courier findfont
35 scalefont
setfont
100 300 moveto
(I love PostScript!) show
/Helvetica-Bold findfont
40 scalefont
setfont
100 250 moveto
(I love PostScript!) show
showpage

As can be extracted from the program findfont command is used for getting an access to the desired font structure. The name of the font starts with / and is given to the command as a preceding parameter (where / tells the interpreter to push this value on the stack 'as is'. When we get into the details of stack operations later this point will be more clear. After the selection of the command the scaling is defined through the scalefont command. The scaling factor is given as a preceding number to this command. After scaling of the font, the command setfont makes the font ready for future usage in the program. After we locate the cursor through the moveto command with appropriate parameters, the text material encompassed by the parenthesis is given a parameter for the show command. The showpage command finalizes the displaying of the written material. The above program uses different fonts in type and size for the same text located at different positions. The number of the avaliable fonts for PostScript can be found by searching the locations of the fonts in the tree structure of the linux system you use. The text can be adjusted through lines, curves and by some other tool. So any kind of writing, in principle, is possible. It is just a matter of design.

 

Painting and color usage in PostScript

PostScript language is equipped with several facilities to paint figures or create colorful pictures. Let us start by mentioning the coloring commands first. PostScript uses black as the default color unless a color specification command is issued. Hence the output of the all previous programs were black and white pictures. To use color in the output PostScript can use three different coloring command. The first one is based on the rgb color format. In this format each color is assumed to be composed of three main colors: red, green and blue. The color components can be given by individual intensity parameters which can take the values between 0 and 256. The intensity parameters can accept the decimal fractional values up to three digit precision like 111.223. Therefore the command expected by PostScript must be given as follows.

x y z setrgbcolor

where x,y,z are the intensity parameters for the red, green and blue components and setrgbcolor is the command. In this convention 1 0 0 setrgbcolor creates red color while 0 1 0 setrgbcolor creating green. Black corresponds to the case where all intensity parameters take the value of 1. Color setting command continues to affect every drawing and painting until the next color setting command is issued. When this happens the effect of the first setting is completely removed and the new setting dominates everything. The number of usage for the color setting is unlimited. By approriately using the color settings you can create your pictures just as you want. It is a matter of art and up to you.

The second color setting facility is based on a four component color format. This is called cmyk color format. The four basic color components are cyan, magenta, yellow and black respectively. Each color component contributes the final color according to an intensity parameter which can vary between 0 and 1. The corresponding PostScript command is therefore as follows

w x y z setcmykcolor

where w, x, y, z are the intensity parameters for the color components cyan, magenta, yellow and black respectively. The fractional decimal values can also be used for intensity parameters. This command also continues its effect on everything until the next command is issued. When this is done the new setting overdominates the preceding setting. There is no limitation on the number of usage for this command in a program.

Third command can be used as follows

x y z sethsbcolor

where x, y, z stand for the intensity paremeters of three different properties of the color. First one corresponds to hue which determines the location of the color in the spectrum of the light. The second one, saturation and the third one, brightness corresponds to the saturation and the brightness of the color. This format is preferred when the location of the color in the spectrum via a loop or the brightness and/or saturation become the properties to be controlled. The reader who is not familiar to hsbcolor he/she can check the use of the xfig facility under linux.

The most important PostScript command for painting is fill and closepath . The following example program which is assumed to be saved in the file sample6.ps clarifies important aspects of the painting and coloring through PostScript.

1 1 0 0 setcmykcolor
100 100 moveto
300 100 lineto
300 250 lineto
100 250 lineto
100 100 lineto
stroke
1 0.5 0.8 0 setcmykcolor
5 setlinewidth
200 200 moveto
400 300 lineto
300 300 lineto
closepath fill
stroke
1 0 0 setrgbcolor
3 setlinewidth
200 200 moveto
100 200 100 0 75 arc
stroke
newpath
400 500 200 20 50 arc
stroke
0 0 1 0.2 setcmykcolor
3 setlinewidth
200 200 100 0 360 arc
stroke
1 0 0 setrgbcolor
newpath
2 1 scale
200 300 50 0 360 arc
gsave fill grestore stroke

stroke
0 1 0 setrgbcolor
newpath
1 4 scale
100 150 40 0 360 arc
gsave fill grestore stroke

where closepath command closes an open path by joining two end points by a straight line while fill serves to fill inside of the closed path with the current color.

PostScript can also create grey tones. This can be done through the command

x setgray

where x is the intensity of the graycolor and its value can change from 0, which corresponds to black, to 1 which corresponds to white. The following program which is saved under the name sample7.ps is constructed in a sufficiently self=explanatory manner.

0.2 setgray
10 setlinewidth
100 700 moveto
200 0 rlineto
stroke
newpath
0.3 setgray
100 600 moveto
200 0 rlineto
stroke
newpath
0.4 setgray
100 500 moveto
200 0 rlineto
stroke
newpath
0.5 setgray
100 400 moveto
200 0 rlineto
stroke
newpath
0.6 setgray
100 300 moveto
200 0 rlineto
stroke
newpath
0.7 setgray
100 200 moveto
200 0 rlineto
stroke
newpath
0.8 setgray
100 100 moveto
200 0 rlineto
stroke

Before the completion of this presentation we can recommend to write more complicated and comprehensive programs for the users who find PostScript as an enthusisastic tool. In the next articles of these series more details about the PostScript language. All questions and recommendations are welcome for our presentations. We shall give sufficient credit to these in our coming articles.

The author thanks to Oliver Thilmann for his very helpful comments for the organization and presentation of this article.

PostScript language reference third edition -- ps语言手册 PostScript language reference (third edition) 从Adobe网站下载, 内有ps语言的详细说明. 立即下载

相关推荐

PostScript语言教程与手册 英文

he POST SCRIPT page description language provides a device in-dependent standard for representing the printed page. This book is designed to be a companion piece to the POST SCRIPT Lan-guage Reference Manual. It presents illustrative material to aid in understanding the P OST SCRIPT language. The tutorial infor-mation presented here has been deliberately separated from the reference manual to help ensure that the defining document of-fers a precise, unambiguous definition of the language and asso-ciated graphics imaging model. In all cases, when questions of definition or precise specification are raised, the POST SCRIPT Language Reference Manual is the final word.

PostScript语言里的珠玑

PostScript的领域对象和操作 作为针对桌面出版的文档描述语言,PostScript的设计者力图要解决的核心问题,是如何设计一个灵活高效的语言,以操控桌面出版中各种各样的图形对象,并保证设备无关性。我们不妨戴上语言设计者的眼镜,来模拟一下这个过程。 我们面临的首要问题是如何描述桌面出版中的种种复杂对象和操作。尽管任何平面出版物最终都是二维像素点的集合,但我们并不希望这个语言局限于

bgkdfk的专栏 498

PostScript Language Tutorial And CookBook (BlueBook)

PostScript Language Tutorial And CookBook (BlueBook)

PostScript 打印描述语言 介绍

PS(PostScript)格式文件 PS格式文件是使用的PS页面描述语言编写的文件。该语言是一种基于堆栈的解释型语言,已由支持Macintosh机器输出激光打印的Leve 1 发展到现在支持多种平台的Leve13,其特点是将文字也作为图形处理。对PS编程感兴趣的朋友可到http://www.rightbrain.com免费下载GleinReid所著《Thinking in PostScrip

changyanmanman的专栏 7887

postscript语言

PostScript 是一种页面描述语言,由 Adobe 公司在上世纪 80 年代开发。它广泛应用于桌面出版和印刷领域,能够精确描述文本、图形和图像,以实现高质量的打印和显示。

m0_52951519的博客 889

打印机小百科:带您全面认识打印语言

绝大部分用户在购买打印机的时候关心的就是打印速度,打印分辨率,打印幅面,打印负荷等等几个参数,很少有人在意打印机的另外一个重要特性:打印语言,它是决定打印机输出复杂版面能力的重要指标。   概述   打印语言就是一个命令集,它告诉打印机如何组织被打印的文档。这些命令不是被单独地传送,而是由打印机驱动程序把它们嵌在打印数据中传给打印机,并由打印机的打印控制器再分开解释。   打印机语言很多,但

向远处看的专栏 3843

PostgreSQL INSERT INTO 语句详解

PostgreSQL 的语句是数据库操作中最基础且最重要的命令之一,用于向表中添加新记录。该语句支持单行插入、多行插入、部分字段插入等多种灵活用法。PostgreSQL的INSERT INTO语句提供了灵活多样的数据插入方式,掌握其各种用法和优化技巧对于高效数据库操作至关重要。理解基本语法和变体形式掌握批量插入提高效率学会处理插入冲突遵循安全最佳实践了解性能优化方法通过合理应用INSERT语句,可以构建高效可靠的数据写入流程,为应用系统提供坚实的数据存储基础。

✨ 欢迎来到【Seal ^_^ 的CSDN博客】!✨ 1万+

SQL(8):INSERT INTO SELECT与SELECT INTO,选数据出来,放到另一个表中

INSERT INTO SELECT与SELECT INTO,选数据出来,放到另一个表中

在下_诸葛的博客 6714

INSERT INTO SELECT语句与SELECT INTO FROM语句区别

1.INSERT INTO SELECT语句语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1或者:Insert into Table2 select * from Table1注意: (1)要求目标表Table2必须存在,并且字段field,field2…也必须存在(2)注意Table2的主

吉克先生的博客 10万+

MySQL中 insert into select和create table的区别 已经复制表的方法

MySQL中 insert into select和create table的区别 MySQL一般我们在生产上备份数据通常会用到 这两种方法: INSERT INTO SELECT CREATE TABLE AS SELECT 本文仅针对MySQL innodb引擎,事务是可重复读RR 1.INSERT INTO SELECT insert into Table2(field1,field2,...

HaC 的博客 2661

select into 和 insert into select及create table as select

SELECT INTO 语句 SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。 SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。 SQL SELECT INTO 语法 您可以把所有的列插入新表: SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename 或者只把希望的列插入新表: SELECT column_name(s) INTO new_table_

wushijuewu 1281

PostScript(.PS文件)

和「」提供了一些编程的工具。」将解释器切换到延迟运行模式,所有的东西甚至是运算符和其他的可执行对象都放到堆栈中,其中一个例外就是「」,它将堆栈中从「」开始的所有内容,绑定成一个(匿名)处理过程,然后将它放到堆栈上。这种结构有几种不同的用途,如子程序定义(匿名程序赋给一个变量)、循环、条件等等:这段代码首先使用eq测试x1是否是0;根据结果的不同将真或者假放到堆栈上。在此之后,将两个过程放到堆栈上,然后执行ifelse,它从堆栈中取出三个参数,如果第三个参数是真。

weixin_40191861的博客 2452

PostScript语言教程(一、介绍)

一、介绍 POSTSCRIPT语言是打印机页面描述的一种程序设计语言。他拥有着广泛的图形操作,并且可以以任意方式,包含变量,函数,以及过程的任意组合 。 POSTSCRIPT页面描述是由解析器运行的程序(gs),postscript程序通常是由其他应用程序生成的。 1.1、POSTSCRIPT作为页面语言 POSTSCRIPT具有大量的图形运算符,通过他可以更加详细的描述你的页面。...

bailv3680的博客 1884

打印机语言PCL与PostScript的比较

PostScript语言 PostScript是一种与设备无关的打印机语言,即在定义图像时可以根本不考虑输出设备的特性(如打印机的分辨率、纸张大小等),而且它对文本和图形实行同样的处理过程,这就给处理字体带来了极大的灵活性。由于PostScript的设备无关特性,在输出到特定输出设备,譬如对分辨率、纸张大小、进纸盒进行选择时,PostScript通过打印机描述(PostScript Print

zbyufei的测试专栏 6447

PostScript基本语法

在百度百科的基础上做了整理。

crf_moonlight的博客 1万+

如何获取OSX中的Postscript name

前言 基于Core Text中根据Postscript name创建CGFontRef字体对象的CGFontCreateWithFontName(Postscript name)方法,需要知道Postscript name 操作如下 Open the Font Book application. (It should be in your Applications folder.) Select

严青 943

GhostScript命令参数详解

本文列出几个常用参数,然后下面附上官方的参数详解: 一、常用参数解释 这是一个测试的命令:gs -dQUIET -dNOSAFER -r300 -dBATCH -sDEVICE=pngalpha -dNOPAUSE -dNOPROMPT -sOutputFile=/opt/shanhy/testpng/%d.png /opt/shanhy/test.pdf Linux 中,到文件gs所在目录

Liuqz2009的专栏 1万+

Linux cups 打印总结备忘

最近这段时间从Android转入了c++服务端开发,接了一个任务,在 centos 6.5下把pdf 、文本文件、图片等转换为 tiff格式(传真需要的格式),因此研究了一番linux下cups打印原理与系统,现在基本摸清,可以把任意pdf和图片转换为tiff,linux下utf8的文本文档 如果有中文,则中文会叠在一起,windows下gbk的中文无法打印,有知道的兄弟告诉我一下。

a907763895的专栏 2万+
上一篇: 发gmail邀请了,需要的留言了!!
下一篇: PostScript之二-操作数栈,栈操作符和数学运算符
chenbuaa
博客等级 码龄25年 6粉丝 34原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值