Rahmen in *odt Dokument
Verfasst: Donnerstag 29. November 2012, 11:52
Ich habe ein QtextDocument in das ich einen Rahmen mit Text eingeben möchte. Dieses Dokument möchte ich als odt-Datei speichern.
Folgenden Beispielcode in python3 bzw PyQt mit libqt4-4.7 unter openSuse 12.1 habe ich bisher versucht.
Das Dokument wird auch als odt ausgegeben allerdings erscheint das Wort „frame“ ohne Rahmen.
Wenn ich mit folgendem Code das Dokument als *.pdf ausgebe wird alles erwartungsgemäs, also mit „frame“ im Rahmen dargestellt.
Leider gibt es kein printer.setOutputFormat odt.Was muss ich tun, damit dies auch im ersten Beispiel klappt? Oder geht dies mit odt prinzipiell nicht?
Gruß
Works4Me
Folgenden Beispielcode in python3 bzw PyQt mit libqt4-4.7 unter openSuse 12.1 habe ich bisher versucht.
Code: Alles auswählen
doc = QtGui.QTextDocument()
cur = QtGui.QTextCursor(doc)
frmfmt = QtGui.QTextFrameFormat()
frmfmt.setHeight(100)
frmfmt.setWidth(300)
frmfmt.setBorderStyle(frmfmt.BorderStyle_Solid)
frmfmt.setBorder(3)
cur.insertFrame(frmfmt)
cur.insertText("frame")
writer = QtGui.QTextDocumentWriter()
writer.setFormat(writer.supportedDocumentFormats()[1])
writer.setFileName('CV')
writer.write(doc)
Wenn ich mit folgendem Code das Dokument als *.pdf ausgebe wird alles erwartungsgemäs, also mit „frame“ im Rahmen dargestellt.
Code: Alles auswählen
a=QtGui.QApplication([])
printer = QtGui.QPrinter()
printer.setResolution(96)
printer.setPageSize(QtGui.QPrinter.A4)
printer.setOutputFormat(QtGui.QPrinter.PdfFormat)
printer.setOutputFileName("test.pdf")
printer.setPageMargins(12, 16, 12, 20, QtGui.QPrinter.Millimeter)
doc.setPageSize(QtCore.QSizeF(printer.pageRect().size()))
doc.print_(printer)
a.quit()
Gruß
Works4Me