尝试展示PDF但没有展示

问题描述 投票:0回答:1

我想在 tk 窗口中展示 PDF 文件,但该窗口未打开并且没有引发异常

将 tkinter 导入为 tk 从 tkPDFViewer 将 tkPDFViewer 导入为 pdf

cur_file='PPC_Bach.Eng_.-de-Computacao_AGES_Jacobina.pdf'

尝试: 新窗口 = tk.Tk() pdf.ShowPdf().pdf_view(newWindow,pdf_location=cur_file,宽度=75,高度=100).pack() 除了异常 e: 打印(e)

python python-3.x tkinter pdf pdf-viewer
1个回答
0
投票

看起来您正在尝试使用

tkPDFViewer
库在 Tkinter 窗口中显示 PDF 文件。但是,窗口没有打开,也没有引发异常。

潜在问题和解决方案

  1. Tkinter Mainloop:确保 Tkinter 应用程序的主循环正在运行。没有它,窗口将不会显示。
  2. 文件路径:验证文件路径是否正确且文件存在。
  3. 库安装:确保正确安装
    tkPDFViewer
    库。
  4. 库兼容性:检查
    tkPDFViewer
    库是否与您的Python和Tkinter版本兼容。

更新代码

这是您的代码的更新版本,其中包含以下注意事项:

import tkinter as tk
from tkPDFViewer import tkPDFViewer as pdf

cur_file = 'PPC_Bach.Eng_.-de-Computacao_AGES_Jacobina.pdf'

try:
    # Create the main window
    newWindow = tk.Tk()
    
    # Set the window title
    newWindow.title("PDF Viewer")
    
    # Display the PDF
    v1 = pdf.ShowPdf().pdf_view(newWindow, pdf_location=cur_file, width=75, height=100)
    v1.pack()
    
    # Start the Tkinter main loop
    newWindow.mainloop()
except Exception as e:
    print(e)

说明

  1. 主循环
    newWindow.mainloop()
    方法启动 Tkinter 事件循环,这是窗口保持打开状态并响应用户交互所必需的。
  2. 窗口标题:设置窗口标题有助于调试和用户体验。
  3. 变量赋值:将
    pdf_view
    的结果分配给变量(
    v1
    )可确保Tkinter正确管理该小部件。

额外的调试步骤

  1. 检查文件路径:确保文件路径正确且文件存在。您可以使用以下代码来检查文件是否存在:

    import os
    if not os.path.exists(cur_file):
        print(f"File not found: {cur_file}")
    
  2. 打印库版本:打印

    tkPDFViewer
    的版本以确保其安装正确:

    print(pdf.__version__)
    
  3. 在单独的脚本中运行:尝试在单独的脚本中运行 PDF 查看器以隔离问题:

    import tkinter as tk
    from tkPDFViewer import tkPDFViewer as pdf
    
    cur_file = 'PPC_Bach.Eng_.-de-Computacao_AGES_Jacobina.pdf'
    
    if not os.path.exists(cur_file):
        print(f"File not found: {cur_file}")
        exit(1)
    
    newWindow = tk.Tk()
    newWindow.title("PDF Viewer")
    v1 = pdf.ShowPdf().pdf_view(newWindow, pdf_location=cur_file, width=75, height=100)
    v1.pack()
    newWindow.mainloop()
    

通过执行这些步骤,您应该能够识别并解决阻止 Tkinter 窗口打开的问题。

© www.soinside.com 2019 - 2024. All rights reserved.