环境

  • windows 10 64位

  • anaconda with python 3.7

  • pdf2docx 0.5.2

前言

pdf文件转换成word文件是一个非常常见的操作,我相信,大部分人的免费解决方案是使用一些在线的转换服务,但是这里会有个数据泄露的问题。本文介绍一个开源免费的本地转换工具,pdf2docx

安装pdf2docx

安装方法非常简单,使用pip指令,执行

pip install pdf2docx

安装成功后,除了基础的库之外,pdf2docx还为我们提供了可执行文件pdf2docx

日常使用的话,直接使用可执行文件就能够进行pdfdocx的转换;如果需要在python代码中使用,那么,使用其提供的api也能够达到目的。

命令行的使用

通过pdf2docx --help可以查看命令行的具体帮助信息

INFO: Showing help with the command 'pdf2docx -- --help'.NAMEpdf2docx - Command line interface for ``pdf2docx``.SYNOPSISpdf2docx COMMAND | -DESCRIPTIONCommand line interface for ``pdf2docx``.COMMANDSCOMMAND is one of the following:convertConvert pdf file to docx file.debugConvert one PDF page and plot layout information for debugging.guiSimple user interface.tableExtract table content from pdf pages.

上述帮助列出了pdf2docx支持的指令,这里我们主要了解下convertgui

  • convert

    这是它的核心功能,convert本身也提供了很多的参数,可以通过pdf2docx convert --help来查看,这样的写法同样适用于其它指令,后面的我们就不再详细列出了

    (base) PS C:\Users\Administrator> pdf2docx.exe convert --help
    INFO: Showing help with the command 'pdf2docx convert -- --help'.NAMEpdf2docx convert - Convert pdf file to docx file.SYNOPSISpdf2docx convert PDF_FILE <flags>DESCRIPTIONConvert pdf file to docx file.POSITIONAL ARGUMENTSPDF_FILEType: strPDF filename to read from.FLAGS--docx_file=DOCX_FILEType: Optional[str]Default: Nonedocx filename to write to. Defaults to None.--password=PASSWORDType: Optional[str]Default: NonePassword for encrypted pdf. Default to None if not encrypted.--start=STARTType: intDefault: 0First page to process. Defaults to 0.--end=ENDType: Optional[int]Default: NoneLast page to process. Defaults to None.--pages=PAGESType: Optional[list]Default: NoneRange of pages. Defaults to None.Additional flags are accepted.Configuration parameters... noteNOTESYou can also use flags syntax for POSITIONAL ARGUMENTS
    

    由上可知,要转换pdf里所有的页面,只需执行

    pdf2docx.exe convert test.pdf test.docx
    

    从第3页开始,直到结束

    pdf2docx.exe convert test.pdf test.docx --start=2
    

    从开始到第10页

    pdf2docx.exe convert test.pdf test.docx --end=10
    

    从第2页到第5页

    pdf2docx.exe convert test.pdf test.docx --start=1 --end=5
    

    要特别注意,这里的startend都是从0开始的

    当然,不连续的页面也是可以一次性转换,比如

    pdf2docx.exe convert test.pdf test.docx --pages=0,2,4
    

    如果pdf是加密的,可以这样转换

    pdf2docx.exe convert test.pdf test.docx --password=PASSWORD
    
  • gui

    如果你不习惯用命令行,pdf2docx也提供了一个简单的图形界面,在cmd中敲入pdf2docx gui就可以调出来。真的是很粗糙,按钮的文字都没有显示全,不过功能还是ok的。

    pdf2docx

API的使用

如果要在python中实现pdfdocx的转换,pdf2docx为我们提供了完整的api,来看一个最简单的示例

from pdf2docx import Converterif __name__ == "__main__":pdf_file = "test.pdf"docx_file = "test.docx"conv = Converter(pdf_file)conv.convert(docx_file, start=0, end=None)conv.close()

更详细的API文档,可以参考链接 https://dothinking.github.io/pdf2docx/modules.html

局限性

目前的pdf2docx版本,仅适用于基于文本的pdf,阅读习惯是从左到右。大家在使用的时候需要注意。

Python实用模块专题

更多有用的python模块,请移步

https://xugaoxiang.com/category/python/modules/

参考资料

  • https://github.com/dothinking/pdf2docx

