DWG转PDF字体研究记录

1.前言

       最近需要对PDF中的符合业务规则的文字进行提取,发现有些文字不是文字信息形式存储,而是polyline形式表达,意味着仅仅有形体上的表达,丢失了原本的文字信息。

经过沟通得知,这些PDF是AutoCAD软件导出的,拿到原始dwg文件进行了测试和研究。

2.记录

AutoCAD、ODA等软件中导出PDF时都支持是否将文字处理为几何导出,如下图,其中ODA的设置要更丰富些,包括TrueType字体、SHX字体的导出设置。

其他PDF相关软件工具也针对字体有不同的处理措施。

为什么关于DWG <——>PDF之间的互转关于字体话题有这么丰富的内容呢?究其原因是DWG中为了支持更丰富的字体样式(包括建筑行业中的专业符号等,如钢筋符号)表达引入了SHX字体,而PDF不支持SHX类型字体,因此一些软件、工具在处理DWG和PDF的互通时就有n多的补偿措施,且这些补偿措施是不统一的,也就产生了信息损失情况下的互转质量高低的感官,但无论如何都可能会有信息损失。

{
"呼吁": "PDF何时能支持SHX字体类型?或有其他让DWG、PDF无损互转的方案吗?"
}

下面我们一起来扒一扒各软件工具关于此议题的(补偿)处理措施。 

2.1 AutoCAD

2.1.1 导出PDF

nullicon-default.png?t=N7T8https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/How-to-create-selectable-and-searchable-text-in-a-PDF-from-AutoCAD.htmlHelpicon-default.png?t=N7T8https://help.autodesk.com/view/ACD/2022/ENU/?guid=GUID-EC9C6D47-814E-476D-840F-04104CF72B78

https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/How-to-create-selectable-and-searchable-text-in-a-PDF-from-AutoCAD.html 

2016版以前会将shx字体导出为光栅化的图片,2016及以后版本支持导出为矢量(polyline)+PDF注释信息,注意导出为PDF注释信息是补偿措施,因为只有几何上的形体显然不能满足某些场景的需求(比如提取文字内容)。

当然也有一些其他工具支持DWG导出为PDF,且对shx文字有对应处理。

2.1.2 导入PDF 

 https://help.autodesk.com/view/ACD/2022/ENU/?guid=GUID-1202CC8A-364F-4E93-8E86-6F476CD83C72


autocad说明里面值保留TRUE TYPE FONT,但是不可能让用户使用ttf字体的,偏离了目的,图纸字体效果就变了。

同时提供了工具命令(PDFSHXTEXT)以支持用户将指定的,原始为shx字体的几何“拟合”还原为文字,同样,这是对于PDF涉及到SHX字体的补偿措施。

2.2 ODA

2.2.1 导出PDF

ODA支持是否SHX字体导出为geometry选项,

  1. 如果勾选时导出为polyline或者三角面;
  2. 如果不勾选应该是将dwg中的shx字体统一替换为TTF(True Type Font)字体,然后导出,这样就有了完整的字体信息,代价是shx字体文字形体上发生了变化。 

 

2.2.2 导入PDF 

同样提供了丰富的“补偿措施”以提高信息保真程度,在流畅性等需求的平衡中。

 ODA Drawings SDKicon-default.png?t=N7T8https://docs.intellicad.org/files/oda/2021_11/oda_drawings_docs/frames.html?frmname=topic&frmfile=Importing_from_a_PDF_file.html

2.3 Adobe

据称,Adobe有一款杰出的转换工具,嗯,不妨试一试。

尝试安装了下,有试用时间,但在尝试将dwg转为pdf功能时失败了,给出的的提示是在windows系统上无法使用此功能。。。

这是adobe关于字体的说明。 

https://helpx.adobe.com/my_en/acrobat/using/pdf-fonts.html

2.4 其他

blue beam:

Raster, Vector and Text - What's Really in My PDF?How to determine whether your PDF is raster- or vector-based, and how this affects the ability to snap to an object or select text. Relevant Products for Windows and Revu for Mac You're unable to snap to an object when taking measurements. You cannot select or search for text. Why does this happen? The reason both of these occur is that PDFs aren't all created in the same way. Some PDFs contain more information than others, even though they seem indistinguishable at first. The page may appear to contain lines and characters, but the underlying elements that represent them in the PDF may not be vector lines and text elements, which are needed to snap to content and search and select text. Raster vs. Vector Content Let's look at the difference between raster and vector content in a PDF. Raster PDF Vector PDF A raster image is created from a series of square dots called pixels. One example of a raster PDF is a file created from scanning a paper. A scanned PDF is createdicon-default.png?t=N7T8https://support.bluebeam.com/articles/raster-vector-and-text-whats-really-in-my-pdf/

