显然这张图的文字样式的数据有错误,问题应该就出在这儿。我将文字样式修改成能显示汉字的字体,例如直接在字体列表里选择“新宋体”,或者勾选“使用大字体”后,大字体选择hztxt.shx,然后再打印,就完全正常了,所有文字都可以正常打印了。 虽然这个问题解决了,这个里面还是有两个疑问:1、为什么文字样式会变成这样?2、为什么之前宽度因子为0.9的可以打印出来,而宽度因子为1的却打印不出来? 对于问题1我也无法解释得很清楚,从这位朋友的说明和文字样式的名称来开,这张图是天正建筑绘制的图纸,然后进行了转换,可能在天正高版本转天3文件时数据转换导致了这种错误,也可能是其他原因。我尝试修复打开此图纸,修复了图中的一些其他错误,但文字样式的错误依旧,还只能手动修改。 至于问题2我通过验证确认了我的猜测。CAD在打印输出PDF时,如果文字使用的是操作系统的TTF字体,而且宽度因子是1,就会保留原有的字体和文字,在PDF文件中我们可以选中这些文字,而宽度因子不是1的,在输出PDF的时候则会转换为图形,再PDF中无法选中,如下图所示。
我想CAD输出PDF的流程可能是这样的:在输出成PDF文件时,宽度因子不是1的文字CAD先按错误的文字样式生成了图形数据写入了PDF文件,而宽度因子是1的文字则将文字内容和字体写入了PDF文件,而写入的字体是simplex.shx,PDF查看器中根本不可能找到这样的字体,因此就不能显示,或者PDF因为不识别字体就根本没生成这些文字的数据。而打印预览跟图形窗口显示的流程类似,能显示的文字在打印预览中都能看到。 通过上面的记录和分析,不仅希望能帮助遇到同类问题的朋友,也希望能给其他人一些启发,自己遇到问题能快速找到解决办法,避免在一个问题上耽误太多时间。