我正在尝试使用Qt打开并阅读PDF文件,但没有具体的方法可以做到这一点。
答案 0 :(得分:8)
我知道这个主题有点旧,但...... 我找到了一种使用pdf.js(http://mozilla.github.com/pdf.js/)通过QtWebKit在Qt中呈现PDF的非常简单的方法。
以下是我对Qt5和WebEngine的想法的认识:https://github.com/Archie3d/qpdf
答案 1 :(得分:5)
据我所知,Qt本身不包括PDF阅读/渲染功能。您可能希望查看具有Qt绑定的libpoppler。
答案 2 :(得分:3)
我在qt-project.org - “处理PDF - Qt项目”中发现了这篇非常有趣的文章 本页讨论在Qt应用程序中处理PDF文档的各种可用选项。该页面并未准确显示如何“打开并显示现有PDF文档”,但它可以帮助您从中解释所有有用的内容。
Here,页面上写着:
用于将现有PDF文档中的页面或元素渲染为图像 文件或内存中的像素图(例如用于缩略图生成或 实现自定义查看器),可以使用第三方库(for 例如:poppler-qt4(freedesktop.org)和muPDF(mupdf.com))。
或者,可以将任务委派给现有命令行 工具(如poppler-utils(freedesktop.org)和muPDF(mupdf.com))。
答案 3 :(得分:2)
您可以使用PdfViewer这是一款仅使用Qt的轻量级PDF查看器。它包含一个PdfView
小部件,可以轻松嵌入到您的应用程序中。
答案 4 :(得分:0)
简单回答:Qt API不支持它。
其他答案:您可以编写代码,我建议您查看使用Ghostscript的this Qt application
答案 5 :(得分:0)
您可能希望使用okular进行pdf处理。
答案 6 :(得分:0)
我知道这是一篇过时的文章,但是我在最初的搜索过程中偶然发现了那篇文章,所以我想我会从使用的解决方案中发布一些文档。
检出QPdfDocument类。此类可以打开PDF,您可以使用render函数将页面呈现为图像。我使用QQuickPaintedItem然后“绘制”此图像,但是我确信还有更多方法可以处理QImage输出。
我使用libpoppler进行了非常相似的过程。
#include <poppler/qt5/poppler-qt5.h>
使用Poppler::Document类加载和处理整个PDF文档,并查看Poppler::Page::renderToImage函数以将页面输出为QImage。
答案 7 :(得分:-1)
我发现打开pdf的最好方法是在Qt中使用QProcess。
答案 8 :(得分:-2)
Qt不支持开箱即用的PDF文件,在许多方法中,您可以使用Adobe的PDF Reader ActiveX对象和QAxObject。
您可能需要查看this链接,其中介绍了如何使用ActiveX读取Qt / C ++中的PDF文件,并且有一个可下载的示例项目。