Seite 1 von 1
Problem: Drucke in Datei
Verfasst: 8. Februar 2011 17:01
von oldmanII
Hallo,
mein Problem ist folgendes:
Über einen QPrintDialog definiere ich, daß ich in eine Datei drucken möchte.
Dies funktioniert auch.
Ich möchte allerdings über einen eigenen QFileDialog die Ausgabedatei bestimmen.
Meine Annahme:
printer->outputFormat() liefert die Info, dass in eine Datei gedruckt werden soll ist leider nicht korrekt. Es kommt immer ein QPrinter::NativeFormat.
Ich habe auch leider nichts gefunden um die Info zu bekommen.
Kann mir irgendjemand auf die Sprünge helfen.
Ich nutze Qt 4.4.3
mfG
oldman
Verfasst: 8. Februar 2011 17:55
von RavenIV
mit printer setOutputFileName("myFile.pdf") kannst Du bestimmen, dass in eine Datei gedruckt wird. Gleichzeitig legst Du fest, dass es ein pdf sein soll.
Übrigens:
QPrinter::NativeFormat sagt aus, dass "normal" also auf einen Drucker gedruckt wird.
Verfasst: 9. Februar 2011 10:37
von oldmanII
Hallo,
mit printer setOutputFileName("myFile.pdf") kannst Du bestimmen, dass in eine Datei gedruckt wird. Gleichzeitig legst Du fest, dass es ein pdf sein soll.
ich muß ja erst einmal in Erfahrung bringen, daß in eine Datei gedruckt wird.
Also wie bekomme ich die Info von QPrinter, daß in QPrintDialog >druck in Datei< ausgewählt wurde?
Übrigens:
QPrinter::NativeFormat sagt aus, dass "normal" also auf einen Drucker gedruckt wird.
war schon klar, deswegen wollte ich dies ja auch mit printer->outputFormat() abfragen.
oldman
Verfasst: 9. Februar 2011 11:44
von RavenIV
jetzt fängt das stochern im Nebel an.
Ohne Quellcode kann Dir nicht weitergeholfen werden.
Weitere Infos (z.B. Zielsystem) wären auch hilfreich.
Manche Optionen von Qt-Dialogen werden nicht überall unterstützt.
Verfasst: 10. Februar 2011 09:18
von oldmanII
Hallo,
Weitere Infos (z.B. Zielsystem) wären auch hilfreich.
Windows. Qt4.4.3
Ohne Quellcode kann Dir nicht weitergeholfen werden.
Ich glaube zwar nicht, daß der Fehlende Quellcode weiterhilft aber bitteschön.
Code: Alles auswählen
// So jetzt Auswahl des Druckers
//
QPrinter* printer = new QPrinter();
QPrintDialog printDialog(printer, this);
if(printDialog.exec() != QDialog::Accepted)
return;
QTextDocument *t_calibrationText;
QString *s_htmlText = new QString();
QTextStream t_calibrationStream;
//
// Hier wird jetzt der Text zum Drucken zusammengestellt
//
t_calibrationText = new QTextDocument();
t_calibrationText->setHtml(*s_htmlText);
t_calibrationText->print(printer); // Hier wird jetzt der Dateiname abgefragt
Wie bereits im Anfangsposting erwähnt, kann im QPrintDialog >drucke in Datei< ausgewählt werden. Dies wird auch getan.
calibrationText->print(printer) fragt einen Dateinamen ab und druckt die Daten auch in diese Datei.
Das Problem: mir gefällt dieser Dateinameneingabe Dialog nicht und ich würde gerne einen eigenen benutzen.
Dazu muß ich aber wissen: soll in eine Datei gedruckt werden? oder aber wie ich einen eigenen Dateinameneingabe Dialog an QPrinter übergeben kann.
oldman