如何在新选项卡中打开 PDF 文件

2024-01-05

我正在使用 JSF,我想在单击按钮时在新选项卡中打开 PDF 文件。

XHTML

<p:commandButton onclick="this.form.target = '_blank'"
                 actionListener="#{managedBean.openFile(file)}"
                 ajax="false" />

托管bean

public void openFile( File file ) {
FacesContext facesContext = FacesContext.getCurrentInstance();
        ExternalContext externalContext = facesContext.getExternalContext();
        HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
        BufferedInputStream input = null;
        BufferedOutputStream output = null;

        try {
            // Open file.
            input = new BufferedInputStream(new FileInputStream(file), 10240);

            // Init servlet response.
            response.reset();
            // lire un fichier pdf
            response.setHeader("Content-type", "application/pdf"); 
            response.setContentLength((int)file.length());

            response.setHeader("Content-disposition", "attachment; filename=" + node.getNomRepertoire());
            response.setHeader("pragma", "public");
            output = new BufferedOutputStream(response.getOutputStream(), 10240);

            // Write file contents to response.
            byte[] buffer = new byte[10240];
            int length;
            while ((length = input.read(buffer)) > 0) {
                output.write(buffer, 0, length);
            }

            // Finalize task.
            output.flush();
        } finally {
            // Gently close streams.

                output.close();
                input.close();
        }
}

问题是当我使用这种方法时它只下载文件。为了您的信息,我正在关注这篇文章:http://balusc.omnifaces.org/2006/05/pdf-handling.html http://balusc.omnifaces.org/2006/05/pdf-handling.html


你应该改变

response.setHeader("Content-disposition", "attachment; filename=" + node.getNomRepertoire());

into

response.setHeader("Content-disposition", "inline; filename=" + node.getNomRepertoire());

So, use inline代替attachment.