aspose:

Text missing in generated PDF from DWG - Free Support Forum - aspose.comI convert a dwg file to pdf , but some texts(shx font) do not display(blank) then i try to call ‘setPrimaryFontName’ method but useless; so do you support display shx font text? thank you. i attached the dwg file and…icon-default.png?t=N7T8https://forum.aspose.com/t/text-missing-in-generated-pdf-from-dwg/201211

4 Ways to Convert DWG to PDF With/Without AutoCAD (Free Incl.):

4 Ways to Convert DWG to PDF With/Without AutoCAD (Free Incl.)In this article, you can receive 4 easy and workable ways to convert DWG to PDF, whether you have or haven’t AutoCAD on your computer.icon-default.png?t=N7T8https://www.cisdem.com/resource/convert-dwg-to-pdf.html

3.写在后面

这也和提升dwg字体相关显示效率议题相关。

有意思的是老外将中文、日文和朝鲜文等成为亚洲文字( Asian Font),单独作为文字领域的一个范畴来研究处理 。

"PDF何时能支持SHX字体类型?或有其他让DWG、PDF无损互转的方案吗?"

在当前的情况下结合各软件及提供的各种设置,尝试去寻找适合对应业务场景的方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/728728.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringMvc—域对象共享数据和视图

一、向request域创建对象 先创建首页&#xff1a; 在testController这个类中&#xff1a; package com.pon.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; Controller public class test…

BirdTalk IM集群中消息流转策略讨论

BirdTalk IM集群中消息流转策略讨论 目前群聊的存储策略是1写多读方案&#xff1b;每个群组一个队列&#xff0c;按时间顺序排列&#xff0c;不区分用户&#xff1b; 私聊的存储是写扩散的&#xff0c;每个人都有自己的消息队列&#xff0c;按时间顺序 保存所有的消息&#x…

贴图大师(Model Painter) 下载使用

贴图大师(Model Painter)是一款是一款专业的纹理贴图工具&#xff0c;支持激光扫描的数据模型和通过摄影测量建模的模型&#xff0c;功能强大&#xff0c;操作简单。 贴图大师是一款专门解决三维建模数字化中纹理编辑和优化的软件工具。贴图大师的输入模型可以支持激光扫描的数…

HarmonyOS角落里的知识:一杯冰美式的时间 -- 之打字机

一、前言 模拟编辑器或者模拟输入框中文字啪啦啪啦输入的效果&#xff0c;往往能够吸引人们的眼球&#xff0c;让用户的注意力聚焦在输入的内容上&#xff0c;本文将和大家探讨打字机效果的实现方式以及应用。Demo基于API12。 二、思路 拆分开来很简单&#xff0c;将字符串拆…

SAP PP学习笔记23 - 生产订单(制造指图)的元素2 - 决济规则(结算规则)

上一章讲了生产订单&#xff08;制造指图&#xff09;画面的基本元素。 SAP PP学习笔记22 - 生产订单&#xff08;制造指图&#xff09;的元素1-CSDN博客 本章继续讲生产订单上面的其他元素。 1&#xff0c;Settlement rule&#xff08;决济规则(结算规则)&#xff09;概要 M…

2024-6-20 Windows AndroidStudio SDK(首次加载)基础配置,SDK选项无法勾选,以及下载失败的一些解决方法

2024-6-20 Windows AndroidStudio SDK(首次加载)基础配置,SDK选项无法勾选,以及下载失败的一些解决方法 注意:仅仅是SDK这种刚安装时的配置的下载,不要和开源库的镜像源扯到一起&#xff01;&#xff01;&#xff01;&#xff01; 最近想玩AndroidStudio的JNI开发, 想着安装后…

02_02_SpringMVC基于注解的应用

一、请求处理 1、常用注解 RequestMapping 作用&#xff1a;用来匹配客户端发送的请求&#xff08;用来处理URL映射&#xff0c;将请求映射到处理方法中&#xff09;&#xff0c;可以在类或者方法上使用。 用在类上&#xff0c;可以将请求模块化&#xff0c;避免请求方法中的…

Linux命令的进程关系

一、shell简述 shell是一个命令行解释器工具&#xff0c;它是一个时刻都在运行的程序&#xff0c;当我们在命令行输入命令&#xff0c;shell会去解释执行这个命令。 shell这个工具不止一种&#xff0c;我们使用Linux系统的时候&#xff0c;默认启动的shell 是/etc/passwd 这个…

超级好用的JSON格式化可视化在线工具

