当前位置: > 使用技巧 > 将PDF中的SHX字体通过AutoCAD转换为可读取的多文本

将PDF中的SHX字体通过AutoCAD转换为可读取的多文本

SHX字体转换为MTEXT发布时间2020-09-07所属栏目使用技巧浏览次数

在最近的一篇文章里,我们一起探讨了将基于矢量的PDF文件导入AutoCAD的操作方法。但在这样的一个操作过程中有时会遇到一些问题。

TrueType字体可以很好地导入,但PDF中的SHX字体不能被很好的导入,它们会作为单独的折线段进入。 如果你遇到这种情况,则需要执行第二步,将“视觉逼真度”版本转换为真实字体。

在PDF输入命令旁边你可以轻松的找到所需命令(在插入选项的输入面板下,也可以在命令行中输入命令“_pdfimport”),你可以从其中任何一个开始操作,也可以从命令“Recognize”中进入设置。如图1所示

图1、AutoCAD中识别SHX文字命令

这里我们将从“Recognize”命令开始,该命令也可以在命令行中直接键入“PDFSHXTEXT”的形式使用。系统将提示你选择对象,但你也可以从命令行、动态输入工具或右键单击弹出的快捷菜单中来调用“PDF文字识别设置”对话框。

“PDF文字识别设置”对话框详解

“PDF文字识别设置”对话框看上去功能很是复杂,但其实并非如此,我们只需着重注意“要进行比较的SHX字体区域”就行了,现在,如果你确定了要搜索的字体,就可以轻松完成工作。例如,如果办公室中需要使用公司标准的Simplex的工程图。仅在本区域中勾选上“ Simplex”就行了。如图2所示

图2、autocad2021“PDF文字识别设置”对话框

如果还不确定使用的是哪种字体,或者不确定是否使用了混合字体,请选择要比较的字体。最后,如果你不知道要搜索的内容,则可以选中“使用最佳匹配字体”复选框,然后程序会执行此操作。

从该对话框中,你可能还会注意到,灯泡图标的警告信息“仅选择列表中与要转换的几何图形最匹配的字体”,这是告诉我们这里是最重要的设置部分。 如果你要查找的字体不在框中,请使用“添加”按钮。同样,排列顺序很重要。 在此示例中,该工具将首先搜索Simplex,然后搜索Romans,Txt,最后是Isocp。比较区域面板右侧有一些按钮,可让你对列表进行重新排序。

另外,还有一个滑块可以调整“识别阈值”,但是我建议将其设置为默认值95,以获得最佳性能。 与往常一样,文档的信息通过都会有所不同,因此,如果需要节省性能,请放低识别阀值。

最后就是字体预览区域了,它可以让你看到比较区域面板中突出显示的字体。你可能需要输入图纸中的一些示例文本以查看其比较的方式。

在进行了必要的识别设置后,请单击“确定”关闭对话框,然后可以继续选择文本。请记住以下几点:避免缩放范围,并且不能在整个图纸上使用拖动式交叉选择框来选择。

需要操作的是放大一个区域并选择较小的“文本”组。从某种意义上说,此工具很像人类的工作方式,因为如果你放大并可以详细查看字体,则更容易识别字体,而不是从远处看到彩色像素点。虽然它将使过程变得更加繁琐,但是这将帮助快速开发工作流程,最后,你将获得更好的结果。

因此,一旦在选择了对象并按下Enter键后,该工具将进行比较和转换,然后提示你有关其操作的一些信息。请花些时间阅读它。如果它在某些方面处理失败了,这时我们将需要知道的,并且正如我已经说过的那样,你始终是无法知道你所看到的是字体,还是一堆伪装成文本的线段。

需要我们更进一步考虑的东西

操作之后你很有可能会发现自己需要将新转换的多行文本转换为一个Mtext对象。为此,你将需要在“输入”面板中找到名为“合并文字”的工具并使用它。如图3所示

图3、全并多文本工具

只需只需选择各个文本对象,此工具便会将其转换为一个Mtext对象。

最后的总结

希望本文和上一篇有关如何导入PDF的文章使你在下次需要将基于矢量的PDF转换为AutoCAD几何时考虑使用“ PDF导入”工具。 如果你这样做了,并且处理的文档中涉及到了SHX字体,那么你现在就会知道如何处理,并将其创建出折线的表示方法了。

PDF中的变量太多,有时结果并不完美。 但是,如果你了解其中局限性并找到解决方法,相信处理后的最终结果会更好。 无论如何,这比在PDF参考底图上重新创建整个图纸要好得多。

延伸阅读

PDFSHXTEXT(命令),用于关庄镇从 PDF 文件中输入的 SHX 几何图形转换为单个多行文字对象。

PDF 格式存储使用 TrueType 字体的文字,但 PDF 不支持使用 AutoCAD SHX 字体的文字。而使用 SHX 字体的文字对象将以几何对象的形式存储在 PDF 中,从而维持视觉保真度。

在输入包含 SHX 几何图形的 PDF 文件时,可将 PDFSHXTEXT 用作后期处理工具,以便将所选几何图形转换为位于一行的多行文字对象。

相关文章