如何在 Birt 运行时语言中插入图像 (Java)
How to Insert Images In Birt At Runtime Language (Java)
我可以在我的 Rcp 应用程序中创建 Birt 报告,但问题是我无法将图像添加到我的 Table 数据(单元格数据)
图像的路径或位置在我的工作区中。我的问题是如何为将在报告中显示的图像设置路径或位置 Table。我们有图像处理程序的 SetURL 方法,但它给出如下错误
TextItemHandle cellData = null;
CellHandle contenCell = null;
contentCell = (CellHandle) tabledetail.getCells().get(0);
cellData = designFactory.newTextItem(value);
cellData.setContent(value.replace(" ", ""));
cellData.setProperty("canShrink", "false");
cellData.getPropertyHandle(StyleHandle.FONT_SIZE_PROP).setIntValue(10);
image = designFactory.newImage("");
image.setURL("platform:/plugin/com.****.reportgeneration/images/Information-icon.gif");
contentCell.getContent().add(cellData);
contentCell.getContent().add(image);
异常的完整堆栈
org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.
at org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2375)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:191)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
at com.****.reportgeneration.popup.actions.ModuleReportGeneration.createReportFolder(ModuleReportGeneration.java:465)
at com.****.reportgeneration.popup.actions.ModuleReportGeneration.access[=12=](ModuleReportGeneration.java:402)
at com.****.reportgeneration.popup.actions.ModuleReportGeneration.run(ModuleReportGeneration.java:325)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: org.mozilla.javascript.EvaluatorException: invalid flag after regular expression (#1)
at org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:77)
at org.mozilla.javascript.DefaultErrorReporter.error(DefaultErrorReporter.java:64)
at org.mozilla.javascript.Parser.addError(Parser.java:188)
at org.mozilla.javascript.Parser.addError(Parser.java:166)
at org.mozilla.javascript.Parser.reportError(Parser.java:223)
at org.mozilla.javascript.Parser.reportError(Parser.java:210)
at org.mozilla.javascript.Parser.reportError(Parser.java:203)
at org.mozilla.javascript.TokenStream.readRegExp(TokenStream.java:921)
at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2798)
at org.mozilla.javascript.Parser.memberExpr(Parser.java:2406)
at org.mozilla.javascript.Parser.unaryExpr(Parser.java:2304)
at org.mozilla.javascript.Parser.mulExpr(Parser.java:2229)
at org.mozilla.javascript.Parser.addExpr(Parser.java:2213)
at org.mozilla.javascript.Parser.shiftExpr(Parser.java:2194)
at org.mozilla.javascript.Parser.relExpr(Parser.java:2169)
at org.mozilla.javascript.Parser.eqExpr(Parser.java:2141)
at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:2130)
at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:2119)
at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:2108)
at org.mozilla.javascript.Parser.andExpr(Parser.java:2097)
at org.mozilla.javascript.Parser.orExpr(Parser.java:2086)
at org.mozilla.javascript.Parser.condExpr(Parser.java:2062)
at org.mozilla.javascript.Parser.assignExpr(Parser.java:2033)
at org.mozilla.javascript.Parser.expr(Parser.java:2012)
at org.mozilla.javascript.Parser.statementHelper(Parser.java:1039)
at org.mozilla.javascript.Parser.nameOrLabel(Parser.java:1793)
at org.mozilla.javascript.Parser.statementHelper(Parser.java:1032)
at org.mozilla.javascript.Parser.statement(Parser.java:901)
at org.mozilla.javascript.Parser.parse(Parser.java:540)
at org.mozilla.javascript.Parser.parse(Parser.java:478)
at org.mozilla.javascript.Context.compileImpl(Context.java:2348)
at org.mozilla.javascript.Context.compileString(Context.java:1335)
at org.mozilla.javascript.Context.compileString(Context.java:1324)
at org.eclipse.birt.report.engine.javascript.JavascriptEngine.run(JavascriptEngine.java:240)
at org.eclipse.birt.report.engine.javascript.JavascriptEngine.run(JavascriptEngine.java:1)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.birt.report.engine.javascript.JavascriptEngine.compile(JavascriptEngine.java:236)
at org.eclipse.birt.report.engine.javascript.JavascriptEngine.compile(JavascriptEngine.java:1)
at org.eclipse.birt.core.script.ScriptContext.compile(ScriptContext.java:153)
at org.eclipse.birt.report.engine.executor.ExecutionContext.compile(ExecutionContext.java:779)
at org.eclipse.birt.report.engine.executor.ExecutionContext.evaluate(ExecutionContext.java:713)
at org.eclipse.birt.report.engine.executor.ReportItemExecutor.evaluateString(ReportItemExecutor.java:297)
at org.eclipse.birt.report.engine.executor.ImageItemExecutor.handleURIImage(ImageItemExecutor.java:261)
at org.eclipse.birt.report.engine.executor.ImageItemExecutor.handleImage(ImageItemExecutor.java:214)
at org.eclipse.birt.report.engine.executor.ImageItemExecutor.execute(ImageItemExecutor.java:111)
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111)
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:160)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLTableBandLM.layoutChildren(HTMLTableBandLM.java:67)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLRepeatHeaderLM.layoutChildren(HTMLRepeatHeaderLM.java:46)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111)
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:160)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLRepeatHeaderLM.layoutChildren(HTMLRepeatHeaderLM.java:46)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:181)
TextItemHandle nText = designFactory.newTextItem(null);
nText.setContentType(DesignChoiceConstants.TEXT_CONTENT_TYPE_HTML);
nText.setContent("<img src="+ "D:\***Ws_16-11-18\com.** (*.***.projectcreation\icons\sample.gif" + " />");
contentCell.getContent().add(nText);
这段代码让我插入图片
我可以在我的 Rcp 应用程序中创建 Birt 报告,但问题是我无法将图像添加到我的 Table 数据(单元格数据)
图像的路径或位置在我的工作区中。我的问题是如何为将在报告中显示的图像设置路径或位置 Table。我们有图像处理程序的 SetURL 方法,但它给出如下错误
TextItemHandle cellData = null;
CellHandle contenCell = null;
contentCell = (CellHandle) tabledetail.getCells().get(0);
cellData = designFactory.newTextItem(value);
cellData.setContent(value.replace(" ", ""));
cellData.setProperty("canShrink", "false");
cellData.getPropertyHandle(StyleHandle.FONT_SIZE_PROP).setIntValue(10);
image = designFactory.newImage("");
image.setURL("platform:/plugin/com.****.reportgeneration/images/Information-icon.gif");
contentCell.getContent().add(cellData);
contentCell.getContent().add(image);
异常的完整堆栈
org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report. at org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2375) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:191) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77) at com.****.reportgeneration.popup.actions.ModuleReportGeneration.createReportFolder(ModuleReportGeneration.java:465) at com.****.reportgeneration.popup.actions.ModuleReportGeneration.access[=12=](ModuleReportGeneration.java:402) at com.****.reportgeneration.popup.actions.ModuleReportGeneration.run(ModuleReportGeneration.java:325) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119) Caused by: org.mozilla.javascript.EvaluatorException: invalid flag after regular expression (#1) at org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:77) at org.mozilla.javascript.DefaultErrorReporter.error(DefaultErrorReporter.java:64) at org.mozilla.javascript.Parser.addError(Parser.java:188) at org.mozilla.javascript.Parser.addError(Parser.java:166) at org.mozilla.javascript.Parser.reportError(Parser.java:223) at org.mozilla.javascript.Parser.reportError(Parser.java:210) at org.mozilla.javascript.Parser.reportError(Parser.java:203) at org.mozilla.javascript.TokenStream.readRegExp(TokenStream.java:921) at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2798) at org.mozilla.javascript.Parser.memberExpr(Parser.java:2406) at org.mozilla.javascript.Parser.unaryExpr(Parser.java:2304) at org.mozilla.javascript.Parser.mulExpr(Parser.java:2229) at org.mozilla.javascript.Parser.addExpr(Parser.java:2213) at org.mozilla.javascript.Parser.shiftExpr(Parser.java:2194) at org.mozilla.javascript.Parser.relExpr(Parser.java:2169) at org.mozilla.javascript.Parser.eqExpr(Parser.java:2141) at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:2130) at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:2119) at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:2108) at org.mozilla.javascript.Parser.andExpr(Parser.java:2097) at org.mozilla.javascript.Parser.orExpr(Parser.java:2086) at org.mozilla.javascript.Parser.condExpr(Parser.java:2062) at org.mozilla.javascript.Parser.assignExpr(Parser.java:2033) at org.mozilla.javascript.Parser.expr(Parser.java:2012) at org.mozilla.javascript.Parser.statementHelper(Parser.java:1039) at org.mozilla.javascript.Parser.nameOrLabel(Parser.java:1793) at org.mozilla.javascript.Parser.statementHelper(Parser.java:1032) at org.mozilla.javascript.Parser.statement(Parser.java:901) at org.mozilla.javascript.Parser.parse(Parser.java:540) at org.mozilla.javascript.Parser.parse(Parser.java:478) at org.mozilla.javascript.Context.compileImpl(Context.java:2348) at org.mozilla.javascript.Context.compileString(Context.java:1335) at org.mozilla.javascript.Context.compileString(Context.java:1324) at org.eclipse.birt.report.engine.javascript.JavascriptEngine.run(JavascriptEngine.java:240) at org.eclipse.birt.report.engine.javascript.JavascriptEngine.run(JavascriptEngine.java:1) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.birt.report.engine.javascript.JavascriptEngine.compile(JavascriptEngine.java:236) at org.eclipse.birt.report.engine.javascript.JavascriptEngine.compile(JavascriptEngine.java:1) at org.eclipse.birt.core.script.ScriptContext.compile(ScriptContext.java:153) at org.eclipse.birt.report.engine.executor.ExecutionContext.compile(ExecutionContext.java:779) at org.eclipse.birt.report.engine.executor.ExecutionContext.evaluate(ExecutionContext.java:713) at org.eclipse.birt.report.engine.executor.ReportItemExecutor.evaluateString(ReportItemExecutor.java:297) at org.eclipse.birt.report.engine.executor.ImageItemExecutor.handleURIImage(ImageItemExecutor.java:261) at org.eclipse.birt.report.engine.executor.ImageItemExecutor.handleImage(ImageItemExecutor.java:214) at org.eclipse.birt.report.engine.executor.ImageItemExecutor.execute(ImageItemExecutor.java:111) at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46) at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:160) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLTableBandLM.layoutChildren(HTMLTableBandLM.java:67) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLRepeatHeaderLM.layoutChildren(HTMLRepeatHeaderLM.java:46) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:160) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLRepeatHeaderLM.layoutChildren(HTMLRepeatHeaderLM.java:46) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:181)
TextItemHandle nText = designFactory.newTextItem(null);
nText.setContentType(DesignChoiceConstants.TEXT_CONTENT_TYPE_HTML);
nText.setContent("<img src="+ "D:\***Ws_16-11-18\com.** (*.***.projectcreation\icons\sample.gif" + " />");
contentCell.getContent().add(nText);
这段代码让我插入图片