首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PDF转DWG方法

建筑工程行业往往甲方不直接提供DWG格式的图纸,只提供高清PDF版,虽然也能看清所有内容但是往往甲方并不了解乙方所要的尺寸,漏标或者没有直接标出的情况很多,现在收费软件已经有这个功能了。本文介绍一下如何靠python完成PDF转DWG的技巧:

准备知识:python 3,R2V软件

数据准备:甲方提供的PDF文件

首先PDF需要转成高清的图片格式,python中相关的包有pdfminer3k,PyMuPDF,PyPDF2等,这里我们采用PyMuPDF这个包,采用PIP3 install pymupdf成功后,就可以通过python进行pdf to png转换了

import sys #用于文件读取

import fitz #pymupdf的包名称

argv=[0,"d:/1.pdf",1,1200,0,"d:/1.png"]#设置一下转换参数,便于转换成命令行方式调用,以后可以用其他语言进行调用

‘’‘

参数说明1.占位,如果命令行调用,指当前的python文件名

2.原文件名

3需要转换的页号,1代表第一页

4.比例系数,为了得到高清图片,比例系数建议设得比较大

5.旋转角,一般设成(度)

6.转换后的文件头名

’‘’

doc =fitz.Document(argv[1])加载PDF文件

pn = int(argv[2])-1

if pn > doc.pageCount: #如果页号超过总页数则报错

raise SystemExit('%s has%d pages only' % (sys.argv[1], doc.pageCount))

# get the page

page = doc[pn]

#建立内容缩放比例

zoom = int(argv[3])

rotate = int(argv[4])

trans =fitz.Matrix(zoom/100.0, zoom/100.0).preRotate(rotate)

#生成图片

pm =page.getPixmap(matrix = trans, alpha = False)

#把图片写入文件

pm.writePNG(sys.argv[5])

到此,第一步也是最关键的一步的转换工作完成

然后利用R2V的软件就可以把PNG转成DWG了,我这里用的是AlgoLab R2V Conversion Toolkit,相关操作比较简单就不介绍了

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180902G0NOML00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券