如何在PrimeFaces媒体标签中重命名PDF [英] How to rename PDF in primefaces media tag

查看:18
本文介绍了如何在PrimeFaces媒体标签中重命名PDF的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在PrimeFaces中使用流内容,并使用媒体标签来显示它。当在查看器中按下下载按钮时,它将下载名为DynamicConent.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");

有什么方法可以重命名它吗?或者有什么方法可以隐藏工具栏吗?

推荐答案

这是您正在使用的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"。

这篇关于如何在PrimeFaces媒体标签中重命名PDF的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