diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/exports-api/docxbuilder-source/DOCXBuilder.java b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/exports-api/docxbuilder-source/DOCXBuilder.java index 4d1175bd7425fd1ca08e89417f5108b64377a054..91a78b2e77b269adca7d286fb1ed295312630f0c 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/exports-api/docxbuilder-source/DOCXBuilder.java +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/exports-api/docxbuilder-source/DOCXBuilder.java @@ -21,8 +21,7 @@ public class DOCXBuilder docx.addHeader("MetaA"); docx.addProperty("PropertyA", "ValueA"); docx.addProperty("PropertyB", "ValueB"); - docx.addProperty("PropertyC", - "<p>I am normal</p><p style=\"color:red;\">I am red</p><p style=\"color:blue;\">I am blue</p><p style=\"font-size:36px;\">I am big</p>"); + docx.addProperty("PropertyC", "<p>I am normal</p><p style=\"color:red;\">I am red</p><p style=\"color:blue;\">I am blue</p><p style=\"font-size:36px;\">I am big</p>"); FileOutputStream out = new FileOutputStream(new File("wordFromHTML.docx")); out.write(docx.getDocBytes()); diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/exports-api/exports-api.py b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/exports-api/exports-api.py index 28e199de7ec1a2058de164a844a54d93aac3ea2d..967ac293879781a51622842803ec052a7c31af18 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/exports-api/exports-api.py +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/exports-api/exports-api.py @@ -72,6 +72,8 @@ from ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.fetchoptions import SampleT from ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.search import DataSetTypeSearchCriteria; from ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.fetchoptions import DataSetTypeFetchOptions; +from ch.ethz.sis.openbis.generic.asapi.v3.dto.property import DataType + #V3 API - Files from ch.ethz.sis.openbis.generic.dssapi.v3 import IDataStoreServerApi; from ch.ethz.sis.openbis.generic.dssapi.v3.dto.datasetfile.search import DataSetFileSearchCriteria; @@ -103,6 +105,12 @@ from ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset import DataSet #DOCX from ch.ethz.sis import DOCXBuilder +#Images export for word +from org.jsoup import Jsoup; +from org.jsoup.nodes import Document; +from org.jsoup.nodes import Element; +from org.jsoup.select import Elements; + class MLStripper(HTMLParser): def __init__(self): self.reset() @@ -489,6 +497,12 @@ def getDOCX(entityObj, v3, sessionToken, isHTML): propertyType = propertyAssigment.getPropertyType(); if propertyType.getCode() in properties: propertyValue = properties[propertyType.getCode()]; + if propertyType.getDataType() is DataType.MULTILINE_VARCHAR: + doc = Jsoup.parse(propertyValue); + imageElements = doc.select("img"); + for imageElement in imageElements: + imageSrc = imageElement.attr("src"); + propertyValue = propertyValue.replace(imageSrc, DataStoreServer.getConfigParameters().getServerURL() + imageSrc + "?sessionID=" + sessionToken); if propertyValue != u"\uFFFD(undefined)": docxBuilder.addProperty(propertyType.getLabel(), propertyValue); diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/exports-api/lib/docxbuilder.jar b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/exports-api/lib/docxbuilder.jar index b266e3fbb5d15969c991e83503fe1f60a39c7198..1415afffeba2afa18eb612141f6610294b005062 100644 Binary files a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/exports-api/lib/docxbuilder.jar and b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/exports-api/lib/docxbuilder.jar differ