通过PostScript文件获取到打印方向的方法
时间: 2023-10-08 18:11:40 浏览: 156
PostScript文件中通常包含“BoundingBox”或“PageBoundingBox”信息,这些信息描述了页面的边界框。通过检查边界框的宽度和高度,可以确定打印方向。具体来说,如果边界框的高度大于宽度,则打印方向为“Portrait”;如果宽度大于高度,则打印方向为“Landscape”。以下是一个获取打印方向的示例命令:
grep "%%BoundingBox:" sample.ps | awk '{if ($4-$2 > $3-$1) print "Portrait"; else print "Landscape"}'
这将打印出sample.ps文件的打印方向。具体来说,该命令使用grep命令查找包含“%%BoundingBox:”字符串的行,然后使用awk命令计算较长的一边和较短的一边,从而确定打印方向并将其打印出来。
需要注意的是,有些PostScript文件可能不包含“BoundingBox”信息。在这种情况下,你可以搜索“PageBoundingBox”或“Orientation”等相关信息来确定打印方向。如果文件中没有这些信息,则可能需要使用其他方法来确定打印方向。
相关问题
通过PostScript文件获取到打印页数
你可以使用ps2pdf命令将PostScript文件转换为PDF文件,然后使用pdfinfo命令从PDF文件中获取打印页数。以下是一个获取打印页数的示例命令:
ps2pdf sample.ps - | pdfinfo - | grep Pages | awk '{print $2}'
这将打印出sample.ps文件的打印页数。具体来说,该命令使用ps2pdf命令将sample.ps文件转换为标准输出,并将其传递给pdfinfo命令。pdfinfo命令用于查看PDF文件信息,但它也支持标准输入。最后,使用grep命令查找包含“Pages”字符串的行,并使用awk命令提取第二列(也就是页数)并将其打印出来。
请注意,ps2pdf命令和pdfinfo命令需要安装在系统中,如果你的系统上没有安装,则需要先安装它们。在Ubuntu和Debian等基于Debian的系统上,你可以使用以下命令安装它们:
sudo apt-get install ghostscript poppler-utils
在CentOS和Fedora等基于Red Hat的系统上,你可以使用以下命令安装它们:
sudo yum install ghostscript poppler-utils
如何通过ps文件获取到打印方向
您可以使用Ghostscript来解析ps文件并获取打印方向。Ghostscript是一款开源的PostScript和PDF解析器,可以将PostScript和PDF文件转换为其他格式,如PNG、JPEG、PDF等。
以下是一个示例命令,用于获取打印方向:
```bash
gs -dNOPAUSE -dBATCH -sDEVICE=nullpage -dOrientationOnly -sOutputFile=/dev/null input.ps
```
在这个例子中,我们使用Ghostscript的`-sDEVICE`参数设置输出设备为`nullpage`,使用`-dOrientationOnly`参数仅获取打印方向,并将输出文件设置为`/dev/null`以避免实际输出文件。`input.ps`则是您要解析的ps文件。
打印方向将作为Ghostscript的输出之一。如果打印方向为0,则表示为纵向打印,如果打印方向为1,则表示为横向打印。
请注意,这只是一个简单的示例命令,您可能需要根据实际情况进行修改。