EDAS字體嵌入問題解決方法


提交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.” 的解決辦法。

在用edas向國際會議投稿的時候,往往要檢查pdf稿件的格式,例如頁邊距、行距、字體等。經常碰到的一個問題就是字體未嵌入到文件中。因為大家一般用CTex里面的ps2pdf生成pdf文件,圖片中的字往往會導致這個問題的出現。edas上提供了一些解決的方法。這里我給出一種很簡單的解決方法(推薦使用這種方法):
       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

下面是一個更簡單的方法:

 

      
       1.用acrobat打開不滿足要求的pdf文檔

       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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM