我在主字体中使用streamedcontent并使用media标签显示它。在查看器中按下下载按钮时,它将下载名称为dynamiccontent.properties的文件。有什么办法可以重命名吗?
我正在使用html4,java 7和primefaces 5.2.24。
我试图设置参数#toolbar来隐藏如下所示的工具栏,但是它不起作用:
<p:media id="pdfViewer" value="#{mybean.pdfMedia}" width="100%" height="90%" player="pdf" cache="false" >
<f:param name="#toolbar" value="0"></f:param>
</p:media>
我的流式内容是从iText生成的,如下所示:
baos = new ByteArrayOutputStream();
document = new Document();
document.setPageSize(PageSize.A4);
document.setMargins(70, 70, 100, 100);
writer = PdfWriter.getInstance(document, baos);
document.open();
document.newPage();
XMLWorkerHelper.getInstance().parseXHtml(writer, document,
new ByteArrayInputStream(pageContents));
document.close();
InputStream stream = new ByteArrayInputStream(baos.toByteArray());
StreamedContent pdfMedia = new DefaultStreamedContent(stream, "application/pdf");
是否可以重命名它?还是有什么方法可以隐藏工具栏?
答案 0 :(得分:5)
这是您正在使用的PF 5.2.24中的错误,并且已在PF 6.1或更高版本中修复。
查看此错误凭单:https://github.com/primefaces/primefaces/issues/2055
请确保使用构造函数org.primefaces.model.DefaultStreamedContent.DefaultStreamedContent(InputStream stream, String contentType, String name)
或org.primefaces.model.DefaultStreamedContent.setName(String)
方法在DefaultStreamedContent中设置“ NAME”。
答案 1 :(得分:0)
您需要使用构造函数为流内容设置一个名称
org.primefaces.model.DefaultStreamedContent.DefaultStreamedContent(InputStream stream, String contentType, String name)
或org.primefaces.model.DefaultStreamedContent.setName(String)
方法。