2

我是新的 C++ QT 程序员,我想通过我的打印机设备(或网络打印机)打印多个 pdf 文件,我搜索并找到了本教程: Qt 处理 PDF 文件 但我无法编译 MuPDF 和 Poppler 并使用这些第三方我的application.my pdf文件中的libs也加密了,必须从内存中打印文件。是通过我的打印机设备打印 pdf 文件的方法吗?

4

1 回答 1

2

你好,你可以使用这样的东西。

QPrinter printer(QPrinter::HighResolution);
printer.setOrientation(QPrinter::Portrait);
QPrintDialog dlg(&printer, this);
dlg.setWindowTitle("Print");

if (dlg.exec() == QDialog::Accepted)
{
    QWidget* widget = new QWidget(his); // this widget is your pdf widget
    QPixmap printPixmap(widget->width(),widget->height());
    widget->render(&printPixmap,QPoint(),QRegion(0,0,widget->width(),widget->height()));
    QPainter painterPixmap(&printer);
    painterPixmap.scale(4,4);
    painterPixmap.drawPixmap(printer.pageRect().topLeft(), printPixmap, printPixmap.rect());
}
于 2014-10-25T13:52:00.447 回答