小编lek*_*raj的帖子

如何在Qt中打印pdf文件

我曾尝试编写一些代码来使用Qt打印pdf文件但不知何故它无法正常工作.如果有人有任何想法解决这个问题,请提供您的提示.

void ChartViewer::onprintBtnClicked(){ 
    String filename = QFileDialog::getOpenFileName(this,"Open File",QString(),"Pdf File(*.pdf)"); 
    qDebug()<<"Print file name is "<<filename; 
    if(!filename.isEmpty()) { 
        if(QFileInfo(filename).suffix().isEmpty()) 
            filename.append(".pdf"); 

        QPrinter printer(QPrinter::HighResolution);         
        printer.setOutputFormat(QPrinter::PdfFormat);  
        printer.setOutputFileName(filename);
        QPrintDialog*dlg = new QPrintDialog(&printer,this); 

        if(textedit->textCursor().hasSelection()) 
            dlg->addEnabledOption(QAbstractPrintDialog::PrintSelection); 

        dlg->setWindowTitle(tr("Print Document")); 

        if(dlg->exec() == QDialog::Accepted) { 
            textedit->print(&printer); 
        } 

        delete dlg; 
    } 
}
Run Code Online (Sandbox Code Playgroud)

c++ printing pdf qt

5
推荐指数
1
解决办法
2万
查看次数

如何使用QT从打印机打印图像文件

我正在尝试使用QWebview在打印机上打印图像文件,但不打印图像空白页.请找到以下代码.

void ChartViewer::onprintBtnClicked()
{
    QString fileName = QFileDialog::getOpenFileName(this,"Open File",QString(),"Pdf File(*.png)");
    qDebug()<<"Print file name is "<<fileName;
    if(fileName.endsWith(".png"))
    {
        QPrinter printer;
        QWebView *view = new QWebView;
        QPrintDialog *dlg = new QPrintDialog(&printer,this);
        printer.setOutputFileName(fileName);
        if(dlg->exec() != QDialog::Accepted)
            return;
        view->load(fileName);
        view->print(&printer);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我使用view-> show(),那么它已正确显示图像,但打印页面空白.请你查看上面的代码并纠正我在哪里做错了.

此致Lekhraj

qt

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

qt ×2

c++ ×1

pdf ×1

printing ×1