CAD打印有時候需要用pdf輸出虛擬打印文件,這個文件可以使用pdf閱讀器直接打開,也可以直接發送第三方,對方沒有CAD軟件也可以打開看圖。但可能有人發現,出現文字缺少的情況,比如下面圖紙。
打印效果和預覽效果對比
打印完PDF后,我首先看哪些文字是打印出來的,哪些文字是沒有打印出來的,然后我在圖中分別選中了一個可以打印和一個不能打印的文字,打開屬性框(CTRL+1)。我們來看看他們有哪些共同屬性,哪些不同的屬性,如下圖所示。
從屬性框中可以看出兩個文字是單行文字,圖層相同,文字樣式相同,只是寬度因子不同。其實從圖面上也可以看出來文字的寬度不同,而且一個邊界比較平滑,一個則能看到一些鋸齒。
為了看到比屬性框更多的信息,我輸入LI(LIST)命令,進一步查看一下這兩個文字的參數,如下圖所示。
從這里可以看到兩個文字的寬度因子分別是1和0.9,可以打印出來的是0.9,我嘗試將寬度因子為1的寬度因子改為0.9,這些字就能打印出來了。但我感覺這應該不是問題根源所在,而且也想不通為什么0.9就能打印出來,而1就打印不出來呢!
在上圖中我還注意到一個細節,就是這個文字樣式的字體是simplex.shx,這只是一個小字體,沒有大字體,而圖中那些文字是單行文字,漢字是怎么顯示出來的呢?我決定看看文字樣式的設置,輸入ST,打開文字樣式對話框,發現這個文字樣式真的很奇怪,如下圖所示。
這個文字樣式設置的字體明明是一個小字體(simplext.shx),但“使用大字體”勾選框是灰的,而且右側“字體樣式”下拉列表被激活了,這只有使用系統字體,如宋體等TTF字體時才會這樣。我們可以試一下,在字體名列表中選一種其他的SHX文件,然后在選回simplex.shx,你會發現文字樣式對話框變了,如下圖所示。
如果點“應用”按鈕使用這種設置并關閉文字樣式對話框,然后輸入RE命令重生成圖形,你會發現剛才那些漢字都變成了問號,這才是這種文字樣式設置的正常狀態,如下圖所示。
顯然這張圖的文字樣式的數據有錯誤,問題應該就出在這兒。我將文字樣式修改成能顯示漢字的字體,例如直接在字體列表里選擇“新宋體”,或者勾選“使用大字體”后,大字體選擇hztxt.shx,然后再打印,就完全正常了,所有文字都可以正常打印了。
雖然這個問題解決了,這個里面還是有兩個疑問:
1、為什么文字樣式會變成這樣?
2、為什么之前寬度因子為0.9的可以打印出來,而寬度因子為1的卻打印不出來?
對于問題1我也無法解釋得很清楚,從這位朋友的說明和文字樣式的名稱來開,這張圖是其他二次開發建筑繪制的圖紙,然后進行了轉換,可能在版本轉換文件時數據轉換導致了這種錯誤,也可能是其他原因。我嘗試修復打開此圖紙,修復了圖中的一些其他錯誤,但文字樣式的錯誤依舊,還只能手動修改。
至于問題2我通過驗證確認了我的猜測。CAD在打印輸出PDF時,如果文字使用的是操作系統的TTF字體,而且寬度因子是1,就會保留原有的字體和文字,在PDF文件中我們可以選中這些文字,而寬度因子不是1的,在輸出PDF的時候則會轉換為圖形,再PDF中無法選中,如下圖所示。
我想CAD輸出PDF的流程可能是這樣的:在輸出成PDF文件時,寬度因子不是1的文字CAD先按錯誤的文字樣式生成了圖形數據寫入了PDF文件,而寬度因子是1的文字則將文字內容和字體寫入了PDF文件,而寫入的字體是simplex.shx,PDF查看器中根本不可能找到這樣的字體,因此就不能顯示,或者PDF因為不識別字體就根本沒生成這些文字的數據。而打印預覽跟圖形窗口顯示的流程類似,能顯示的文字在打印預覽中都能看到。
上面這個文章說明,這類問題還是需要特殊圖紙具體分析。關于CAD打印很多問題都是需要相關圖紙的,具體發現里面設置和問題。
2023-09-03
2023-03-23
2023-03-17
2022-10-14
2022-07-11
2022-07-04
2022-05-12
2022-05-07
2022-03-17
2022-02-11
2022-01-12
2021-05-14