首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Poppler-Qt5未能呈现到

Poppler-Qt5未能呈现到
EN

Stack Overflow用户
提问于 2016-03-29 12:43:55
回答 1查看 261关注 0票数 0

我试图让这个函数正常工作,但是现在,当它试图绘制到像素映射对象时,输出总是错误的。

代码语言:javascript
复制
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);
}

有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-29 20:47:45

Poppler使用两个不同的后端在Qt4中呈现PDF:ArthurSplash。因此,这些方法没有在ArthurBackend中实现,有些在SplashBackend中实现。你的错误可能是那的结果。Poppler::Page::renderToPainter(...)只为Arthur Backend实现。我的猜测是,在您的示例中,呈现后端是Splash,因此::renderToPainter(...)返回false。(文档)

您可以使用Poppler::Document::renderBackend()检查后端。默认情况下,呈现是由Splash Backend完成的。(文档)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36284652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档