使用Ghostscript处理图片与pdf文件

1 Ghostscript处理图片

将LaTeX套件和Ghostscript命令结合使用,可以满足大部分出版物质量的矢量图处理。在Windows系统下,安装中文LaTeX套装 是最为方便和全面的选择,Ghostscript的gs命令也可以由GSview中的gswin32c.exe来代替。或者,在Windows下有 Cygwin的话,也可以从相应的Source list下载相关的软件包安装。使用Cygwin的好处是可以将其与其他许多Linux下的原生程序一起配合使用,从而在Windows系统上最大限度地 重现Linux工作环境。较为麻烦的是,Cygwin的TeX系统不包含中文字体,还需要自己手动安装和配置,具体怎么做以后再慢慢研究吧。下面将常用的 命令总结出来以备忘。

生成嵌入字体的EPS

据Snoonyzhao的说法,下面的命令可以生成嵌入字体的EPS文件:

latex file.tex

dvips -E file.dvi -o file.eps

CTeX上也提出了一个办法,不过比较麻烦些:

1. 首先,将EPS转化为嵌入了字体的PDF:

gs -dNOPAUSE -dBATCH -dNOSAFER -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dCOMPatibilityLevel=1.4 -dEPSCrop -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=file.pdf file.eps

其中,相关选项含义如下:

  • -sDEVICE=pdfwrite:用于指定输出设备为PDF;
  • -dEPSCrop:根据Bounding box裁去图片周围的空白;
  • -dSubsetFonts=true -dEmbedAllFonts=true:实现字体的嵌入。

2. 然后将PDF转化回EPS,就将字体嵌入了:

gs -dNOPAUSE -dBATCH -dNOCACHE -sDEVICE=epswrite -sOutputFile=file.eps file.pdf

PS/EPS转换为嵌入字体的PDF

1. PS转换为PDF(注意,这里就不能再使用-dEPSCrop选项了):

gs -dNOPAUSE -dBATCH -dNOSAFER -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dCOMPatibilityLevel=1.4 -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=file.pdf file.ps

2. EPS转换为PDF:

gs -dNOPAUSE -dBATCH -dNOSAFER -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dCOMPatibilityLevel=1.4 -dEPSCrop -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=file.pdf file.eps

将矢量图EPS/PS/PDF转换为PNG

经常需要在Word或Powerpoint中插入高清晰的图片,生成高质量的文档。但是Word或Powerpoint对EPS图片渲染的效果太差,没法看。所以,通常需要将矢量图转化为高分辨率的PNG格式。命令如下:

1. EPS到透明背景PNG:

gs -dNOSAFER -r600 -dBATCH -sDEVICE=pngalpha -dNOPAUSE -dEPSCrop -sOutputFile=file.png file.eps

其中,

  • -r600:指定分辨率为600dpi;
  • -sDEVICE=pngalpha:透明背景的PNG设备。若系统不支持透明背景,则默认为白色。

2. EPS到24位16m颜色PNG:

gs -dNOSAFER -r600 -dBATCH -sDEVICE=png16m -dNOPAUSE -dEPSCrop -sOutputFile=file.png file.eps

写了一个脚本,用于上述转化:

#!/bin/bash

if [ -z "$2" ]; then

gs -dNOSAFER -r600 -dBATCH
-sDEVICE=pngalpha -dNOPAUSE -dEPSCrop -sOutputFile="${1%eps}png"
"$1"

else

gs -dNOSAFER -r$2 -dBATCH
-sDEVICE=pngalpha -dNOPAUSE -dEPSCrop -sOutputFile="${1%eps}png"
"$1"

fi

3. PS/PDF到PNG:

与上面命令基本相同,去掉-dEPSCrop即可。

利用以上EPS到透明背景PNG格式的转换,就可以充分利用LaTeX的功能,实现在Office文档中插高精度的数学公式了。若将公式生成、编号
插入等相关的操作录制成Office宏,则更加智能和方便,完全可以代替MathType。同时,将上述图片转换的过程在Emacs中自动化,则可以将生
成的图片插入到其他的程序中,这个功能实际上就可以代替苹果系统上的LaTeXit软件。

PDF转换为SVG

通过该项转换,则可以将生成的图片直接插入到Inkscape中。这里需要用到pstoedit,命令如下:

pstoedit -f
plot-svg -ssp file.pdf file.svg

其中的-ssp选项用于保证在生成的图片中,诸如a、b等字母中的空心部分不被黑色填充。

2 Ghostscript处理pdf文件

合并多个pdf文件

gs -dNOPAUSE -sDEVICE=pdfwrite
-sOUTPUTFILE=output.pdf -dBATCH input1.pdf input2.pdf ...

使用Ghostscript处理图片与pdf文件

时间: 2024-11-20 06:05:19

使用Ghostscript处理图片与pdf文件的相关文章

【转】pdf文件自动切白边

