pdf文件打印出来后很多文字消失了该怎么办?

所属分类: 软件教程 / 办公软件 阅读数: 662
收藏 0 赞 0 分享

有位朋友在博客里问了我一个问题:遇到一问题,找了很久都没有找到问题所在,同一图层,同一颜色,同一文字样式的文字,打印成PDF时,打印预览显示全部文字,但确定,打印成PDF后,打开PDF,只显示部分字体,是什么地方出了问题?如下图所示。

一、分析原因并解决问题

1、光看描述我无法知道是什么原因,我怀疑是打印驱动或图的问题,就让这位朋友把图发给我。收到图后我在AutoCAD 2011版上用内置的dwg to pdf的驱动试了一下,确实如此,现象很容易就重现了,并且很快地找到了问题。这个问题也比较特殊,不知道其他人是否遇到过,估计不常见。之所以写下来,主要是想将我分析问题的思路跟大家分享一下,希望对大家有帮助。打印完PDF后,我首先看哪些文字是打印出来的,哪些文字是没有打印出来的,然后我在图中分别选中了一个可以打印和一个不能打印的文字,打开属性框(CTRL+1)。我们来看看他们有哪些共同属性,哪些不同的属性,如下图所示。

2、从属性框中可以看出两个文字是单行文字,图层相同,文字样式相同,只是宽度因子不同。其实从图面上也可以看出来文字的宽度不同,而且一个边界比较平滑,一个则能看到一些锯齿。 为了看到比属性框更多的信息,我输入LI(LIST)命令,进一步查看一下这两个文字的参数,如下图所示。

3、从这里可以看到两个文字的宽度因子分别是1和0.9,可以打印出来的是0.9,我尝试将宽度因子为1的宽度因子改为0.9,这些字就能打印出来了。但我感觉这应该不是问题根源所在,而且也想不通为什么0.9就能打印出来,而1就打印不出来呢!在上图中我还注意到一个细节,就是这个文字样式的字体是simplex。字体名后面没有带shx,说明用的是操作系统的字体simplex.ttf,而不是CAD字体simplex.shx。跟CAD的simplex.shx字体类似,simplex也只有单字体字符,不包含汉字,哪些汉字是如何显示出来的呢? 输入ST,打开文字样式对话框,发现这个文字样式真的很奇怪,如下图所示。

4、这个文字样式设置的字体是simplex,“使用大字体”勾选框是灰的,而且右侧“字体样式”下拉列表被激活了,说明使用的是系统字体。这个字体不包括中文,国内几乎不可能有人这么设置字体,而图中的中文只所以能显示,是CAD采取了自动替换的策略,应该被替换成了宋体显示了。我们选跟simplex类似的SHX字体试一下,就知道正常显示的时候是什么状态。在字体名列表中选一种其他的SHX文件,然后在选回simplex.shx,如下图所示。

5、如果点“应用”按钮使用这种设置并关闭文字样式对话框,然后输入RE命令重生成图形,你会发现刚才那些汉字都变成了问号,这才是这种文字样式设置下中文的正常状态,如下图所示。

6、显然这张图的文字样式的数据有错误,本身样式设置是无法显示中文的,但CAD的自动替换蒙蔽了我们,使我们想不到是文字样式的问题。我将文字样式修改成能显示汉字的字体,例如直接在字体列表里选择“新宋体”,或者勾选“使用大字体”后,大字体选择hztxt.shx,然后再打印,就完全正常了,所有文字都可以正常打印了。虽然这个问题解决了。

这个里面还是有两个疑问:

1)为什么文字样式会变成这样?

2)为什么之前宽度因子为0.9的可以打印出来,而宽度因子为1的却打印不出来?对于问题1我也无法解释得很清楚。从这位朋友的说明和文字样式的名称来看,这张图是天正建筑绘制的图纸,然后进行了转换,可能在天正高版本转天3文件时数据转换导致了这种错误,AutoCAD2007以后版本与之前版本格式之间相互转换也会出现文字样式的字体出现错误的问题,比如以前我见过字体设置为宋体被解析错导致汉字显示不正确的状况。

3)从来没见过国内在文字样式中用操作系统的simplex字体的,而且这张图中字体替换成宋体后很多文字都超出了表格边框,我猜测这张图原始的字体设置应该是simplex.shx加上一种大字体,在转存或转换的过程中,simplex.shx被写成simplex,后面的大字体自然就丢失了。这种文字样式虽然转错了,但对于CAD讲这种文字样式也是正确的,所以修复图纸也无法解决这个问题,必须手动解决。至于问题2我通过验证确认了我的猜测。CAD在打印输出PDF时,如果文字使用的是操作系统的TTF字体,而且宽度因子是1,就会保留原有的字体和文字,在PDF文件中我们可以选中这些文字,而宽度因子不是1的,在输出PDF的时候则会转换为图形,再PDF中无法选中,如下图所示。

7、我想CAD输出PDF的流程可能是这样的:在输出成PDF文件时,宽度因子不是1的文字CAD先按错误的文字样式生成了图形数据写入了PDF文件,而宽度因子是1的文字则将文字内容和字体写入了PDF文件,而写入的字体是simplex,PDF查看器中能找到这个字体,但这个字体中根本就没有汉字,因此那些正常宽度的汉字无法显示。而打印预览跟图形窗口显示的流程类似,能显示的文字在打印预览中都能看到。

