我是新的C ++ QT程序员,我想通过我的打印机设备(或网络打印机)打印多个pdf文件,我搜索并找到本教程: Qt Handling PDF file 但我无法编译MuPDF和Poppler并在我的应用程序中使用这些第三方库。我的pdf文件也加密了,必须从内存中打印文件。 是通过我的打印机设备打印pdf文件的方法吗?
答案 0 :(得分: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());
}