百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

一个pdf转docx的Python库 pdf转换work

liuian 2024-12-29 04:28 77 浏览

前言

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

安装pdf2docx

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

pip install pdf2docx

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

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

命令行的使用

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

INFO: Showing help with the command 'pdf2docx -- --help'.

NAME
    pdf2docx - Command line interface for ``pdf2docx``.

SYNOPSIS
    pdf2docx COMMAND | -

DESCRIPTION
    Command line interface for ``pdf2docx``.

COMMANDS
    COMMAND is one of the following:

     convert
       Convert pdf file to docx file.

     debug
       Convert one PDF page and plot layout information for debugging.

     gui
       Simple user interface.

     table
       Extract 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'.

NAME
    pdf2docx convert - Convert pdf file to docx file.

SYNOPSIS
    pdf2docx convert PDF_FILE <flags>

DESCRIPTION
    Convert pdf file to docx file.

POSITIONAL ARGUMENTS
    PDF_FILE
        Type: str
        PDF filename to read from.

FLAGS
    --docx_file=DOCX_FILE
        Type: Optional[str]
        Default: None
        docx filename to write to. Defaults to None.
    --password=PASSWORD
        Type: Optional[str]
        Default: None
        Password for encrypted pdf. Default to None if not encrypted.
    --start=START
        Type: int
        Default: 0
        First page to process. Defaults to 0.
    --end=END
        Type: Optional[int]
        Default: None
        Last page to process. Defaults to None.
    --pages=PAGES
        Type: Optional[list]
        Default: None
        Range of pages. Defaults to None.
    Additional flags are accepted.
        Configuration parameters.

        .. note

NOTES
    You 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 Converter


if __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,阅读习惯是从左到右。大家在使用的时候需要注意。

参考资料

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

相关推荐

电脑桌面图标设置(电脑桌面图标设置自动排列)

电脑的桌面图标设置包括随意摆放图标,调整图标大小及排列顺序等,那么电脑桌面图标怎么设置呢?下面就以iOS13系统版本的iPhone8Plus手机为例来为你解答,一起来看看吧!首先使用鼠标右键单击电...

ps序列号是什么(ps序列号是什么开头的)

ps序列号是AdobePhotoshop软件为了防止盗版而采取的保护措施。序列号有时也指“机器码”,是有些软件为了防止盗版而采取的保护措施。但网络上往往会有注册机等类似软件用以免费获得许可。序列号就...

腾达路由器找不到wifi(腾达路由器找不到高级设置)

如果你的腾达路由器没有wifi信号,可能是未启用wifi功能,或者设置了隐藏wifi,当然也有可能是路由器的wifi功能坏掉了,可以先登录到它的设置页面,正确配置wifi。1.关闭了指示灯有些型号的...

win7如何分区电脑硬盘(win7怎么分硬盘)

在Win7中,你可以通过打开“计算机”窗口,右键点击你要分区的磁盘,然后选择“管理”选项。接着在弹出的“计算机管理”窗口中,找到“存储”下的“磁盘管理”选项,右键点击你要分区的磁盘,在弹出的菜单选择“...

电脑打不开文档和表格怎么办

原因是电脑软件问题。根据你的描述,电脑做了注册表清理,Word文档和Excel都打不开了。原因是:文件关联被删除了。解决方法是:1,打开Word软件,然后在里面选打开找到Word文档,确认就自动打开关...

路由器的作用与功能通俗(路由器的作用与功能通俗讲解)
路由器的作用与功能通俗(路由器的作用与功能通俗讲解)

路由器的功能如下:第一,网络互连:路由器支持各种局域网和广域网接口,主要用于互连局域网和广域网,实现不同网络互相通信。第二,数据处理:提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能。第三,网络管理:路由器提供包括路由器配...

2026-01-05 17:55 liuian

如何安装双系统win10和linux

1.首先在“我的电脑”桌面,用电脑键盘win+R键,进入运行界面,在“运行”中输入msconfig,然后点击“确定”,进入系统引导盘中。2.然后进入系统配置的界面后,点击界面上方的引导选项,进入。3....

ios用什么下载bt或磁力(ios手机用什么下载bt)

ios好用的磁力链接软件是迅雷。苹果商店下架了,可通过电脑在手机安装PP助手,手机打开PP助手,找到该软件后,从简介里找到历史版本,就可把经典的5135版本(520版本可能会闪退)下载回手机里即可。在...

好看免费的壁纸软件(好看免费的壁纸软件下载)
  • 好看免费的壁纸软件(好看免费的壁纸软件下载)
  • 好看免费的壁纸软件(好看免费的壁纸软件下载)
  • 好看免费的壁纸软件(好看免费的壁纸软件下载)
  • 好看免费的壁纸软件(好看免费的壁纸软件下载)
windows+r没反应(windows+l没反应)

原因:1、可能是键盘是没电。按下键盘左侧的大小写切换键CapsLock键,观察键盘上的指示灯Caps灯是否点亮。如能点亮,说明键盘的硬件很有可能已经损坏。如果不能点亮,则检查键盘与电脑主机连接口是否接...

一个电脑装两个显卡会怎么样

同一台主机内安装两块显卡,有两种可能:两块一模一样的、两块不一样的。  两块不一样的对电脑没有任何性能提升,唯一起的作用就是备份和双屏。可以将两台显示器分别接在这两个显卡上实现双屏输出,或者其备份作用...

为什么u盘在电脑上读不出来(为什么u盘的内容在电脑上读不出来)

U盘在电脑上读不出来可能有多种原因。以下是一些常见的问题和解决方法:U盘连接问题:首先,请确保U盘已正确连接到电脑的USB接口。尝试将U盘插入其他USB接口,或者尝试使用不同的USB线缆进行连接。驱动...

ios最新系统是多少(ios文件怎么装系统)

1.iOS13。 2.苹果手机现在的最新版本是iPhone11系列,iPhone11系列将会用上解锁更快更安全的3D结构光人脸解锁方式,搭载基于7纳米...3.iPhone11延续上一代1...

vmware虚拟机安装win10系统(vmware虚拟机如何安装系统)

原因是Win10电脑配置是不符合运行Hyper-V虚拟机的要求(主要是CPU的虚拟化支持功能),解决办法1、进入bios设置,找到No-ExecuteMemoryProtection设置将其设...

笔记本xp系统重装系统教程(笔记本做xp系统)

重装XP系统的步骤如下:1.首先备份您的重要文件和数据。2.插入XP系统安装光盘,重新启动计算机。3.在启动时按下计算机制造商指定的键(通常是F2、F12、Esc等)进入BIOS设置或启动菜单。...