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

企业 备案 网站服务内容浙江华纳建设有限公司网站

企业 备案 网站服务内容,浙江华纳建设有限公司网站,平面设计app推荐,手机网页编辑软件一、引言   在办公中#xff0c;我们经常遇收到pdf文件格式#xff0c;因为pdf格式文件不易修改#xff0c;当我们需要编辑这些pdf文件时#xff0c;经常需要开通会员或收费功能才能使用编辑功能。今天#xff0c;我要和大家分享的#xff0c;是如何使用python编程实现…一、引言   在办公中我们经常遇收到pdf文件格式因为pdf格式文件不易修改当我们需要编辑这些pdf文件时经常需要开通会员或收费功能才能使用编辑功能。今天我要和大家分享的是如何使用python编程实现将PDF文件轻松转换成Word和Excel格式让编辑变得轻而易举。 二、python编程   要将PDF转换为Word我们需要解析PDF的布局和内容并将其重新格式化为Word文档。这涉及到复杂的文本识别和格式转换技术。 使用过如下几个库最好的还是pdf2docx。 (一)、使用 pdf2docx 库 (二)、使用 PyMuPDF 库 (三)、使用 pdfplumber 库 (四)、使用 PyPDF2 和 python-docx 库 重点pdf2docx 是一个将 PDF 文件转换为 DOCX 文件的 Python 库。 pip install pdf2docx -i https://mirrors.aliyun.com/pypi/simple 更换PIP源   PIP源在国外速度慢可以更换为国内源以下是国内一些常用的PIP源。 豆瓣(douban) http://pypi.douban.com/simple/ 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/ 1PDF转Word from pdf2docx import Converter# pdf转word方法 def pdf_to_word(pdf_path, word_pathNone, page_numsNone):方法名称: pdf转word中文注释: pdf转word入参:param pdf_path str pdf文件路径param page_nums str 页码序号出参:返回状态:return 0 失败或异常return 1 成功返回错误码返回错误信息param doc_file str word文件名作 者: PandaCode辉weixin公众号: PandaCode辉创建时间: 2024-12-17使用范例: pdf_to_word(test.pdf)global cvresult_dict {}try:if not type(pdf_path) is str:result_dict[error_code] 111111result_dict[error_msg] pdf文件路径参数类型错误,不为字符串return result_dict# 检查PDF文件是否存在if not os.path.isfile(pdf_path):result_dict[error_code] 999999result_dict[error_msg] fPDF文件未找到: {pdf_path}return result_dictstart_time time.time()if not word_path:# 使用os.path.basename()获取文件名file_path os.path.dirname(pdf_path)# 使用os.path.basename()获取文件名file_name os.path.basename(pdf_path)# 提取文件名去除文件后缀file_name file_name.split(.)[0]# print(file_name)# word文件名路径word_path os.path.join(file_path, f{file_name}.docx)# print(word_path)# 初始化转换器cv Converter(pdf_path)# 转换整本PDF或指定页码if page_nums:# 解析页码参数pages []for part in page_nums.split(,):if - in part:start, end part.split(-)pages.extend(range(int(start) - 1, int(end)))else:pages.append(int(part) - 1)# 转换指定页码cv.convert(docx_filenameword_path, pagespages)else:# 转换整本PDFcv.convert(docx_filenameword_path, start0)# 保存为Word文档cv.close()# 识别时间end_time time.time()# 计算耗时差单位毫秒recognize_time (end_time - start_time) * 1000# 保留2位小数recognize_time round(recognize_time, 2)# print(处理时间: str(recognize_time) 毫秒)result_dict[recognize_time] recognize_timeresult_dict[error_code] 000000result_dict[error_msg] pdf转word成功# 使用os.path.basename()获取文件名word_file_name os.path.basename(word_path)# 打印结果# print(文件名:, word_file_name)result_dict[filename] word_file_nameresult_dict[file_size_mb] file_size_mbreturn result_dictexcept Exception as e:cv.close()print(pdf转word异常, str(e))result_dict[error_code] 999999result_dict[error_msg] PDF到Word转换过程中发生错误, str(e)return result_dict 2PDF转Excel 要将PDF转换为Excel目前没有现成的转换库需要稍加处理下。 使用过如下几个库 (一)、使用 pdf2docx 库 和 docx 库 和 pandas 库 先将pdf转成word文档然后读取word文档中的表格内容然后再转成excel文档。   pip install python-docx -i https://mirrors.aliyun.com/pypi/simple pip install pandas -i https://mirrors.aliyun.com/pypi/simple from docx import Document import pandas as pd不擅长编程的用户可以选择我的免费工具箱开箱即用方便快捷。 print(搜/索/wei/xin/小/程/序: 全能科技工具箱)# pdf转excel方法 def pdf_to_excel(pdf_path, xlsx_pathNone, page_numsNone):方法名称: pdf转excel中文注释: pdf转excel入参:param pdf_path str pdf文件路径param page_nums str 页码序号出参:返回状态:return 0 失败或异常return 1 成功返回错误码返回错误信息param xlsx_file str excel文件名作 者: PandaCode辉weixin公众号: PandaCode辉创建时间: 2025-01-06使用范例: pdf_to_excel(test.pdf)global cvresult_dict {}try:if not type(pdf_path) is str:result_dict[error_code] 111111result_dict[error_msg] pdf文件路径参数类型错误,不为字符串return result_dict# 检查PDF文件是否存在if not os.path.isfile(pdf_path):result_dict[error_code] 999999result_dict[error_msg] fPDF文件未找到: {pdf_path}return result_dictstart_time time.time()# 使用os.path.basename()获取文件名file_path os.path.dirname(pdf_path)# 使用os.path.basename()获取文件名file_name os.path.basename(pdf_path)# 提取文件名去除文件后缀file_name file_name.split(.)[0]# print(file_name)# word文件名路径word_path os.path.join(file_path, f{file_name}.docx)# print(word_path)if not xlsx_path:# xlsx文件名路径xlsx_path os.path.join(file_path, f{file_name}.xlsx)# print(xlsx_path)# 第一步先将pdf转成doc文档rsp_dict pdf_to_word(pdf_path, page_numspage_nums)if rsp_dict[error_code] 000000:# 第二步再读取doc文档转成xlsx文档# 打开Word文档doc Document(word_path)if len(doc.tables) 1:result_dict[error_code] 999999result_dict[error_msg] PDF文件未找到表格内容无法转成xlsx文档.return result_dict# 创建一个Excel writer对象with pd.ExcelWriter(xlsx_path, engineopenpyxl) as writer:# 遍历文档中的所有表格for i, table in enumerate(doc.tables, start1):# 创建一个空的DataFrame来存储表格数据data []# 遍历表格中的所有行for row in table.rows:# 遍历行中的所有单元格row_data []for cell in row.cells:row_data.append(cell.text)data.append(row_data)# 将数据转换为DataFramedf pd.DataFrame(data)# 将DataFrame保存到Excel的不同工作表中sheet_name fTable_{i}df.to_excel(writer, sheet_namesheet_name, indexFalse, headerFalse)# print(f转换完成结果保存在{xlsx_path}中。)else:result_dict[error_code] rsp_dict[error_code]result_dict[error_msg] rsp_dict[error_msg]return result_dict# 识别时间end_time time.time()# 计算耗时差单位毫秒recognize_time (end_time - start_time) * 1000# 保留2位小数recognize_time round(recognize_time, 2)# print(处理时间: str(recognize_time) 毫秒)result_dict[recognize_time] recognize_timeresult_dict[error_code] 000000result_dict[error_msg] pdf转excel成功# 使用os.path.basename()获取文件名xlsx_file_name os.path.basename(xlsx_path)result_dict[filename] xlsx_file_namereturn result_dictexcept Exception as e:print(pdf转excel异常, str(e))result_dict[error_code] 999999result_dict[error_msg] PDF到excel转换过程中发生错误, str(e)return result_dict (二)、使用 pdfplumber 和 python-pandas 库 使用pdfplumber库读取pdf表格内容然后写入excel表格文档中。 pip install pdfplumber -i https://mirrors.aliyun.com/pypi/simple import pandas as pd import pdfplumber 不擅长编程的用户可以选择我的免费工具箱开箱即用方便快捷。 print(搜/索/wei/xin/小/程/序: 全能科技工具箱) def pdf_to_excel_new(pdf_path, xlsx_pathNone, page_numsNone):方法名称: pdf转excel中文注释: pdf转excel入参:param pdf_path str pdf文件路径param page_nums str 页码序号出参:返回状态:return 0 失败或异常return 1 成功返回错误码返回错误信息param xlsx_file str excel文件名作 者: PandaCode辉weixin公众号: PandaCode辉创建时间: 2025-01-06使用范例: pdf_to_excel(test.pdf)result_dict {}try:if not type(pdf_path) is str:result_dict[error_code] 111111result_dict[error_msg] pdf文件路径参数类型错误,不为字符串return result_dict# 检查PDF文件是否存在if not os.path.isfile(pdf_path):result_dict[error_code] 999999result_dict[error_msg] fPDF文件未找到: {pdf_path}return result_dictstart_time time.time()# 使用os.path.basename()获取文件名file_path os.path.dirname(pdf_path)# 使用os.path.basename()获取文件名file_name os.path.basename(pdf_path)# 提取文件名去除文件后缀file_name file_name.split(.)[0]# print(file_name)if not xlsx_path:# xlsx文件名路径xlsx_path os.path.join(file_path, f{file_name}.xlsx)# print(xlsx_path)# 提取 PDF 中的文本数据with pdfplumber.open(pdf_path) as pdf:if len(pdf.pages) 1:result_dict[error_code] 999999result_dict[error_msg] PDF文件未找到表格内容无法转成xlsx文档.return result_dict# 创建一个 Excel 的写入器with pd.ExcelWriter(xlsx_path) as writer:# 转换整本PDF或指定页码if page_nums:# 解析页码参数pages []for part in page_nums.split(,):if - in part:start, end part.split(-)pages.extend(range(int(start) - 1, int(end)))else:pages.append(int(part) - 1)# 转换指定页码for i in pages:page pdf.pages[i]# 提取当前页的表格数据table page.extract_table()if table:# 将表格数据转换为 DataFramedf pd.DataFrame(table)# 将 DataFrame 写入 Excel 的不同工作表df.to_excel(writer, sheet_namefPage {i}, indexFalse)else:# 转换整本PDFfor i, page in enumerate(pdf.pages, start1):# 提取当前页的表格数据table page.extract_table()if table:# 将表格数据转换为 DataFramedf pd.DataFrame(table)# 将 DataFrame 写入 Excel 的不同工作表df.to_excel(writer, sheet_namefPage {i}, indexFalse)# 识别时间end_time time.time()# 计算耗时差单位毫秒recognize_time (end_time - start_time) * 1000# 保留2位小数recognize_time round(recognize_time, 2)# print(处理时间: str(recognize_time) 毫秒)result_dict[recognize_time] recognize_timeresult_dict[error_code] 000000result_dict[error_msg] pdf转excel成功# 使用os.path.basename()获取文件名xlsx_file_name os.path.basename(xlsx_path)# 打印结果# print(文件名:, xlsx_file_name)result_dict[filename] xlsx_file_name# 获取文件大小字节file_size_bytes os.path.getsize(xlsx_path)# 将字节转换为兆字节file_size_mb file_size_bytes / (1024 * 1024)# 打印结果# print(文件大小兆字节:, file_size_mb)result_dict[file_size_mb] file_size_mbreturn result_dictexcept Exception as e:print(pdf转excel异常, str(e))result_dict[error_code] 999999result_dict[error_msg] PDF到excel转换过程中发生错误, str(e)return result_dict 三、前端页面效果展示 1选择PDF文件 2选择转换类型PDF转Word 和 PDF转Excel 3页面范围可选参数不选则全部转换    总结 pdf2docx 和 PyMuPDF 是pdf转word更直接的选择因为它们专门用于转换 PDF 到 DOCX并且通常在版面还原方面做得更好。pdfplumber 更适合于文本和表格的提取而不是直接的格式转换。PyPDF2 和 python-docx 的组合提供了更多的灵活性但可能需要更多的自定义代码来处理复杂的布局和格式。 根据你的需求选择最适合你的库。如果你需要高度保真的版面还原pdf2docx 或 PyMuPDF 可能是更好的选择。如果你需要从 PDF 中提取文本和表格数据pdfplumber 可能更适合。
http://www.dnsts.com.cn/news/120364.html

