QString HtmlDocument::read_docx_index(QByteArray xml, int findertype, const QString Xid) { QXmlSimpleReader reader; QXmlInputSource source; source.setData(xml); QString errorMsg; QDomDocument document; if (!document.setContent(&source, &reader, &errorMsg)) { setError(QString("Invalid XML document: %1").arg(errorMsg)); return QString(); } /* TargetMode="External"/> is link http to image */ const QDomElement documentElement = document.documentElement(); QDomElement element = documentElement.firstChildElement(); while (!element.isNull()) { if (element.tagName() == QLatin1String("Relationship")) { const QString target = element.attribute("Target", "NULL"); QString pathimage = "word/" + target; /// if 1??findertype const QString uuid = element.attribute("Id", "NULL"); const QString type = element.attribute("Type", "NULL"); ////BASICDOCDEBUG() << "image:" << target << " Id:" << uuid; //// check image == 1 findertype if need other?? if (target.startsWith("media") && type.endsWith("image") && findertype == 1 && uuid == Xid) { QByteArray xdata = docitem(pathimage); QImage pic; pic.loadFromData(xdata); if (!pic.isNull()) { QFileInfo pic(pathimage); QString blob = "data:image/" + pic.completeSuffix().toLower() + ";base64,"; QString imagembed(xdata.toBase64().constData()); blob.append(imagembed); const QString imagehtml = blob; return imagehtml; } else { QString errorimage = QString("Invalid Image Format! is not a conventional Open Image format: %1 ").arg(pathimage); setError(errorimage); } } } element = element.nextSiblingElement(); } ///// BASICDOCDEBUG() << "index docx xml:" << document.toString(5); return QString(); }