Seite 1 von 1

Probleme beim erstellen von PDF's mit QPrinter&QPainter

Verfasst: 30. August 2010 15:42
von ggg-mike
Hallo zusammen,
ich habe ein Problem beim erstellen von PDF-Dateien.

Ich habe folgenden Code:

Code: Alles auswählen

QPrinter printer;


    printer.setOutputFileName(QString("%1%2")
                              .arg(QCoreApplication::applicationDirPath())
                              .arg("/invoices/" + this->lineEditInvoiceNumber->text() + "rechnung.pdf"));
    QPainter painter(&printer);
Danach folgen noch einige QPainter.DrawText Anweisungen. Zum Schluß soll das PDF-Dokument mit:

Code: Alles auswählen

QDesktopServices::openUrl(QUrl(QString(QCoreApplication::applicationDirPath() + "/invoices/" + this->lineEditInvoiceNumber->text() + "rechnung.pdf")));
direkt angezeigt werden.

Unter Linux klappte das ohne Problem, die PDF wurde erzeugt und auch gleich angezeigt, mit Windows bekomme ich folgenden Fehler:
QPainter::begin(): Returned false
QPainter::setFont: Painter not active

Muss ich unter Windows noch plugins für QT4 installieren?

Vielen Dank im Voraus.

Verfasst: 30. August 2010 20:11
von ggg-mike
Ok das Probelem mit dem QPainter hat sich erledigt. Jedoch scheint dieser Code nicht zu funktionieren:

Code: Alles auswählen

QDesktopServices::openUrl(QUrl(QString(QCoreApplication::applicationDirPath() + "/invoices/" + this->lineEditInvoiceNumber->text() + "rechnung.pdf")));
Sollte sich unter Windows dann nicht der PDF-Reader mit der angegebenen Datei öffnen? Bei mir tut sich dar garnichts. Ich bekomme auch keine Fehlermeldung in Debug-Fenster.

Jemand vieleicht eine Idee woran das liegen könnte?

Verfasst: 30. August 2010 20:27
von Christian81
Ein Dateipfad ist keine URL ... QUrl::fromLocalFile()

Verfasst: 30. August 2010 20:39
von ggg-mike
Jup dass klapt! Vielen Dank!