PDA

View Full Version : QTextOdfWriter



GrahamLabdon
18th October 2011, 11:25
Hi
I am looking into writing data from a QTextEdit to a file format of my own design.
During research I looked at the code in QTextOdfWriter.
When this class is wrting a FrameFormat it uses the following code –
if (format.hasProperty(QTextFormat::BlockTopMargin))
writer.writeAttribute(foNS, QString::fromLatin1("margin-top"), pixelToPoint(qMax(qreal(0.), format.topMargin())) );
if (format.hasProperty(QTextFormat::BlockBottomMargin ))
writer.writeAttribute(foNS, QString::fromLatin1("margin-bottom"), pixelToPoint(qMax(qreal(0.), format.bottomMargin())) );
if (format.hasProperty(QTextFormat::BlockLeftMargin))
writer.writeAttribute(foNS, QString::fromLatin1("margin-left"), pixelToPoint(qMax(qreal(0.), format.leftMargin())) );
if (format.hasProperty(QTextFormat::BlockRightMargin) )
writer.writeAttribute(foNS, QString::fromLatin1("margin-right"), pixelToPoint(qMax(qreal(0.), format.rightMargin())) );

Note that is checking BlockTopMargin etc.

Should this in fact be FrameTopMargin etc?

Thanks

patrik08
18th October 2011, 16:25
Yes it write root frame & block frame table frame

and convert pixel to point or mm point and pixel having a small faktor...

#define POINT_TO_CM(cm) ((cm)/28.3465058)
#define POINT_TO_MM(mm) ((mm)/2.83465058) //////// 0.352777778
#define POINT_TO_DM(dm) ((dm)/283.465058)
#define POINT_TO_INCH(inch) ((inch)/72.0)
#define POINT_TO_PI(pi) ((pi)/12)
#define POINT_TO_DD(dd) ((dd)/154.08124)
#define POINT_TO_CC(cc) ((cc)/12.840103)

#define MM_TO_POINT(mm) ((mm)*2.83465058)
#define CM_TO_POINT(cm) ((cm)*28.3465058) ///// 28.346456693
#define DM_TO_POINT(dm) ((dm)*283.465058)
#define INCH_TO_POINT(inch) ((inch)*72.0)
#define PI_TO_POINT(pi) ((pi)*12)
#define DD_TO_POINT(dd) ((dd)*154.08124)
#define CC_TO_POINT(cc) ((cc)*12.840103)

check the reader
http://qt-apps.org/content/show.php/OpenDocument+format+Reader%2BWriter+odt?content=80 650

you find a oasi doc debugger on http://manual-indexing.googlecode.com/svn/trunk/RTF_OASI_DOC/

http://manual-indexing.googlecode.com/svn/trunk/RTF_OASI_DOC/oasis/patch_qt4.5/qtextodfwriter.cpp

doc: http://doc.trolltech.com/4.6/richtext-html-subset.html