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

Python将PDF转为png图像 用python把pdf转成word

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

最近开发办公类相关项目,在办公类项目不可避免的就是处理 Excel、Word、Pdf 之类的文档,需要将文档格式进行转换,以便于显示、打印等的需要。今天,我们来看一下 PDF 文档转换为 png 图像的方法,便于在项目中没有好的显示 PDF 文档的方法下通过转换为 png 图像进行显示。

1.PyMuPDF 简介

在介绍 PyMuPDF 之前,先来了解一下 MuPDF,从命名形式中就可以看出,PyMuPDF 是 MuPDF 的 Python接口形式。

1.1MuPDF

MuPDF 是一个轻量级的 PDF、XPS和电子书查看器。MuPDF 由软件库、命令行工具和各种平台的查看器组成。

MuPDF 中的渲染器专为高质量抗锯齿图形量身定制。它以精确到像素的几分之一内的度量和间距呈现文本,以在屏幕上再现打印页面的外观时获得最高保真度。

这个观察器很小,速度很快,但是很完整。它支持多种文档格式,如PDF、XPS、OpenXPS、CBZ、EPUB和FictionBook 2。您可以使用移动查看器对 PDF 文档进行注释和填写表单(这个功能很快也将应用于桌面查看器)。

命令行工具允许您注释、编辑文档,并将文档转换为其他格式,如HTML、SVG、PDF和CBZ。您还可以使用Javascript编写脚本来操作文档。

1.2PyMuPDF

PyMuPDF 是支持 MuPDF 的Python绑定。

使用 PyMuPDF,你可以访问扩展名为“.pdf”、“.xps”、“.oxps”、“.cbz”、“.fb2”或“.epub”。此外,大约10种流行的图像格式也可以像文档一样处理:“.png”,“.jpg”,“.bmp”,“.tiff”等。

2.PyMuPDF 安装

使用 pip 安装命令:

python -m pip install --upgrade pip
python -m pip install --upgrade pymupdf

除了标准库,它没有强制性的外部依赖项。只有在安装了某些包时,才会有一些不错的方法

  • Pillow:当使用 Pixmap.pil_save() 和 Pixmap.pil_tobytes() 时需要
  • fontTools:当使用 Document.subset_fonts() 时需要
  • pymupdf-fonts 是一个不错的字体选择,可以用于文本输出方法

导入库:

import fitz

查看版本:

import fitz
print(fitz.__doc__)

3.使用 PyMuPDF

3.1打开文档

doc = fitz.open(filename)  # or fitz.Document(filename)

返回 Document 对象。

3.2 Document 的一些方法和属性

Method / Attribute

Description

Document.page_count

页数 (int)

Document.metadata

元数据 (dict)

Document.get_toc()

目录 (list)

Document.load_page()

读取页面

3.3 元数据

Key

Value

producer

producer (producing software)

format

format: ‘PDF-1.4’, ‘EPUB’, etc.

encryption

encryption method used if any

author

author

modDate

date of last modification

keywords

keywords

title

title

creationDate

date of creation

creator

creating application

subject

subject

3.4 使用目录大纲

toc = doc.get_toc()

3.5 使用页面

获取某页面:

page = doc.load_page(pno)  # loads page number 'pno' of the document (0-based)
page = doc[pno]  # the short form

迭代页面:

for page in doc:
    # do something with 'page'

# ... or read backwards
for page in reversed(doc):
    # do something with 'page'

# ... or even use 'slicing'
for page in doc.pages(start, stop, step):
    # do something with 'page'

3.6 呈现页面

获取页面内容的图像:

pix = page.get_pixmap()

3.7 保存页面为图像文件

pix.save("page-%i.png" % page.number)

4.示例代码

将 pdf 文件的每一页转换为 png 图像,代码如下:

# coding: utf-8
import sys
import fitz


# pdffilename 表示 PDF 文件名,全路径名
def arc2pdf(pdffilename: str):
    doc = fitz.open(pdffilename)
    for i in range(0, doc.page_count):
        page = doc.load_page(i)
        pix = page.get_pixmap()
        pix.save("%s._%i.png" % (pdffilename, page.number))


if __name__ == '__main__':
    if len(sys.argv) != 2:
        print('参数错误!')
        sys.exit(0)

    pdffilename=sys.argv[1]
    arc2pdf(pdffilename)



相关推荐

电脑截屏的快捷按键(“电脑截屏的快捷键”)

电脑截图快捷键是Ctrl+PrScrn。电脑上截图的方法一般有这4种方式:1、Ctrl+PrScrn使用这个组合键截屏,获得的是整个屏幕的图片;2、Alt+PrScrn这个组合键截屏,获得的结果是当...

qq空间为什么打不开了怎么办
qq空间为什么打不开了怎么办

