我正在使用胸腺叶html模板在Spring启动中使用java生成pdf。徽标和图像未加载。它会抛出错误。请参阅下面附加的代码和错误。
注意:但是图像正在加载用于预览和打印界面。仅用于下载,我面临一个问题。文件位置:user:/src/main/Resources/静态/图像$lslogo.pnguser-image-2.jpg
//代码
<div class="logo">
<img th:src="@{/images/logo.png}" />
</div>
<img class="profilepic" th:src="@{/images/user-image-2.jpg}">
//生成pdf的代码
public File generatePdf(String id) throws Exception {
Context context = initProfileContext(id);
String html = loadAndFillTemplate(context);
return renderPdf(id, html);
}
private File renderPdf(String id, String html) throws Exception {
File file = File.createTempFile("profile_" + id, ".pdf");
OutputStream outputStream = new FileOutputStream(file);
ITextRenderer renderer = new ITextRenderer(20f * 4f / 3f, 20);
renderer.setDocumentFromString(html);
renderer.layout();
renderer.createPDF(outputStream);
outputStream.close();
file.deleteOnExit();
return file;
}
private Context initProfileContext(String id) {
Context context = new Context();
context.setVariable("profile", profileService.findById(id));
return context;
}
private String loadAndFillTemplate(Context context) {
return templateEngine.process("profile", context);
}
//错误
2020-10-29 16:53:13.799 ERROR 26176 --- [nio-5555-exec-2] org.thymeleaf.TemplateEngine : [THYMELEAF][http-nio-5555-exec-2] Exception processing template "profile": Link base "/images/logo.png" cannot be context relative (/...) unless the context used for executing the engine implements the org.thymeleaf.context.IWebContext interface (template: "profile" - line 66, col 6)
org.thymeleaf.exceptions.TemplateProcessingException: Link base "/images/logo.png" cannot be context relative (/...) unless the context used for executing the engine implements the org.thymeleaf.context.IWebContext interface (template: "profile" - line 66, col 6)
at org.thymeleaf.linkbuilder.StandardLinkBuilder.computeContextPath(StandardLinkBuilder.java:493) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.linkbuilder.StandardLinkBuilder.buildLink(StandardLinkBuilder.java:126) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.context.AbstractEngineContext.buildLink(AbstractEngineContext.java:167) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.expression.LinkExpression.executeLinkExpression(LinkExpression.java:290) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.expression.SimpleExpression.executeSimple(SimpleExpression.java:85) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.expression.Expression.execute(Expression.java:109) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.expression.Expression.execute(Expression.java:138) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.processor.AbstractStandardExpressionAttributeTagProcessor.doProcess(AbstractStandardExpressionAttributeTagProcessor.java:144) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.processor.element.AbstractAttributeTagProcessor.doProcess(AbstractAttributeTagProcessor.java:74) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.processor.element.AbstractElementTagProcessor.process(AbstractElementTagProcessor.java:95) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.util.ProcessorConfigurationUtils$ElementTagProcessorWrapper.process(ProcessorConfigurationUtils.java:633) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.engine.ProcessorTemplateHandler.handleStandaloneElement(ProcessorTemplateHandler.java:918) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.engine.StandaloneElementTag.beHandled(StandaloneElementTag.java:228) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.engine.TemplateModel.process(TemplateModel.java:136) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:592) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1059) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1048) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at com.palmtree.matrimony.service.ProfilePdfService.loadAndFillTemplate(ProfilePdfService.java:50) ~[main/:na]
at com.palmtree.matrimony.service.ProfilePdfService.generatePdf(ProfilePdfService.java:27) ~[main/:na]
org.thymeleaf.exceptions.TemplateProcessingException: Link base "/images/logo.png" cannot be context relative (/...) unless the context used for executing the engine implements the org.thymeleaf.context.IWebContext interface (template: "profile" - line 66, col 6)
at org.thymeleaf.linkbuilder.StandardLinkBuilder.computeContextPath(StandardLinkBuilder.java:493)
at com.palmtree.matrimony.controller.ProfileController.download(ProfileController.java:93) ~[main/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) ~[spring-web-5.2.9.RELEASE.jar:5.2.9.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.2.9
使用Springbootclasspath前缀。
例子:
<img class="profilepic" th:src="@{classpath:images/user-image-2.jpg}">
裁判:https://stackoverflow.com/a/47907375/3427462
这是我发送电子邮件的PHP代码 我将HTML文件检索为$HTML 原始HTML文件包含CSS,看起来不错,但只显示白色背景的文本。在HTML文件中,我将“替换为”,但它仍然不起作用。
问题内容: 操作系统和服务器信息: CentOS 6.4(最终版) 阿帕奇2.2.15 PHP 5.5.1 我以前安装了php 5.3.x,但决定升级。我首先卸载了php 5.3.x,然后安装了php 5.5.1,但是在安装完成后apache并没有解析php文件,只是下载了它们。我在这里检查了stackoverflow中的类似问题,但到目前为止,它们都没有帮助我。 作为记录,我在httpd.con
OS和服务器信息: CentOS 6.4(最终版) 我以前使用过PHP5.3。x已安装,但决定升级。我首先卸载了PHP5.3。然后安装PHP5.5。1但安装完成后,apache没有解析php文件,只是下载了这些文件。我在stackoverflow中检查过类似的问题,但到目前为止没有一个对我有帮助。 为了记录在案,我有以下行在我的httpd.conf和php.conf,应该使php工作,但没有: 我
我有一个关于夏洛克行动吧的问题。在纵向模式下,无论可用空间有多大,ICS都不会在操作栏中的菜单项旁边显示文本。旋转到横向模式会产生预期的行为(图标文本)。如果我从菜单项中删除图标,它将以纵向模式显示文本(仅)。如果有空间,是否可以在纵向模式下显示文本图标?我使用下面的代码将菜单项添加到actionbar中。 提前谢谢。
我正在实现一个ASP api来完成所有Docusign api流(获取登录信息,获取令牌,发送要签名的信封,下载信封文档)。现在我试图在浏览器中显示一个下载的文档,该文档是空白的。我正在从docusign接收文档字节内容,并试图将其呈现在iframe中。 docusign发送的PDF内容如下 更新 如果文档超过1页,则可以看到所有页面,全部为空白······