Seite 1 von 1
[Bug ]PDF im Querformat drucken
Verfasst: 26. Mai 2006 12:01
von BartSimpson
Hallo, ich würde gerne ein PDF im Querformat erstellen. Doch Qt liefert immer nur Hochformat. Ist das ein Bug oder mache ich was falsch?
Hier der Kode:
Code: Alles auswählen
QPrinter Drucker(QPrinter::HighResolution);
Drucker.setOrientation(QPrinter::Landscape);
Drucker.setPageSize(QPrinter::A4);
Drucker.setCreator("Lagerverwaltung");
Drucker.setDocName(trUtf8("Artikelübersicht"));
Drucker.setFontEmbeddingEnabled(true);
Drucker.setOutputFormat(QPrinter::PdfFormat);
Drucker.setOutputFileName("test.pdf");
QPainter Zeichenflaeche;
Zeichenflaeche.begin(&Drucker);
qDebug()<<"druckgröße:"<<Zeichenflaeche.viewport().width()<<Zeichenflaeche.viewport().height();
Zeichenflaeche.end();
Als ausgabe erhalte ich:
9117 13233 was ja Hochformat währe:(
Verfasst: 26. Mai 2006 13:23
von patrik08
Klar geht dass mit QT4 und ++ einige tool
diese datei sample sample.pdf
Code: Alles auswählen
http://svn.sourceforge.net/viewcvs.cgi/*checkout*/qtexcel-xslt/qexcel/installer/sample_import/sample.pdf?rev=1
hat qt4 gemacht sogar mit dinamisch datum millimeter genau ecc....
suche pdf drucken & xslt in diesem forum ... sowie alle bug meldungen ueber pdf bei trolltech..
oder am schnellsten ... um zeit zu sparen..
der source ist bei meinem projekt...
http://sourceforge.net/projects/qtexcel-xslt/
Verfasst: 26. Mai 2006 13:41
von BartSimpson
Laut change log soll es seit Version 4.1.1 gehen. Ohne extra tools!!
Verfasst: 26. Mai 2006 13:54
von patrik08
zur zeit arbeite ich mit eine snaps tagliche commits. 4.1.3
und printer.setOrientation(QPrinter::Landscape); ist nur platzhalter text....
Mit xslt kann man ins pdf gehen , vektor , rtf, html , xml, und noch andere formate die ich nicht kenne...
Source kann vektor svg 7-8 bildformate text und gut sql tabellen...
im php-mag letzte woche....
ist auch ein ausfuerlicher artikel von xsl-fo erschinen auf
http://php-mag.de/itr/ausgaben/psecom,i ... id,60.html
XSL:FO – eine Alternative zu FPDF
Vorstellung von XSL:FO und Vergleich mit FPDF
gibt es seit 2003
Verfasst: 26. Mai 2006 14:17
von BartSimpson
Dann werde ich mal ein Bugreport schreiben. Denn wenn laut changelog gehen soll, dann sollte es auch gehen:)
Verfasst: 26. Mai 2006 14:30
von patrik08
Verfasst: 26. Mai 2006 14:36
von patrik08
Ich bedine meine kunden weiterhin automatisch.... pdf...
wenn mehr als 8 kolonnen im report/tabellen dan landscape else vertical portrait
xsl-fo code
Code: Alles auswählen
<!-- landscape or vertical? -->
<xsl:choose>
<xsl:when test="$bigcolumncount > 8">
<!-- landscape -->
<fo:layout-master-set>
<fo:simple-page-master master-name="simple" page-height="21cm" page-width="30cm"
margin-top="1cm" margin-bottom="0.3cm" margin-left="1.2cm" margin-right="1.2cm">
<fo:region-body margin-bottom="2cm"/>
<fo:region-after extent="16pt"/>
</fo:simple-page-master>
</fo:layout-master-set>
</xsl:when>
<xsl:otherwise>
<!-- vertical -->
<fo:layout-master-set>
<fo:simple-page-master master-name="simple" page-height="29.7cm" page-width="21cm"
margin-top="1cm" margin-bottom="0.3cm" margin-left="1.4cm" margin-right="1.2cm">
<fo:region-body margin-bottom="2cm"/>
<fo:region-after extent="16pt"/>
</fo:simple-page-master>
</fo:layout-master-set>
</xsl:otherwise>
</xsl:choose>
Verfasst: 30. Mai 2006 13:04
von BartSimpson
Das ist ein neuer Bug. Aber es gibt ein Workaround von TT:
Hier deren Antwort:
Thanks for your report! I can reproduce the problem but also found out
that this happens when you set the orientation prior to the output
format. If you set the output format first your code should work.
I have forwarded this to our development team. You can monitor the
progress of this task by searching for 116742 in the task tracker: