找回密码
 会员注册
查看: 38|回复: 0

pythonofd转pdf及图片

[复制链接]

5

主题

0

回帖

16

积分

新手上路

积分
16
发表于 2024-9-4 23:17:16 | 显示全部楼层 |阅读模式
本文部分内容参考,如有侵权请联系删除:使用easyofd解析ofd文件_python模块easyofd如何使用-CSDN博客背景需求:需要将邮箱中得ofd格式发票提取出来转换成pdf或者图片。在网上搜了发现使用pyofd包,安装之后使用各种问题,所以在PyPi上找了下发现包不多,最新得是easyofd,并且开发者最新还在更新,所以果断转到easyofd包上来,但是这块有一个很重要得必坑得就是最好从github上下载最新得包安装并使用,要不然版本不对还是会报错。开始由于版本不对,参考博客内容运行,发现有问题,于是看引用发现版本不对,所以最好还是用最新得,我这版是:,下载地址:https://github.com/renoyuan/easyofd ,运行代码如下:importrequestsimporturllibfromPILimportImagefromeasyofd.ofdimportOFDimportbase64defofd_to_images(ofd_path,images_path,filename):withopen(ofd_path+filename,"rb")asffdb64=str(base64.b64encode(f.read()),"utf-8")ofd=OFD()#初始化OFD工具类ofd.read(ofdb64,save_xml=False,xml_name="testxml")#读取ofdb64#print(ofd.data)#ofd.data为程序解析结果img_np=ofd.to_jpg()#转图片foridx,imginenumerate(img_np):im=Image.fromarray(img)im.save(f'%s.png'%(images_path+filename[:-4],))defofd_to_pdf(ofd_path,images_path,filename):withopen(ofd_path+filename,"rb")asffdb64=str(base64.b64encode(f.read()),"utf-8")ofd=OFD()#初始化OFD工具类ofd.read(ofdb64,save_xml=False,xml_name="testxml")#读取ofdb64#print(ofd.data)#ofd.data为程序解析结果pdf_bytes=ofd.to_pdf()#转pdfwithopen(f'%s.pdf'%(images_path+filename[:-4],),"wb")asf:f.write(pdf_bytes)if__name__=="__main__":#将ofd转成pdfofd_to_pdf(ofd_file_folder,pdf_file_folder,filename)#将ofd转成imagesofd_to_images(ofd_file_folder,img_file_folder,filename)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-5 09:02 , Processed in 0.745822 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表