pdf文件自动剪裁(自动切白边) FROM:http://www.ai7.org/wp/html/754.html 可能用到的环境.工具:Ubuntu 10.04+TeXLive 2008+pdfcrop+CUPS打印驱动,用Windows的兄弟就不用看了,这些工具理论上在Windows下也有,但是还要另外装不少东西. 下面假设原文件(也就是打算切白边的文件)叫abc.pdf pdfcrop abc.pdf,默认会生成abc-crop.pdf文件,这个已经是切掉白边的了,要是你不嫌它大(或者它确

Ubuntu下命令行方式对PDF文件进行缩放、合并、拆分

安装软件: sudo aptitude install ghostscript 然后执行命令: gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -sOutputFile=new_file.pdf original_file.pdf PDFSETTINGS参数说明: /screen - 最低精度方式输出,因为屏幕展示所需的精度很低/ebook - 中等精度输出/printer

如何有效的对PDF文件进行加密保护

PDF是办公中保存资料数据文件不可或缺的一类电子文件工具软件,它的优势在于清晰的位图显示形式和良好的阅读体验,所以很多合同报告.电子书.技术文档.设计图纸等都越来越倾向这种存储方式.和普通的电子文档一样,如Word.Excel,PDF文件也存在信息安全泄漏风险,因此加密保护也是必不可少的.下面就来分享下如何对PDF进行权限设置和PDF文件加密操作. PDF格式的官方编辑器Adobe acrobat 软件为我们提供的口令加密包含"打开文档的口令"和"限制文档编辑打印口令&quo

javaWeb项目中如何实现在线查看pdf文件

最近有需求要实现在网页直接查看pdf,word,excel文件.但是实际当中并没有很好的开源插件供我们使用,确实有一些付费的插件不错,也很好用,但是对于我来说都不适合. 现在只是单纯的找到了围魏救赵的方法. 就是先实现显示pdf文件,其他文件用别的方式去转成pdf.虽然这个方法确实不好,但是也是没有办法的办法了,如果以后能有更好的,那就再发布别的吧. 这里我就直接介绍pdf的显示方法. 直接上干货. 首先在E:\tomcat8\webapps这个目录下面拷贝下面这个文件 http://yunpa

利用 ICEpdf 快速实现 pdf 文件预览功能

之前工作中,需要实现一个在线预览pdf的功能,一开始用的的 jQuery-media 插件来实现的,后来感觉有点慢,就继续寻找更好的替代品,直到遇见了 ICE pdf... ICEpdf (官网:http://www.icesoft.org/java/home.jsf) 原理是基于 Java SE 中的 Swing 实现的 (谁说 Swing 没有用武之地了...) ,将一个 PDF 文件作为一个 Document 对象,调用封装的方法,将该文件的每一页生成一张图片! 关键代码如下: publi

java代码编辑器 pdf文件预览 主流SSM 代码生成器 shrio redis websocket即时通讯

A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块 C 集成阿里巴巴数据库连接池druid  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势 D 集成安全权限框架shiro   Shiro 是一个用 Jav

CAD批量转PDF文件什么软甲比较好

DWG.DXF等图纸格式都是我们常用的CAD图纸文件,因为这些文件打开需要借助专业的CAD软件进行打开,因此为了方便我们给客户进行查看,通过情况下会选择将CAD转换成更易查看保存的PDF文件,那么如何将CAD批量转换成PDF文件?CAD批量转PDF文件用什么软件? 一.CAD批量转PDF文件用什么软件 想要将批量的CAD图纸转换成PDF文件,那么可以选择使用CAD转PDF转换器(http://cad.xjpdf.com),这款软件支持 DWG.DXF.DWT等常用的图纸格式,利用这款软件可以轻松

如何可以将PDF文件在线翻译成中文?

有时心血来潮,会在网上搜索一些专业的影评.杂志等资料,像这些资料格式PDF的多一些,而且有时还会看到纯英文版的,这样想利用起来,就必须要使用一些工具的帮助,就可以轻松的完成翻译的任务,让我们使用起来更轻松.不用下载,直接在网页上面就可以完成,非常的方便,一起来学习一下吧.     在线PDF翻译,可以直接把PDF.Word翻译成中文.英文.繁体中文等多国语言的文档.用户可自定义目标语言,翻译后的文档可以精确保留原文件的所有页面元素和排版.用户可以在短时间之内下载到转换之后的文件.只要用户可以连接

一键解决pdf文件太大如何变小的难题

PDF文件是适用于文件下发,阅读等便捷的电子文件格式,在传输发送的过程中,我们PDF文件较大的情况下,就需要将PDF文件压缩,那么PDF文件太大如何变小呢?对于PDF文件压缩不是太了解的用户可能就想不到好的办法解决,本文将教大家一键解决pdf文件太大如何变小的难题. 1.首先,我们需要了解的是PDF文件进行压缩,我们这里是需要借助到一款叫作迅捷PDF转换器的软件,所以,现在需要做的就是打开浏览器,在电脑上下载安装.软件下载:pdf压缩器http://www.newasp.net/soft/213