相关文章:

  • 北京网站优化软件公司邮箱注册申请官网
  • 本机iis发布网站后台管理赣州网站设计较好的公司
  • 素马网站建设费用差距手机网站建设优势
  • 网站开发的选择是什么分析海尔网站的建设特点和优势
  • 任何查询网站有没有做404购物网站建设论文
  • 做电工的有接单的网站吗有了网站开发app是不是更容易
  • 青年人爱看的网站photoshop在线修图
  • 聊城做网站推广地方网站建设平台官网
  • 重庆企业网站备案要多久时间网上商城开发价格
  • 西安手机网站建站厦门网站建站
  • 南京网站开发十堰吧
  • 公司网站制作多少钱国内比较知名的大型门户网站
  • 网站开发流程 原型设计企业内部网站建设
  • 阿里巴巴网站服务内容网站建设与管理是课程
  • 公司做网站的优点wordpress添加上下文
  • 微网站案例网络服务器销售商
  • 建设电子商务网站论文wordpress登录之后强制绑定邮箱
  • 做设计找图片的网站建设部网站电话
  • 戴尔公司网站设计特色网站备案多少岁可以做
  • 怎么用ftp工具上传网站源码成品直播源码
  • 电子商务网站建设训练总结wordpress图片播放
  • 移动服务器建设的电影网站用哪个网站做简历更好
  • 网站 标准自考网页设计素材
  • 阜阳网站建设阜阳长沙网站推广工具
  • 网站制作优势友情链接检索数据分析
  • 泌阳县住房和城乡建设局网站哈尔滨市建筑企业管理站
  • 设计网站建设价格老鹰主机 wordpress
  • 网站排名分析 用户需求怎么看公司是不是外包
  • 网站建设分工表郑州建设网站报价
  • h5页面网站模板做网站的得花多钱