Python pdf转png

作者 :
免费
  • 正文
  • pdf转图片,WPS转换是收费的,免费的是有水印的,就写了这个代码。文件下载是打包好的.exe

    import os
    import fitz
    import tkinter as tk
    from tkinter import filedialog
    def convert_to_png(file_path, zoom, png_path):
        doc = fitz.open(file_path)
        total = doc.page_count
        for pg in range(total):
            page = doc[pg]
            zoom = int(zoom)  # 值越大,分辨率越高,文件越清晰
            rotate = int(0)
            trans = fitz.Matrix(zoom / 100.0, zoom / 100.0).prerotate(rotate)
            pm = page.get_pixmap(matrix=trans, alpha=False)
            if not os.path.exists(png_path):
                os.makedirs(png_path)
            save = os.path.join(png_path, f'page_{pg + 1}.png')
            pm.save(save)
        doc.close()
    def browse_pdf():
        global pdf_file_path
        pdf_file_path = filedialog.askopenfilename(title="选择PDF文件", filetypes=[("PDF files", "*.pdf")])
        pdf_label.config(text=f"选择的PDF文件: {pdf_file_path}")
    def convert_to_png_and_save():
        if pdf_file_path:
            zoom_value = zoom_entry.get()
            png_folder = png_folder_entry.get()
            # 设置默认的放大倍数和 PNG 文件夹路径
            zoom = int(zoom_value) if zoom_value.isdigit() else 200
            # 如果未手动输入路径,则使用默认路径 outimg
            png_path = png_folder if os.path.isdir(png_folder) else 'outimg'
            # 调用转换函数
            convert_to_png(pdf_file_path, zoom, png_path)
            result_label.config(text=f"转换完成,PNG文件保存在:{png_path}")
        else:
            result_label.config(text="请先选择PDF文件")
    # 创建主窗口
    root = tk.Tk()
    root.title("PDF to PNG Converter")
    # 设置窗口宽度和高度
    window_width = 400
    window_height = 300
    # 获取屏幕宽度和高度
    screen_width = root.winfo_screenwidth()
    screen_height = root.winfo_screenheight()
    # 计算窗口左上角坐标使其居中
    x_position = (screen_width - window_width) // 2
    y_position = (screen_height - window_height) // 2
    # 设置窗口大小和位置
    root.geometry(f"{window_width}x{window_height}+{x_position}+{y_position}")
    # 选择PDF文件按钮
    browse_button = tk.Button(root, text="选择PDF文件", command=browse_pdf)
    browse_button.pack(pady=10)
    # 显示选择的PDF文件路径
    pdf_label = tk.Label(root, text="选择的PDF文件: ")
    pdf_label.pack()
    # 输入放大倍数
    zoom_label = tk.Label(root, text="放大倍数:")
    zoom_label.pack()
    zoom_entry = tk.Entry(root)
    zoom_entry.insert(0, "200")  # 设置默认值
    zoom_entry.pack()
    # 输入PNG文件夹路径
    png_folder_label = tk.Label(root, text="PNG文件夹路径:")
    png_folder_label.pack()
    png_folder_entry = tk.Entry(root)
    png_folder_entry.insert(0, "outimg")  # 设置默认值为空
    png_folder_entry.pack()
    # 转换按钮
    convert_button = tk.Button(root, text="转换为PNG", command=convert_to_png_and_save)
    convert_button.pack(pady=10)
    # 显示转换结果
    result_label = tk.Label(root, text="")
    result_label.pack()
    # 在窗口底部添加 "Development by 都百顺" 横向居中显示
    developer_label = tk.Label(root, text="Development by 都百顺(抖音号:dubaishun12)")
    developer_label.pack(side="bottom", pady=20)
    # 运行主循环
    root.mainloop()

    Python pdf转png-完美源码

     

    不带GUI核心代码:

    import os
    importfitz
    def covert2pic(file_path, zoom, png_path):
        doc = fitz.open(file_path)
        total = doc.page_count
        for pg in range(total):
            page = doc[pg]
            zoom = int(zoom)  # 值越大,分辨率越高,文件越清晰
            rotate = int(0)
            trans = fitz.Matrix(zoom / 100.0, zoom / 100.0).prerotate(rotate)
            pm = page.get_pixmap(matrix=trans, alpha=False)
            if not os.path.exists(png_path):
                os.mkdir(png_path)
            save = os.path.join(png_path, '%s.png' %(pg+1))
            pm.save(save)
        doc.close()
    if __name__ == "__main__":
        pdfPath = './速光网络/速光智语app软著.pdf'
        imagePath = './'
        covert2pic(pdfPath, 200, imagePath)

    END
    如本资源侵犯了您的权益,请联系投诉邮箱admin@wmphp.com进行举报!我们将在收到邮件的1个小时内处理完毕。 本站仅为平台,发布的资源均为用户投稿或转载!所有资源仅供参考学习使用,请在下载后的24小时内删除,禁止商用! Wmphp.com(完美源码)助力正版,如您有自己的原创产品,可以联系客服投稿,代理出售! Wmphp.com(完美源码)客服QQ:136882447 Wmphp.com(完美源码)商务电话(仅对企业客户/个人用户):15120086569 (微信同步) 请注意:本站不提供任何免费的技术咨询服务,为了节约时间,下载前 请确认自己会技术
    完美源码 » Python pdf转png
    3553+

    本站勉强运行

    3965+

    用户总数

    692+

    资源总数

    0+

    今日更新

    2024-5-13

    最后更新时间