使用python制作pdf的格式转换程序

使用python进行pdf的格式转换

前言

在使用文本编辑软件时经常会想将PDF转为图片或者是文档格式,但大多要么得付费要么带有一些捆绑,不如自己写一下。
这里使用了pdf2imagepdf2docx进行转换。
在这里插入图片描述

两个关键功能

转图片

def file2Pic():
    global i, pdf_name, file_format
    if pdf_name == '':
        tk.messagebox.showwarning(message='请选择需要导出文件')
    else:
        if var == 0:
            tk.messagebox.showwarning(message='请选择需要导出文件类型')
            print(2)
        else:
            i = 0
            total_file = pdf_name[:-4]
            mkdir(total_file)
            pages = convert_from_path(pdf_name, 500)
            for page in pages:
                file_name = total_file + '/' + str(i) + file_format
                page.save(file_name, 'JPEG')
                i += 1
            counter_l.config(text='转换完成')

其中file_format为导出格式,为了图省事,没有将保存格式进行选择,而是将文件名直接按照后缀进行存储达到可以保存为jpg、bmp、png的格式。

转docx

这部分使用开源项目pdf2docx,可以在这里看到如何使用。
这个开源项目可以实现pdf2docx的几种功能为
段落及文本样式

段落对齐方式(左/右/居中/分散)及段间距
水平(自左向右)或竖直(自底向上)方向的文本
字体样式(颜色、字体、大小、粗/斜体)
文本样式(高亮、下划线、删除线、超链接)
但对列表样式的识别效果欠佳

图片

段落内嵌入型图片
衬于文本下方的浮动型图片
支持Gray/RGB/CMYK等颜色模式及透明背景图片

表格及其样式

边框样式(粗细、颜色)
单元格背景色
合并的单元格
隐藏部分边框的表格(例如三线表)
嵌套表格

支持多进程并行处理

def file2Docx():
    global pdf_name
    cv = Converter(pdf_name)
    total_file = pdf_name[:-4]
    mkdir(total_file)
    docx_name = total_file + '/PDF2Docx.docx'
    cv.convert(docx_name, start=0, end=None)
    cv.close()

最后对gui界面进行了一个简单的绘制。基本功能可以实现,但再打开的时候是根据本机的速度来定。

这里建了一个gitee的项目仓库,希望可以得到各位的指点或共同开发。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辰似五味

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值