也可以看看:

  • 如何强制文件在浏览器中打开而不是下载(pdf)? https://stackoverflow.com/questions/6293893/how-to-force-files-to-open-in-browser-instead-of-download-pdf
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在新选项卡中打开 PDF 文件 的相关文章

  • 从输出流合并 PDF

    我有两个 PDF 文件 每个文件都在一个ByteArrayOutputStream 我想合并两个 PDF 并且想使用 iText 但我不明白如何制作它 因为它只使用 InputStream 谁能帮我 The ByteArrayOutputS
  • h:message 为空时的默认输出

    我正在寻找一种在 JSF 中实现以下切换的方法 div if empty div
  • 如何使用Python从pdf文件中删除页面?

    我有一些超过 500 页的 pdf 文件 但每个文件中只需要几页 有必要保留文档的标题页 我确切地知道程序应该删除的页数 如何使用安装在 MS Visual Studio 上的 Python 2 7 环境来完成此操作 尝试使用PyPDF2
  • 使用 ApacheFOP 从 Java 中的 XML 生成 PDF

    我正在尝试从 Java 对象生成即时 PDF 报告 我找不到很多这方面的例子 所以我一直在关注这个例子 http svn apache org viewvc xmlgraphics fop trunk examples embedding
  • JsPdf 库无法读取 PDF 中的阿拉伯语

    在 pdf 中显示阿拉伯值的代码不起作用 它向我展示了一些我无法理解的奇怪语言 var sm nature name nature1 ar 1 name nature2 ar 2 name nature3 ar 3 name nature4
  • 是否可以使用“pandoc”将 .tex 文件编译为 PDF?

    是否可以使用 pandoc 编译 tex 文件 我目前正在使用 MacVim 在 MultiMarkdown 中记课堂笔记 这样 当我回到家时 我就可以mmd2tex并使用 TexShop 将 tex 文件编译为 PDF 它效果很好 但这个
  • ui:define with generated="false" 属性仍然呈现

  • jsf中的会话注销问题

    我正在开发一个 Web 应用程序 并使用框架 jsf hibernate 和 spring 应用程序中有不同类型的用户 根据此处登录的用户类型 我为不同的用户类型启用菜单中的链接 用户登录后 会向用户提供菜单栏中的注销链接 我已经编写了 l
  • 如何向 JSF 应用程序发送手动 jQuery Ajax 请求?

    我正在做一个POST 使用 jQuery 的请求似乎成功了 但是我如何在服务器端使用它并修改响应 我是否需要另一个 servlet 因为 Faces Servlet 不是为处理这个问题而设计的 ajax type POST data sta
  • 隐藏嵌入的 pdf 周围的工具栏?

    虽然我认为答案可能在这另一个问题 https stackoverflow com questions 770949 how to disable the default toolbar of pdf page关于pdf规范的回答 是否可以不
  • 创建 PDF/A-3:嵌入文件应包含有效的 Params 密钥

    我正在尝试使用 itextpdf 5 4 5 和 itext pdfa 5 4 5 创建 PDF A 3 当我设置 PdfFileSpecification 时 出现以下异常 com itextpdf text pdf PdfAConfor
  • 在 C# WinForms 中预览文档(Word、Excel、PDF、文本文件等)?

    我正在开发一个 C WinForms 应用程序 我希望能够 预览 其中的各种文档类型 也就是说 当用户从列表中选择文件名时 它会在下面以相同的形式显示所选文件的预览 这很像 Outlook 允许您无需双击即可预览选定邮件的方式 有没有什么方
  • 从支持 bean 更新 PrimeFaces 数据表

    我在 bean 中使用 Schedule Timer 当员工注册从指纹设备获取数据时 它会更新变量 当 bean 中的变量更新时 我需要从支持 bean 更新 jsf 中的组件 我尝试使用 primefaces poll 组件 但它每次都会
  • 适用于 iPhone / iPad / iOS 的快速、精益 PDF 查看器 - 提示和提示?

    最近有很多关于绘制 PDF 的问题 是的 您可以使用UIWebView但这无法提供您所期望的优秀 PDF 查看器的性能和功能 您可以绘制PDF页面到 CALayer http www cocoabuilder com archive coc
  • 文本挖掘 pdf 文件/词频问题

    我正在尝试挖掘一篇具有丰富 pdf 编码和图表的文章的 pdf 我注意到 当我挖掘一些 pdf 文档时 我得到的高频词是 phi taeoe toe sigma gamma 等 它与某些 pdf 文档配合良好 但与其他文档配合使用时却得到这
  • DOCX 到 PDF:SaveAs2、ExportAsFixedFormat 与 PrintOut

    我有一个小小的目标 即使用 C 和 NET 将大量 docx 文件转换为 pdf 而无需打开 Word 可见 且无需使用任何第三方库 需要管理的组件更少 花费的资金也更少 目前 我正在尝试正确转换单个文档 该文档必须尽可能高效 以便快速转换
  • 使用 Django 从标准输出返回 pdf 响应

    我正在使用 wkhtmltopdf 创建 PDF 文件 但是我不知道如何正确返回它们 所以我必须将它们写入我的媒体文件夹 然后重定向到刚刚创建的文件 编辑 Ian 的建议是写入 STDOUT 因此我更改了 wkhtmltopdf 命令来执行
  • Python Selenium 打印另存为 PDF 等待文件名输入

    我正在尝试通过打印对话框将网站另存为 PDF 我的代码允许我另存为pdf 但要求我输入文件名 我不知道如何将文件名传递到弹出框 附上我的代码 import time from selenium import webdriver import
  • Primefaces 进度条未更新?

    我的进度条没有更新 为什么 控制器方法被按其应有的方式调用 并且进程变量被正确递增 XHTML
  • 最小的有效 PDF 是多少?

    出于简单的好奇心 看到了最小的 GIF http probablyprogramming com 2009 03 15 the tiniest gif ever 最小的有效 PDF 文件是多少 这是一个有趣的问题 按照书本 你可以从以下开始