JSON是开发非常常用的一种报文格式&#xff0c;最常见的需求就是将JSON进行格式化&#xff0c;最好是有图形化界面显示结构关系&#xff0c;以便进行数据分析。 理想的在线JSON工具&#xff0c;应该支持快速格式化、可压缩、快捷复制、可下载导出&#xff0c;对存在语法错误的地…

【五】【QT开发应用】C++中lambda表达式,值捕获,引用捕获,隐式捕获,lambda表达式的返回类型

Lambda表达式 复盘 Lambda表达式 Lambda 表达式是 C11 引入的一种特性&#xff0c;用于定义匿名函数。它使得可以在代码中方便地定义和使用小段函数&#xff0c;而无需专门定义一个命名的函数。这在需要传递函数作为参数或者需要定义内联函数时非常有用。 基本语法 基本语法…

Apple - Core Text Programming Guide

本文翻译整理自&#xff1a;Core Text Programming Guide&#xff08;Updated: 2014-09-17 https://developer.apple.com/library/archive/documentation/StringsTextFonts/Conceptual/CoreText_Programming/Introduction/Introduction.html#//apple_ref/doc/uid/TP40005533 文…

docker将容器打包提交为镜像,再打包成tar包

将容器打包成镜像可以通过以下步骤来实现。这里以 Docker 为例&#xff0c;假设你已经安装了 Docker 并且有一个正在运行的容器。 1. 找到正在运行的容器 首先&#xff0c;你需要找到你想要打包成镜像的容器的 ID 或者名字。可以使用以下命令查看所有正在运行的容器&#xff…

高速异地组网怎么办理?

在当今信息化时代&#xff0c;跨地域的远程办公、远程教育、远程医疗等需求越来越多。而高速异地组网作为一种解决不同地区之间快速组建局域网的方法&#xff0c;被广泛应用。本文将介绍一款异地组网内网穿透产品——【天联】&#xff0c;并提供其办理流程。 【天联】组网是什…

【系统设计】如何权衡范式与反范式设计

一、什么是范式设计与反范式设计 1.1、范式设计&#xff08;Normalization&#xff09; 定义&#xff1a; 范式设计是数据库设计中最基础的设计原则之一&#xff0c;它主要通过规范化数据模型&#xff0c;减少数据冗余和数据不一致的问题。 常用的范式&#xff1a; 第一范式…

Android Studio main,xml 视图代码转换

Android Studio main,xml 视图&&代码转换 其实很简单,但是对我们小白来说还是比较蒙的。 废话不多说,直接上图。 我的Android Studio 是 4.0 版的 我刚打开是这个界面,在我想学习如何用代码来布局,可能大家也会找不见代码的位置。 follow me 是不是感觉很简单呢。…

基于DE2-115平台的VGA显示实验

一.任务需求 深入了解VGA协议&#xff0c;理解不同显示模式下的VGA控制时序参数&#xff08;行频、场频、水平/垂直同步时钟周期、显示后沿/前沿等概念和计算方式&#xff09;&#xff1b;通过Verilog编程&#xff0c;在至少2种显示模式下&#xff08;64048060Hz,102476875Hz&…

Day14——Python文本挖掘数据分析

文章目录 竞争分析-品类分布-适用对象竞争分析-产品结构-拜耳在这里插入图片描述竞争分析-产品结构-拜耳-BCG图竞争分析-产品结构-拜耳-明星竞争分析-产品结构-拜耳-奶牛竞争分析-产品结构-拜耳-问题竞争分析-产品结构-安速-BCG图竞争分析-产品结构-安速-明星竞争分析-产品结构…

vue3项目使用Electron打包成exe的方法与打包报错解决

将vue3项目打包成exe文件方法 一、安装 1.安装electron npm install electron --save-devnpm install electron-builder --save-dev 2.在vue项目根目录新建文件index.js // index.js// Modules to control application life and create native browser window const { app…

Python日志管理利器:如何高效管理平台日志

一、为什么需要日志管理&#xff1f; 日志是应用程序的重要组成部分&#xff0c;它记录了应用程序的运行状态、错误信息以及用户交互等关键信息。良好的日志管理可以帮助开发人员及时发现和解决问题&#xff0c;提高应用程序的稳定性和可靠性。 项目在本地开发调试时&#xf…

AGI的多模态融合

在人工智能的宏伟蓝图中&#xff0c;人工通用智能&#xff08;AGI&#xff09;代表着一个集大成者&#xff0c;一个能够理解、学习、适应并执行任何智能任务的系统。随着我们对AGI的探索愈发深入&#xff0c;尤其是在视觉、语言和其他模态的融合上&#xff0c;关于AGI的讨论愈发…