Poppler-Qt5无法渲染到
Poppler-Qt5 Failing to renderto
本文关键字:Poppler-Qt5 更新时间:2023-10-16
我正试图让这个函数工作,但现在当它试图绘制到pixmap对象时,输出总是错误的。
void MainWindow::PDF(){
QString path = "D:\Translation.pdf";
Poppler::Document *doc = Poppler::Document::load(path);
Poppler::Page* pdfPage1 = doc->page(0);
Poppler::Page* pdfPage2 = doc->page(1);
//QImage image = pdfPage->renderToImage(1080,1080,-1,-1,-1,-1);
QPixmap *pix = new QPixmap(1080,1080);
QPainter *paint1 = new QPainter(pix);
if (pdfPage1->renderToPainter(paint1 ,1080,1080,-1,-1,-1,-1)){
qDebug() << true;
}
else{
qDebug() << false;
}
QGraphicsScene *scene = new QGraphicsScene();
scene->addPixmap(*pix);
ui->graphicsView->setScene(scene);
}
有人能帮我吗?
Poppler使用两个不同的后端:Arthur
和Splash
在Qt4中渲染PDF。因此,有些方法没有在ArthurBackend
中实现,有些方法在SplashBackend
中实现。你的错误也许就是这样的结果。Poppler::Page::renderToPainter(...)
仅针对Arthur Backend
实现。我的猜测是,在您的情况下,渲染后端是Splash
,因此::renderToPainter(...)
返回false
。(文档)
您可以使用Poppler::Document::renderBackend()
检查后端。默认情况下,渲染由Splash Backend
完成。(文档)
相关文章:
- Qt5:使用QCommandLineParser类时出现奇怪的编译错误
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 更改命令行 qt5 源代码构建配置的正确/快速方法
- 控制台输出在 Qt5 中未正确显示
- 在Qt5中使用QTextSteam时的"使用已删除功能"
- Qt5 从 MySQL 数据库中选择数据
- Qt5 远程对象 + 自定义类型,但不在 POD 中
- Qt5 用户界面编译器:-i 选项不可用
- Qt5 throws std::bad_alloc
- 如何避免在 cmake 中自动链接 Qt5 库?
- 动态更改 qt5 选项卡名称
- 可能的Qt5错误:调用setFixedSize()禁用主窗口的关闭按钮(在Win7下)
- QT5 信号不会激活插槽内的功能
- 如何在使用 Qt5 构造函数时将非常量参数修改为常量参数?
- 如何在 Qt5 中执行多个 QProcess
- Qt5 [make -snap] 无法正确编译:进程"/usr/bin/snap"代码 1 退出
- 使用 Qt5 SQL 进行异步数据库访问的策略
- Qt5 ui,多个窗口:如何从窗口 1 访问窗口 2 中的 UI 对象
- Poppler-Qt5无法渲染到
- qt5错误发生Poppler::Document* Document