我正在编程一个<p:lightBox>
与流媒体<p:media>
预览外部 PDF。
它工作得很好,但我遇到了一点障碍。
当 pdf 对话框呈现时,它会显示(鼠标悬停时)一个标题,其中始终显示相同的标题:“dynamiccontent.properties”。
是否有一个属性或其他东西我可以覆盖来自定义它?
JSP代码:
<p:lightBox>
<h:outputLink value="#" title="#{myDoc.fileName}">
<i class="fa fa-eye" aria-hidden="true"></i>
</h:outputLink>
<f:facet name="inline">
<p:media value="#{documentController.stream}" width="1100px" height="600px" player="pdf">
<f:param name="idStore" value="#{myDoc.idStore}" />
</p:media>
</f:facet>
</p:lightBox>
PDF 显示的标题 https://i.stack.imgur.com/bWte8.jpg
谢谢你的时间。
这似乎是 Primefaces 中的一个错误。查看 Primefaces 6.1 版本,因为他们似乎已经解决了这个问题here https://github.com/primefaces/primefaces/issues/2055。
然后,设置内容名称DefaultStreamedContent
works
new DefaultStreamedContent(pdfData(), "application/pdf", "document.pdf");
My <p:media>
在 xhtml 中:
<p:media value="#{pdfViewerController.fileStream}" player="pdf" cache="false" />
以及渲染出来的<p:media>
看起来像这样:
<object type="application/pdf"
data="/javax.faces.resource/dynamiccontent.properties;/document.pdf?ln=primefaces&v=6.1&pfdrid=8881a099cd5419259117729be00f4824&pfdrt=sc&pfdrid_c=false&uid=f6c9ade9-4d7b-47ab-832f-19b119e6cd58"
internalinstanceid="9" title="">
</object>
那么Chrome中的pdf查看器标题和下载文件名都是“document.pdf”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)