pdf转word,这个库好用相关推荐

  1. 如何使用Python将PDF转换为Word文档?

    PDF是一种常用的文件格式,用于共享和打印文档.但是,在某些情况下,PDF 文件会转换为 Word DOCX或DOC格式以解析文本或使文档可编辑.对于此类场景,本文介绍了如何使用 Python 将 P ...

  2. pdf转word python_【python】python实现PDF转word

    又是美好的一天,如果大家因为PDF转word而烦恼的话可以尝试用用Python的PDFMiner3K,这是一个非常好用的库,下面是把任意PDF读成字符串,然后用stingio转化成文件对象: #!/u ...

  3. python实现pdf转word详解_手把手|20行Python代码教你批量将PDF文件转为Word格式(包教包会)...

    在日常工作或学习中,经常会遇到这样的无奈: "小任,你把这个PDF中的文件码出来发我" 倒霉,2M的PDF12点也完不了啊! 很多时候在学习时发现许多文档都是PDF格式,PDF格式 ...

  4. python pdf转word 表格_太赞了!Pdf转Word,我用Python 轻松搞定表格和水印!

    原标题:太赞了!Pdf转Word,我用Python 轻松搞定表格和水印! 继上一次为大家推出了将pdf转word之后(卧槽!Pdf转Word用Python轻松搞定!),引起了大家的热烈讨论,我也总结了 ...

  5. Python实现分析pdf或者Word形式简历,并且保存到Excel中

    Python实现分析当前文件夹里面所有的pdf或者Word形式简历,并且保存到Excel中 # -*- coding:utf-8 -*-#作者:公众号:湾区人工智能 #功能:实现分析pdf或者Word ...

  6. Python办公自动化(八)|使用Python转换PDF,Word/Excel/PPT/md/HTML都能转

    Word转PDF Word转PDF应该是最常见的需求了,毕竟使用PDF格式可以更方便展示文档,虽然在Word中可以直接导出为PDF格式,但是使用Python可以批量转换,更加高效. 目前在Python ...

  7. Java:使用Java调用打印机进行打印(JPG、PDF和Word三种文件格式)

    目录 一.Java的打印简介 二.Java打印实现 2.1 JPG图片文件格式打印实现 2.2 PDF文件格式打印实现 2.3 Word文件格式打印实现 2.3.1 Word文件采用jacob插件进行 ...

  8. java 打印jpg、pdf、word

    转自: https://blog.csdn.net/vatxiongxiaohui/article/details/83985896 目录 一.Java的打印简介 二.Java打印实现 2.1 JPG ...

  9. java实现pdf转为word

    Installing Spire.Pdf.jar 如果您创建了⼀个 Maven 项⽬,您可以使⽤以下配置轻松地在您的应⽤程序中导⼊ jar.对于⾮ Maven 项⽬,请从此下载 jar ⽂件并⼿动 将 ...

  10. GitHub开源神器:教你如何实现 PDF 转 Word

    点击上方"Github爱好者社区",选择星标 回复"资料",获取小编整理的一份资料 作者:GG哥 来源:GitHub爱好者社区(github_shequ) 这是 ...

最新文章

  1. OpenGL编程轻松入门(四)
  2. 【编程题目】左旋转字符串 ☆
  3. NHibernate之Generator主键生成方式
  4. php global 作用,PHP关键字global在定义变量中的作用_PHP教程
  5. 升级openssh带来的问题
  6. [DeeplearningAI笔记]卷积神经网络2.9-2.10迁移学习与数据增强
  7. 通俗讲清楚为什么使用信息熵增益比而不是信息熵增益?
  8. gitlab在centons环境下的安装及使用
  9. C++踩坑之连接mysql数据库
  10. php设计模式之单例模式 1
  11. Linux socket can例程python版本
  12. 下面介绍几种查看linux版本信息的方法和GCC版本
  13. 使用更安全的C字符串操纵
  14. Cesium:解决画线不光滑,模糊不清,锯齿状
  15. SQL中的CASE WHEN THEN使用
  16. [数据结构] 非旋Treap
  17. TEX studio:IEEE latex模板的下载与使用
  18. Git stash 指令总结:暂存和恢复
  19. Electron加密打包文件
  20. 浏览器无法访问此网站该如何处理?

热门文章

  1. 轻量化网络ShuffleNet MobileNet v1/v2 解析
  2. E8.Net工作流开发架构
  3. 乐橙本地录像回放不了_解决大华或乐橙录像机添加摄像头不能显示的密码问题...
  4. Python-GeoPandas地图、专题地图绘制
  5. 【Soil texture】土壤质地计算器
  6. 星星之火-56:前传接口 CPRI容器的字长、能力与CPRI速率的对应关系
  7. 计算机专业英文版模板简历,计算机专业英文简历模板
  8. android 游戏 柄,Android手柄游戏中心-葡萄游戏厅
  9. Python3实现简单的http server
  10. 小学生计算机课程设计,小学版3D建模课程设计