admin管理员组

文章数量:1605148

1 pdf转png

需要提前安装的包 pip install pymupdf
创建一个文件夹,把需要转换的pdf图片全部放入该文件夹,在文件夹中新建一个py文件,拷入代码:

import os
import fitz

pdf_dir=[]

def get_file():
    docunames = os.listdir()
    for docuname in docunames:
        if os.path.splitext(docuname)[1] == '.pdf':#目录下包含.pdf的文件
            pdf_dir.append(docuname)
            
def conver_img():
    for pdf in pdf_dir:
        doc = fitz.open(pdf)
        pdf_name = os.path.splitext(pdf)[0]
        for pg in range(doc.pageCount):
            page = doc[pg]
            rotate = int(0)
            # 每个尺寸的缩放系数为2,这将为我们生成分辨率提高四倍的图像。
            zoom_x = 2.0
            zoom_y = 2.0
            trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
            pm = page.getPixmap(matrix=trans, alpha=False)
            pm.writePNG('%s.png' % pdf_name)
            
if __name__ == '__main__':
    get_file()
    conver_img()

参考:
https://wwwblogs/ken-yu/p/12401923.html

2 pdf转word

可将PDF转换成docx文件的Python库。该项目通过PyMuPDF库提取PDF文件中的数据,然后采用python-docx库解析内容的布局、段落、图片、表格等,最后自动生成docx文件。

pdf2docx功能

  • 解析和创建页面布局
  • 页边距 - 章节和分栏 (目前最多支持两栏布局) - 页眉和页脚 [TODO]- 解析和创建段落 - OCR 文本 [TODO] - 水平(从左到右)或竖直(自底向上)方向文本 - 字体样式例如字体、字号、粗/斜体、颜色 - 文本样式例如高亮、下划线和删除线 - 列表样式 [TODO] - 外部超链接 - 段落水平对齐方式 (左/右/居中/分散对齐)及前后间距- 解析和创建图片 - 内联图片 - 灰度/RGB/CMYK等颜色空间图片 - 带有透明通道图片 - 浮动图片(衬于文字下方)- 解析和创建表格 - 边框样式例如宽度和颜色 - 单元格背景色 - 合并单元格 - 单元格垂直文本 - 隐藏部分边框线的表格 - 嵌套表格- 支持多进程转换
    pdf2docx同时解析出了表格内容和样式,因此也可以作为一个表格内容提取工具。

限制

  • 目前暂不支持扫描PDF文字识别
  • 仅支持从左向右书写的语言(因此不支持阿拉伯语)- 不支持旋转的文字- 基于规则的解析无法保证100%还原PDF样式

安装
pip install pdf2docx

案例

from pdf2docx import parse

pdf_file = './第五章_副本.pdf' # pdf所在目录
docx_file = './第五章_副本.docx' # 生成的 word 文件放在哪儿
docxparse(pdf_file, docx_file)

运行结果,看,是不是还算不错:

本文标签: PDFPythonwordPNG