随机推荐

  • fusion 能看穿新型包装吗?

    Given newtype MyVec MyVec unVec Data Vector deriving Functor etc 这将创建 类似于 instance Functor MyVec where fmap f MyVec Data
  • 如何使用 django-tables2 从自定义 sql 渲染表?

    我正在使用 Django 和 django tables2 在 Web 界面中很好地表示 sql 查询 我有一个遗留的 sql 代码 通过标准 models py 定义它非常非常复杂 问题是 如何使用 django tables2 从自定义
  • ld:找不到 -lz 的库

    这让我发疯 当我尝试在模拟器上编译时 一切正常 但在设备上我收到此错误 ld library not found for lz Command Developer Platforms iPhoneOS platform Developer
  • 新版 Google Play 管理中心出现数以千计的奇怪崩溃

    Google Play 管理中心的 ANR 和崩溃部分最近已更新 可显示更多 ANR 和崩溃 自动从选择加入的用户收集 我在各种 Android 版本和设备上发现了很多奇怪的新崩溃 1 最常见的 每周出现数千次 没有任何类名的 ClassN
  • 什么是$cacheFactory?

    我完全找不到任何关于具体内容的信息 cacheFactory是什么以及它如何在您的应用程序中发挥作用 角度文档说 构造缓存对象并提供对它们的访问的工厂 cacheFactory http docs angularjs org api ng
  • 从数组中创建列表

    进行练习时遇到困难雄辩的Javascript书 http eloquentjavascript net 任务是从数组中创建一个列表 该列表是这样的 var list value 1 rest value 2 rest value 3 res
  • 样式输入文件和自动提交

    我试图有一个用户单击的单个文本链接 它会询问用户他 她想要上传哪个文件 然后自动将其发布到表单中 我怎样才能达到同样的效果 我知道我必须设置文件输入的样式 但如何让它在选择文件时自动发布 非常感谢 在页面中嵌入 javascript 是不好
  • Django:模板中显示的多维字典

    我有以下视图 但发现无法通过模板显示 sm request session get active semester semester dates SemesterDates objects filter semester sm schedu
  • jQuery 文件大小

    在jQuery的官方网站上 他们说缩小后的文件大小是18k 但是下载后 我发现是53 9K 下载后我需要做一些压缩吗 该网站声称它已缩小为 18kgzipped 因此 您需要设置 Web 服务器来压缩 JavaScript 文件才能查看文件
  • Outlook VSTO 功能区到主页 tabControlId

    我正在写一个VSTO http en wikipedia org wiki Visual Studio Tools for Office 微软Outlook http en wikipedia org wiki Microsoft Outl
  • 使用 Gmail API 从 Gmail 下载附件

    我在用邮箱API https developers google com gmail api访问我的 Gmail 数据以及谷歌Python API客户端 https github com googleapis google api pyth
  • 从 sklearn.pipeline.Pipeline 获取转换器结果

    我正在使用一个sklearn pipeline Pipeline我的聚类对象 pipe sklearn pipeline Pipeline transformer1 transformer1 transformer2 transformer
  • Javascript 按随机百分比机会执行函数

    可以说 我想按百分比机会触发一个函数 function A console log A triggered 50 chance to trigger if Math random gt 0 5 A 现在我想添加更多功能来偶然触发 我所做的是
  • Excel 将字段添加到 Xml 映射

    我在 Excel 2010 工作表上有一个 XML 地图 我会定期从 XML 文件的内容中刷新该地图 我最近向 XML 数据添加了一个新字段 并希望它显示在我的 XML 地图上 我只是希望能够添加新字段 但它看起来虽然必须再次导入整个结构
  • 您可以使用 NEST 2 从 InnerHits 获得强类型命中吗?

    我正在使用 NEST 2 客户端对我们的 Elasticsearch 执行查询 我们有一个查询 用于查询嵌套文档数组 并使用 InnerHits 在结果中包含嵌套文档的匹配项 有没有办法将 InnerHits 的结果强类型化到特定的 POC
  • 在 Firemonkey 中移动无边框表单

    在我使用的VCL形式中WM 系统命令 但在 firemonkey 中它是未声明的 我测试这段代码 procedure TForm4 dragPanelMouseDown Sender TObject Button TMouseButton
  • 为什么 VS 警告我 typeof(T) 永远不是泛型方法中提供的类型,其中类型参数仅限于实现 T?

    我希望这个问题是正确的 所以让我们举个例子 想象一下以下通用方法 public abstract class Base IDisposable public static IEnumerable
  • redux-form - 带有 FieldArray 组件的 asyncBlurFields

    我想知道如何在 FieldArray 内的 Field 组件上触发异步验证 我有类似的东西 class MyForm extends Component constructor props super props render const
  • 动态创建文本框 MVVM?

    我可以在我已经实现的 C 代码中动态创建文本框 但人们一直说我需要遵循 MVVM 模式 我研究了一下 它看起来真的很难 我只是无法习惯它 我需要动态创建文本框 将文本框中的信息保存到 SQL 然后能够重新打开它 这是一张描述我需要做的事情的
  • 如何在新选项卡中打开 PDF 文件

    我正在使用 JSF 我想在单击按钮时在新选项卡中打开 PDF 文件 XHTML