提交IEEE EDAS文章時出現:“The paper PDF file cannot be accepted: Publishers require that PDF fonts are embedded so that documents can be printed everywhere; one or more of your document fonts are not embedded. See EDAS FAQ.” 的解決辦法。
1.用acrobat打開不滿足要求的pdf文檔
2.菜單"編輯->首選項",選擇"轉換為pdf"
3.在中間的框里,選擇Word或PostScript/EPS或其它,只要右側是灰的,並且"編輯選項"按鈕可點就行
4.點"編輯選項"按鈕,然后編輯Adobe PDF設置(點"編輯"按鈕)
5.在最左邊點擊"字體",把右邊的從不嵌入框中的都刪掉,把上面子集化...前面的勾勾去掉,然后另存為,取個名字。
6.打印,選擇Adobe PDF打印機,在屬性中選擇剛剛保存的設置,再打印就大功告成了!!
(比如,我的設置為EDASsetting.joboptions)以后,只需直接選擇EDASsetting.joboptions即可,配置文件在C:\Documents and Settings\Administrator\Application Data\Adobe\Adobe PDF\Settings文件夾以及D:\Program Files\Adobe\Acrobat 8.0\Acrobat\Settings文件夾下可找到:EDASsetting.joboptions
下面是一個更簡單的方法:
2.打印,選擇Adobe PDF打印機,
3.點擊屬性,Adobe PDF 設置
4.點"編輯"按鈕
5.在最左邊點擊"字體"——“添加名稱”,然后輸入Helvetica,選擇總是嵌入列表,然后添加、完成。(出現問題一般都是Matlab,莫名其妙的默認字體Helvetica!)
6. 點擊確認,保存到和文件同一個文件夾下即可。
6. 最后打印,選擇Adobe PDF打印機,再打印就大功告成了!!
其它方法:
投 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文件就行了。下載地址:http://www.cutepdf.com/,不是很完美~~~~
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 -dNOPAUSE -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 -dNOPAUSE -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"
此方法參考http://hi.baidu.com/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里面設置一下字體目錄。
http://scl.xidian.edu.cn/scl_BBS/forum.php?mod=viewthread&tid=56