在用edas向国际会议或期刊(如IEEE,ACM等)投稿的时候,往往要检查pdf稿件的格式,例如页边距、行距、字体等。经常碰到的一个问题就是字体未嵌入到文件中。因为大家一般用CTex里面的ps2pdf生成pdf文件,图片中的字往往会导致这个问题的出现。edas上提供了一些解决的方法。这里我给出一种很简单的解决方法:(强力推荐此方法)
1. 用acrobat打开不满足要求的pdf文档,进入文档阅读模式,(不是foxireader,
一定要是能够编辑pdf文档的软件,最好是acrobat);
2. 菜单"编辑->首选项",选择"转换为pdf";
3. 在中间的框里,选择Word或PostScript/EPS或其它,只要右侧是灰的,并且"
编辑选项"按钮可点就行;
4. 上面点击"编辑选项"按钮后出现下图,然后编辑Adobe PDF设置(点"编辑"按钮)
5. 点击“编辑”,出现下图,在最左边点击"字体",把右边的从不嵌入框中的都删掉,
把上面子集化...前面的勾勾去掉,然后另存为,取个名字。
6. 就差一点了,最后一步,打印。找到新建里的adobe PDF打印机,在属性中选择
刚刚保存的设置,再打印就大功告成了!!
点击打印机名称的下拉单,找到ADOBE PDF,在“Adobe PDF设置”的“默认设置”
中选择刚才保存的名字,就OK了。
点击确定
再一个确定,接下来你就知道了,新文档就打印出来了,一切都OK了,简单吧!
在上面的步骤5完成后,会在C:\Documents and Settings\Administrator\Application Data\目录下的相对路径里生成一个配置文件EDASsetting.joboptions(比如我的路径是:C:\Documents and Settings\Administrator\Application Data\Adobe\Adobe PDF\Settings,具体看你的pdf安装位置),如果你已经设置此选项,以后只需再打印的时候直接选择EDASsetting.joboptions即可,配置文件在C:\Documents and Settings\Administrator\Application Data\Adobe\Adobe PDF\Settings文件夹以及D:\Program Files\Adobe\Acrobat 8.0\Acrobat\Settings文件夹下可找到:EDASsetting.joboptions(前一个是系统自动放置的,后一个是我复制过去的)
其它方法:(比较复杂,不推荐,如果上面的方法不能解决问题,可以有尝试下面的方法)
投IEEE的会议论文时,有些会议要求一定要投pdf格式的文档,而且所有字体一定要embeded,所谓字体embeded就是把这种字体嵌入文档,那么以后即使这个文档在其他任何系统下打开,无论该系统有没有这个字体,都不会出现乱码,可移植性比较强,当然嵌入后文档体积会有所增大。
首先告诉大家如何看自己的pdf文档字体是否嵌入:在pdf格式的文件中,点“文件”-> “文档属性”-> “字体”,显示的就是你文档中用的所有字体了,每一个字体后面,如果注明了“embeded(已嵌入)”或“embeded subset(已嵌入子集)”,就说明是嵌入了,否则就要想办法。
出现问题一般都是Matlab,莫名其妙的默认字体Helvetica!没发现Matlab中哪个地方可以修改默认字体的,有知道的同志麻烦告知一下,不胜感激~
当然可以每次画图的时候都设置一下,这样就可以避免乱七八糟的字体!
set(gca,'FontSize',10, 'FontName','Arial')
xlabel('test','FontSize',10,'FontName','Arial')
ylabel('test','FontSize',10,'FontName','Arial')
legend('test','FontSize',10,'FontName','Arial')
title('test','FontSize',13,'FontName','Times New Roman')
如果图已经画好,那么可以用以下方法解决,个人推荐第三个
解决办法
1.简单的方法,下载Cutepdf
虚拟pdf打印机,将生成的pdf用此打印机重新输出为pdf文件就行了。下载地址:https://www.doczj.com/doc/4b15916624.html,/,不是很完美~~~~
2.另一个简单的方法,先生成ps文件,然后在命令行输入(推荐):
gswin32c -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dCOMPatibilityLevel=1.4 -dMaxSubsetPct=100
-dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=yourfile.pdf yourfile.ps
生成的pdf文件就全部都能embed了,哈哈
3. 彻底的方法(推荐)
针对dvi2pdf的生成方式,提供一种彻底的解决方法,在生成的过程中将所有字体嵌入pdf中。
这样生成的pdf直接就OK。
编辑下面这个配置文件
~~~~CTEX\MiKTeX\dvipdfm\config\dvipdfmx.cfg
将下面这段替换
%% GhostScript (MiKTeX):
D "mgs -q -dNOPAUS
E -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite
-dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode
-dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode
-dUseFlateCompression=true -sOutputFile=%o %i -c quit"
原来MiKTeX使用了一个叫mgs的命令完成这一步的,它的参数几乎和gs一样,添加相应的参数变成下面的这句话,就可以将达到嵌入所有字体的效果了。
D "mgs.exe -sPAPERSIZE=a4 -dSAFER -dBATCH -dNOPAUS
E -sDEVICE=pdfwrite
-dPDFSETTINGS=/printer -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -dCompatibilityLevel=1.4 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode
-dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode
-dUseFlateCompression=true -sOutputFile=\"%o\" \"%i\" -c quit"
此方法参考https://www.doczj.com/doc/4b15916624.html,/heishuihe2008/blog/item/9b20edcdb3faf3590eb34532.html
如果用ps2pdf,也请参考上述连接。
4.比较BT的方法:
直接编辑eps文件,将eps文件中的
%%IncludeResource: font Helvetica
/Helvetica /WindowsLatin1Encoding 120 FMSR
第二行改为
/ArialMT /WindowsLatin1Encoding 120 FMSR
还有一些其他方法,我没有试过,记录于此方便大家(这些方法太麻烦):
1、如果是用word文档转pdf,推荐使用adobe acrobat的打印机功能,在打印机属性里面,点“编辑”(就在“默认设置”的右边),进去后找到“字体”,然后这里有一个“嵌入所有字体”,记得要打钩,然后把下面的“never embeded”的字体全部清除,再把左边的所有字体都加入到“always embeded”里面,再打印成pdf,就能嵌入所有的字体了。(注:如果是系统没有安装的字体,必须先安装才可以)
2、如果是用LaTeX写的,我发现LaTeX会自动嵌入所有字体,唯独Helvetica字体不行,我现在采用的解决方法是先tex文件-> dvi文件,然后dvi文件-> ps文件,最后再用adobe distiller把ps文件转成pdf文件,就能全部嵌入了,如果发现有的字体没有找到,需要在distiller里面设置一下字体目录。