【问题标题】:p:media getting rendered differently across browsersp:media 在浏览器中的呈现方式不同
【发布时间】:2020-04-25 22:21:25
【问题描述】:

我正在使用 PF 6.2 并尝试使用 p:media 组件来显示 PDF。
(我不再使用 pe:documentViewer 只是因为它目前不显示数字签名,因为 PDF.js 首先不支持该功能)。

但是,我观察到呈现的 PDF 查看器的外观在不同浏览器中是不同的。

我的用法:

<p:media id="pdfVw" height="600" width="800" value="#{viewerController4.pdfDocumentStream}" player="pdf" cache="false">                                              
        <f:param name="id" value="#{viewerController4.currentDocId}" /> 
</p:media>

在后台bean中:

public StreamedContent getPdfDocumentStream() throws IOException {
        FacesContext context = FacesContext.getCurrentInstance();

        if (context.getCurrentPhaseId() == PhaseId.RENDER_RESPONSE) {
            return new DefaultStreamedContent();
        } else {
            String id = context.getExternalContext().getRequestParameterMap().get("id");
            Doc doc = pdfDocMap.get(id);

            return new DefaultStreamedContent(new FileInputStream(new File(doc.getDocPath())), "application/pdf", doc.getDocName());
        }

    }

关于外观...例如,在 Chrome 中:
* 页面没有缩略图条!
* 字符串“Microsoft word-Dokument1”来自 PDF 的“title”属性(我希望我可以禁止显示它!)

在 Firefox 中:
* 缩略图条在那里
* 数字签名不见了!
* 标题字符串不存在(对我来说,这是一个加号)
* 与 Chrome 相比,菜单也完全不同

(在 IE 中就更不一样了)

我的客户的目标浏览器是 Chrome。
如果我能以某种方式抑制该标题并开始在 Chrome 中显示缩略图条,那将完全解决我的目的。有什么建议吗?

【问题讨论】:

  • 这里你可以找到如何配置一些customizations (toolbar->0 隐藏工具栏,这是我找到的最接近的选项,虽然它是一个有点激烈的解决方案,但据报道@987654330 @)
  • 另外请注意,Firefox 的 PDF 渲染器是 PDF.js,这解释了为什么数字签名消失了。 PDF.js 是一个 Mozilla 项目,专门用于在 Firefox 浏览器中呈现 PDF。
  • @Melloware 非常感谢您提供的信息。那时我不会在 Firefox 上追逐任何 PDF 版本。
  • @WoAiNii 正如你所建议的,这个&lt;f:param name="#toolbar" value="0"/&gt; 会消失整个工具栏本身。但就个人而言,我没有任何运气单独压制标题。我意识到,至少对于 Chrome,工具栏中的标题来自 PDF 的 "title" 元数据。因此,如果我想显示与文件名相同的标题,那么一种选择可能是在显示之前编辑原始 PDF 本身——但这不是一个好的解决方案(尽管它确实有效)。跨度>
  • 如果我能知道其他 &lt;f:param&gt; 配置值可以传递给用于 PDF 播放器的 Chrome 的 &lt;p:media&gt;,那将是一些希望......但我找不到任何文档这个 :(

标签: pdf primefaces primefaces-extensions


【解决方案1】:

我开始知道....在使用 p:media 时,期望 Chrome 中的缩略图条是错误的期望。这是因为在使用 p:media 时,Chrome 将使用自己的 PDF 查看器,而不是 Adob​​e 的(因此,可能并非所有类似 Adob​​e 的功能都可用)。更多在这里: https://community.adobe.com/t5/acrobat/adobe-acrobat-features-not-showing-up-in-chrome/td-p/10480323?page=1

关于标题显示在工具栏上的主题,除了编辑 PDF 本身的 标题 元数据之外,我仍然找不到任何解决方案来轻松抑制或软修改它。

另外,偶然发现了一份不错的文档,其中列出了可以传递给配置查看器的各种 &lt;f:param&gt; :)
https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf

【讨论】:

    猜你喜欢
    • 2015-12-28
    • 2018-01-07
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    • 2014-10-26
    • 2012-03-09
    相关资源
    最近更新 更多