PDF文件转曲你知道吗?

335 阅读3分钟

最近项目调研PDF文件处理,当中有一些需求,相信大家可能在实际的PDF开发过程中可能遇到,希望会对大家有所帮助。

PDF格式文件的功能很多,可以用来阅读,编辑,也可以进行印刷,其中朋友们最熟悉的是PDF文件的阅读功能,因为在日常的工作和学习中使用最多的是PDF文件的阅读功能,其次是PDF文件的编辑功能,这个功能可能学生党用的更多一点,而对于PDF文件的印刷,肯定很多朋友都不是太了解,PDF文件的印刷一定要进行转曲后才能进行,要不然就会失去源文件的面貌,那么,什么是转曲,PDF如何转曲呢? 

什么是转曲?

转曲(Create outlines 创建轮廓),指的是将对象特有的属性去除,转换成能任意造型或识别的普通对象,可以提高文件的共通性,转曲是印刷设计的重要概念,如果从一台电脑转到另一台电脑,字体一定要转曲(包括CDR文件,一种基于矢量输出文件)。如果对方电脑中没有pdf文件中所使用的字体,这时对方打开pdf文件看到的字可能会变化,对印刷会造成一定的损失。

经过一段时间的调研之后,发现之前介绍的Ghostscript可以实现这个功能,其实操作也很简单,下面给大家介绍一下;

Ghostscript是一种广泛使用的PDF和PostScript文件处理引擎,可以将PostScript文件转换为PDF文件,也可以将PDF文件转换为PostScript文件。在处理PostScript文件时,有时会遇到缺少字体的情况,这时可以使用Ghostscript的nofonts命令来处理。下面我们来介绍一下nofonts命令的特点和使用方法。

 特点:

  1. 自动替换:nofonts命令可以自动替换PostScript文件中缺少的字体,以确保输出文件的正确性。

  2. 简单易用:nofonts命令可以通过命令行选项进行配置和定制,以满足不同的需求。

  3. 免费:nofonts命令是Ghostscript的一部分,可以免费下载和使用。

 使用方法:

  1. 安装Ghostscript

在大多数Linux发行版中,可以使用包管理器安装Ghostscript。例如,在Ubuntu中,可以使用以下命令安装Ghostscript:

sudo apt-get install ghostscript

如果您使用的是其他Linux发行版,请使用相应的包管理器来安装Ghostscript。

 2. 使用nofonts命令

要使用nofonts命令,可以在命令行中添加以下选项:

-dNOFONT

例如,要将PostScript文件input.ps转换为PDF文件output.pdf,并使用nofonts命令处理缺少的字体,可以使用以下命令:

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=output.pdf -dBATCH -dNOFONT input.ps

在这个例子中,我们使用-dNOPAUSE选项告诉Ghostscript在每个页面之间暂停,-sDEVICE选项指定输出设备为pdfwrite,-sOUTPUTFILE选项指定输出文件名为output.pdf,-dBATCH选项告诉Ghostscript在处理完所有页面后退出,-dNOFONT选项告诉Ghostscript使用nofonts命令处理缺少的字体。

 3. 自定义字体替换

如果您想自定义字体替换,可以使用以下命令:

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=output.pdf -dBATCH -dNOFONT -c ".setpdfwrite <</NeverEmbed [ ]>> setdistillerparams" -f input.ps

在这个例子中,我们使用-c选项添加一条PostScript命令来自定义字体替换。这个命令告诉Ghostscript不要嵌入任何字体,而是使用默认字体替换缺少的字体。

 总之,nofonts命令是Ghostscript的一个有用功能,可以自动替换PostScript文件中缺少的字体,以确保输出文件的正确性。同时,nofonts命令也可以通过命令行选项进行配置和定制,以满足不同的需求。