当前位置: 首页 > news >正文

怎么做一个门户网站我公司要网站建设

怎么做一个门户网站,我公司要网站建设,免费做思维导图的网站,宁波网站建设服务报价python解析word文档#xff0c;提取文档中所有的图片并保存#xff0c;并将原图位置用占位符替换。 问题描述 利用python-dox库解析word文档#xff0c;并提取里面的所有图片时发现会出现一摸一样的图片只解析一次#xff0c;导致图片丢失#xff0c;数量不对的情况。 …python解析word文档提取文档中所有的图片并保存并将原图位置用占位符替换。 问题描述 利用python-dox库解析word文档并提取里面的所有图片时发现会出现一摸一样的图片只解析一次导致图片丢失数量不对的情况。 解决方法 通过例如 lxml 或直接解析 Word 的结构解决 例如读取每个图片引用的具体关系 解析 Word 文档的内容我们需要读取 document.xml 来找到所有的 w:drawing 元素。解析关系文件在 word/_rels/document.xml.rels 文件中每张图片都有一个关系定义你需要读取这个文件来找到图像的实际存储路径。提取和保存图像最后从 Word 的 ZIP包里把真正的图像提取出来保存到本地。 代码 import os from datetime import datetime from docx import Document from docx.oxml.ns import qn import zipfile import os from zipfile import ZipFile from lxml import etreedef extract_images_and_replace(docx_path, output_docx_path, images_dir):# 打开 docx 文件作为 Zipbase_filenameos.path.splitext(os.path.basename(docx_path))[0]with ZipFile(docx_path, r) as docx:# 读取 word/document.xml 文件document_xml docx.read(word/document.xml)root etree.XML(document_xml)# 读取 word/_rels/document.xml.rels 文件rels_xml docx.read(word/_rels/document.xml.rels)rels_root etree.XML(rels_xml)# 查找所有的 w:drawing 元素drawing_elements root.findall(.//{http://schemas.openxmlformats.org/wordprocessingml/2006/main}drawing)# 创建输出目录os.makedirs(images_dir, exist_okTrue)# 查找并保存所有图片image_id0placelist[]for i, drawing in enumerate(drawing_elements):# 获取 a:blip 的 r:embed 属性blip_element drawing.find(.//{http://schemas.openxmlformats.org/drawingml/2006/main}blip)if blip_element is not None:embed_attr blip_element.get({http://schemas.openxmlformats.org/officeDocument/2006/relationships}embed)if embed_attr:# 查找图像在 rels 中的路径relationship rels_root.find(f.//{{http://schemas.openxmlformats.org/package/2006/relationships}}Relationship[Id{embed_attr}])if relationship is not None:timestamp datetime.now().timestamp()target relationship.get(Target)image_path os.path.join(word, target)placeholder f{base_filename}_{timestamp}unused{image_id}placelist.append(placeholder)# 提取并保存图像with docx.open(image_path) as image_file:image_data image_file.read()image_ext os.path.splitext(image_path)[1]# 保存图片到指定目录image_filename os.path.join(images_dir, f{placeholder}.png)with open(image_filename, wb) as out_file:out_file.write(image_data)print(fImage saved: {image_filename})image_id1print(len(placelist))# 替换文档中对应的图片为占位符i0# 遍历所有段落及图片doc Document(docx_path)for paragraph in doc.paragraphs:for run in paragraph.runs:# try:if graphicData in run._element.xml: # 搜索图片标记# 删除图片并插入占位符文字inline run._element.xpath(.//a:graphic)[0]inline.getparent().remove(inline)run.text placelist[i]i1# except:# break# 保存修改后的 Word 文档doc.save(output_docx_path)print(f提取了 {image_id} 张图片并用占位符替换。)print(f图片保存在{images_dir})print(f修改后的 Word 文件保存在{output_docx_path})# 示例调用 docx_path /data/xxxxx/ZHX财务管理系统.docx # 输入的 Word 文档 output_docx_path /data/xxxxx/ZHX财务管理系统--.docx # 替换图片后保存的 Word 文档 images_dir /data/xxxxx/样例图集/ # 提取图片保存的目录 extract_images_and_replace(docx_path, output_docx_path, images_dir)
http://www.dnsts.com.cn/news/246057.html

相关文章:

  • 如何进入邮箱的网站怎么查看竞争网站怎么做的seo
  • 做移动网站点击软件吗凡科做的网站打不开
  • 四川网站建设培训网络直接营销渠道
  • 阿里快速建站做营销网站应该要注意些什么
  • 做网站首选九零后网络导航类主题wordpress
  • 全球购物网站排名备案 网站名称怎么写
  • 网站建设策划优点wordpress 大型站
  • 海口模板建站公司长沙债务优化公司
  • 设计素材网站图案免费wordpress反代cdn
  • 公司网站内容的更新网站建设在哪个会计科目核算
  • 金寨县重点工程建设管理局网站html网站建设实录
  • 专业做网站登录西安SEO网站排名
  • 钱多网站wordpress 以前文章灯箱
  • 国外儿童社区网站模板网站有域名没备案
  • 网站建设论文框架国外免费域名申请
  • 网站建设学校网站郑州做网站优化最好的公司
  • 网站建设下单源码石家庄网络营销公司有哪些
  • 做影视网站如何通过备案wordpress 不同分类
  • 网站建设主结构张家港做网站费用
  • 做移动网站建设响应式网站用什么做
  • 甘肃再就业建设集团网站个人主页页面
  • 公司建设网站的申请信用卡任何查询网站有没有做404
  • 江门网站优化经验网站四网合一
  • 中国网站建设世界排名额尔古纳网站建设价格
  • 福田网站设计处理中国科技网官网
  • 网站建设 好公司免费设计手写签名
  • 内部网络网站怎么做外贸seo营销ppt
  • 深圳网站建设怎样选托管网站是什么意思
  • 网站空格键代码网站建设协议书模板 完整版
  • wordpress修改站点名企查查企业信息查询网官网