1、首先我们需要在自己的手机上下载并安装最新版本的QQ空间,安装完成后打开QQ空间,登录自己的账号。2、首先我们尝试打开QQ空间,打不开在手机上找到设置,点击进入设置界面,在这里我们可以对手机进行部分设置。3、进入设置界面后,我们需要在其中...

2026-01-07 10:55 liuian

联想怎么恢复系统(联想电脑系统恢复怎么操作)

  如果电脑重新分区,安装了操作系统就无法恢复到预装系统。  安装了系统,没有做系统备份也是无法恢复的,只能够重新安装。  联想电脑的一键还原系统在需要使用的时候直接按下一键还原按键即可,系统会自动进...

台式机无线网卡连不上wifi怎么办

1、无线网卡驱动没更新或者不匹配;解决办法:开始→控制面板→系统→硬件→设备管理器→网络适配器→右击无线网卡→更新驱动程序软件→按部就班完成更新;2、无线网络服务未开通;解决办法:开始→控制面板→管理...

126官方邮箱登录入囗(126邮箱登录入口手机版官网)

126邮箱是网易的一个免费邮箱登录入口在浏览器输入:mail.126.com浏览器进入126邮箱网站之后,即可自行登录126邮箱账号。如何在手机上登录126邮箱1、打开手机,找到并打开网易邮箱软件。2...

耐用笔记本电脑排行(最耐用笔记本排名)

最耐用的笔记本电脑是联想牌子。联想绝对是最耐用的,质量最好的轻薄本,也是最好用的轻薄本之一。联想笔记本电脑的质量和做工在世界上能称第一。十大公认最耐用笔记本如下1、华硕灵耀x14第12代英特尔酷睿i...

固态硬盘量产工具下载(固态硬盘量产工具下载合集)

固态硬盘量产工具好用的依次是:SLC颗粒最好,MLC颗粒其次,TLC颗粒再次,QLC颗粒现在最次;但是颗粒也分原厂颗粒,黑片,白片;原厂最好,黑片就是淘汰下来的渣渣。slc最好寿命长速度快也最贵...

文件夹怎么显示隐藏的文件夹

查找隐藏文件夹的方式如下:1、点击桌面的“计算机”,双击打开计算机2、在计算机页面中,点开自己存储文件夹的盘,这里以c盘为例。其他盘也可以依据这样的方式进行查找。3、找到左上角的“组织”,在其下拉的菜...

wifi一键连(wifi一键连接下载)
  • wifi一键连(wifi一键连接下载)
  • wifi一键连(wifi一键连接下载)
  • wifi一键连(wifi一键连接下载)
  • wifi一键连(wifi一键连接下载)
电脑硬盘怎么格式化干净(电脑硬盘格式化详细过程)
电脑硬盘怎么格式化干净(电脑硬盘格式化详细过程)

用普通格式化硬盘最干净,采用普通格式化,可以将硬盘中的内容删除掉,同时做上标志,而快速格式化只是对硬盘做了格式化标志,而没有删除内容硬盘格式化步骤:1,打开“我的电脑”,可以看到已经分区好但需要重新格式化的硬盘。2,用右键点击需要格式化的硬...

2026-01-07 06:55 liuian

下载的歌曲怎么转换成mp3格式

一般酷狗音乐下载的都是MP3格式的啊,如果不是的话,也可以通过以下方法来转换。;1、打开浏览器搜索关键词,找到该软件后下载并安装,然后双击打开,再点击“添加文件”。;2、添加后,在右下角选择转换格式为...

所有cpu性能天梯图(所有cpu性能天梯图都一样吗)

1、英特尔(Intel)i59400F酷睿六核盒装CPU处理器;2、英特尔(Intel)i7-9700K酷睿八核盒装CPU处理器;3、英特尔(Intel)i78700酷睿六核盒装...

电脑无故占用大量内存(电脑无故占用大量内存怎么办)

一种可能是后台运行太多,可能是你最近进行了很多任务,导致电脑占用内存变大。也可能是内在任务,类似于你引入了潜在任务,即电脑程序负荷太重,且程序存在不稳定因素,任务自动执行以缓解电脑压力。这个一般没事的...

控制自家wifi的软件防止蹭网
控制自家wifi的软件防止蹭网

软件防蹭网是一种可以帮助用户保护无线网络安全的工具。它可以通过识别和阻止未授权的设备接入无线网络,保护用户的网络免受未经授权的访问和攻击。这些软件通常提供一些安全功能,如MAC地址过滤、WPA2加密、访客网络等,以确保只有授权的设备可以接入...

2026-01-07 04:55 liuian

电脑假死机解决方法(电脑假死现象)

1、看看你笔记本是否是双显卡的配置.在玩游戏和看视频时系统一般会自动启动独立显卡。所以可能就独显运行正常。问题可能和集显有关。2、你先到你笔记本官网,下载型号一致最新版本的主板、双显卡、声卡启动安...