【问题标题】:Is it possible to preview pdfs in a PyQt application?是否可以在 PyQt 应用程序中预览 pdf?
【发布时间】:2026-01-20 01:20:04
【问题描述】:

我正在使用 PyQt4 为 Windows 开发一个 Python 文件管理器,它几乎专门处理 pdf。我想让它保持便携,这样我就可以用 USB 棒运行它。

是否可以预览一个pdf,类似于这个

http://www.neosoftware.com/neobook/modules/pubs/singlefile.php?cid=8&lid=68

但是使用 python 和 pyqt?

【问题讨论】:

    标签: python pdf pyqt preview file-manager


    【解决方案1】:

    当然,soultion 就在这里(python-poppler-qt4 是一个 Python 绑定到 Poppler PDF 库):

    使用示例:

    import sys
    
    from PyQt4.QtCore import *
    from PyQt4.QtGui import *
    import QtPoppler
    from pictureflow import *
    
    app = QApplication(sys.argv)
    
    w = PictureFlow()
    d = QtPoppler.Poppler.Document.load('file.pdf')
    d.setRenderHint(QtPoppler.Poppler.Document.Antialiasing and QtPoppler.Poppler.Document.TextAntialiasing)
    
    page = 0
    pages = d.numPages() - 1
    while page < pages:
        page += 1
        print page
        w.addSlide(d.page(page).renderToImage())
    w.show()
    
    sys.exit(app.exec_())
    

    【讨论】:

    • 仅当 OP 的工作与 GPL 兼容:根据*,poppler 是 GPL。
    最近更新 更多