二、将文字输出成图形

1、如果我们在输出成PDF后不需要对文字进行修改或其他处理,还有其他方法,就是将文字输出成图形。在打印对话框中单击特性按钮,打开绘图仪配置编辑器,在其中点自定义特性,打开PDF选项对话框,在右小角取消默认选项,勾选下面的将所有文字转换为图形。

总结:

1、PDF输出时会将设置了宽度比例的文字直接输出成图形;如果文字没有设置宽度比例,如果字体找不到,输出时会文字消失,如果是SHX字体,也会输出成图形,如果是操作系统的TTF文字,可以在PDF中保留文字。

2、如果文字样式有问题,建议还是修改文字样式,当然如果觉得修改文字样式麻烦,也可以在打印输出中直接设置将所有文字输出成图形。

3、通过上面的记录和分析,不仅希望能帮助遇到同类问题的朋友,也希望能给其他人一些启发,自己遇到问题能快速找到解决办法,避免在一个问题上耽误太多时间。

注意事项:

以上技巧适用于AUTOCAD和浩辰CAD等有内置PDF驱动的软件

相关推荐:

PDF文件怎么添加文字?

pdf倒置的文件怎么旋转并保存?

pdf怎么测量尺寸? pdf图纸测量尺寸的教程

更多精彩内容其他人还在看

提升输入的效率 Shortkeys自动替换

日常的工作和生活中离不开文件的输入,如果输入简短的文件后就会自动转换成较成的词句,那就可以很大程度地提升输入的效率,尤其是经常需要输入的邮箱或常用短语等。虽然可以用输入法来创建自定义词条,但长度上却有限制。其实我们还可以有其它的选择。 Shortkeys是一款字符
收藏 0 赞 0 分享

Excel 聊天 的实现方法

很多单位都组建了局域网,虽然有不少能在局域网上聊天的工具,但一来使用不方便,二来不安全(容易被老板发现)。为此,笔者建议大家用Excel来聊天。   ★第一步:打开Excel2003,新建一个工作簿文档,取名保存(如“工作记录.xls”)。   ★第二
收藏 0 赞 0 分享

Word 文档开启“一键粘贴”功能

剪贴键是Ctrl+X,复制键是Ctrl+C,粘贴键是Ctrl+V,从开始借助电脑开始,很多用户就先学会了这些。而这三个快捷键也是大家用的最多的。但在Office Word软件中,实际通过设置,可开启键盘“一键粘贴”功能,无需再使用组合键,同样可粘贴文字内容
收藏 0 赞 0 分享

Word 从第三页开始插入页码的方法原理

以前对如何在Word里从第三页开始插入页码,一直没有弄清楚今天终于明白了,现将其与大家分享:     1.光标移到第二页开头,点击“插入-分隔符-分节符类型-下一页-确定”。     2.光标移到第三页开头,重复步骤一。     3.光标移到第
收藏 0 赞 0 分享

Word 中巧妙插入EQ域代码

简谱,犹如一个个精灵,让我们离美妙的音乐更近,触动心灵。      不需要专门的简谱软件,不借助任何简谱字库,直接在Word中巧妙插入EQ域代码,就能让精灵马上现身!从单旋律到多声部的乐谱都可以制作,复制、修改非常方便,无论你是音乐爱好者,还是专业乐谱制作者,都
收藏 0 赞 0 分享

Word2007 图片裁剪的2种方法小结

在Word2007文档中,用户可以通过两种方对图片进行裁剪。一种方式是通过图片工具功能区格式选项卡大小分组中的裁剪工具进行图片裁剪;另一种方式则是在大小对话框中指定图片裁剪的尺寸. 在Word2007文档中,用户可以通过两种方对图片进行裁剪。一种方式是通过“图片工具&
收藏 0 赞 0 分享

Word 2003 文档错误录入文字的解决方法

日常我们使用Word 2003录入文档的时候,打出的材料经常有错误之处,校对之后还是难免有疏漏的地方,如何提高文档录入的正确率,减少甚至杜绝文档中的错误之处,请看笔者的几招。 日常我们使用Word 2003录入文档的时候,打出的材料经常有错误之处,校对之后还是难免有疏漏的地
收藏 0 赞 0 分享

比较完美的 Excel 工资条打印解决方法

  操作非常简便,需要生成工资条的时候,只要点插入表头就可以把第一行和第二行作为表头插入到每个人工资数据行的前面,打印完工资单点删除表头就可以去掉表头,恢复到上图的格式,便于存档。宏的代码很简洁,执行效率也很高,推荐使用。 xsl文件下载
收藏 0 赞 0 分享

办公族word简便使用方法

把文字替换成图片 首先把图片复制到 剪贴板中,然后打开替换对话框,在“查找内容”框中输入将被替换的文字,接着在“替换为”框中输入“^c”(注意:输入的一定要是半角字符,c要小写),单击替换 即可。说明:&
收藏 0 赞 0 分享

汇总Excel常用词语中英文对照

        激活 (activate)   数组 (array)   数组公式 (array formula)   相关联的数据透视表 (associated PivotTable report)
收藏 0 赞 0 分享
查看更多