当前位置: 首页 > 知识库问答 >
问题:

从Servlet显示PDF的问题

云利
2023-03-14
try {
    String text = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
    Document document = new Document();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    PdfWriter.getInstance(document, baos);
    document.open();
    document.add(new Paragraph(text));
    document.close();

    response.setHeader("Expires", "0");
    response.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");
    response.setHeader("Pragma", "public");
    response.setContentType("application/pdf");
    response.setContentLength(baos.size());
    OutputStream os = response.getOutputStream();
    baos.writeTo(os);
    os.flush();
    os.close();
}
catch(DocumentException e) {
    throw new IOException(e.getMessage());
}
<object id="mypdfobject" type="application/pdf" style="background-color: orange;color: black">
</object>
java prettyprint-override">$.post("../paymailcontroller?uid="+uId,function(pdata){     
         var objectPDF = document.getElementById("mypdfobject");
         objectPDF.data=pdata;
    });

如何在任何浏览器中显示创建的pdf?

当前的输出是这样的,基本上是原始的PDF:

%PDF-1.4%2 0 obj<>流x+r 26 s 00 si 2 p 5 1 b 4>>>>/父3 0 r/mediabox[0 0 595 842]>>内dobj 1 0 obj<>内dobj 3 0 obj<>内dobj 5 0 obj<>内dobj 6 0 obj<>内dobj xref 0 7 000 000000000 65535 f 00000000333 00000 n 000000000015000 n%%EOF

共有1个答案

翁俊良
2023-03-14

您必须设置内容配置。有两种可能:

(1)在浏览器中显示PDF

response.setHeader("Content-Disposition", "inline; filename=\"" + filename + "\";");

(2)打开下载下载文档

response.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\";");
$("#" + this.divId).append('<object id="' + this.pdfObjectId + '" data="' + yourserver + path + file+'" type="application/pdf" width="768" height="1024"></object>');
response.setStatus(HttpServletResponse.SC_OK);
response.setHeader("pragma", "no-cache");
response.setContentType("application/pdf");
 类似资料:
  • 问题内容: 我从这段代码中从laravel dompdf返回流数据 这是我的JS ajax代码 这是在ajax之后显示pdf的HTML 我低于错误 无法加载PDF文档 请帮助解决此问题。如何显示PDF文件。 问题答案: 默认情况下没有设置。您可以使用polyfill,例如实现二进制数据传输的jquery- ajax-blob-arraybuffer.js ,也可以利用。 。用element代替el

  • 我正在尝试使用Swift在我的iOS应用程序中显示pdf。我从服务器得到的响应是pdf数据,它看起来如下所示: %PDF-1.4%ôiá1 0 obj 我检查了iOS PDF阅读器和PDFKit,但主要问题是我不明白如何处理应用程序中的响应。 有什么想法吗?谢谢!

  • 问题内容: 我正在尝试检索对存储在目录中的文件的引用,该文件名为。我尝试这样做如下: 不知何故,当目录中存在do 时,我得到了。我使用和返回数组中的每个元素验证了它。 其中,我尝试获取对PDF文件的引用,然后使用设备上已安装的任何PDF查看器来查看PDF。 我猜想由于前一个问题(检索对文件的引用)返回了,因此下一个被剪切的代码失败了: 有人知道为什么我无法检索对该文件的引用吗?以及为什么我不能使用

  • 我有一个带有ASP.NetWeb API的angular2项目。我有代码从我的数据库中检索到服务器上文档的文件路径。然后我想在浏览器的新选项卡中显示这个文档。有人有什么建议吗? 我很高兴在Angular2(Typescript)或我的API中检索文件并将其流式传输。 这是我尝试在我的API中检索它,但我不知道如何在Angular2中接收它并正确显示它: 任何帮助将不胜感激。 非常感谢!!!

  • 我是jQuery新手,在jsp中将数据从servlet显示到jqGrid时遇到了困难。我使用google gson将数据从ArrayList转换为字符串变量json。当我运行项目时,它在控制台中显示json数据,并显示一个空网格。 Student.java 学生数据服务。JAVA 我的servlet代码: ervlet.java 我的JSP页面: 滑溜的网格演示。jsp

  • 本文向大家介绍Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题,包括了Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题的使用技巧和注意事项,需要的朋友参考一下 项目地址:https://github.com/PythonerKK/django-generate-pdf/tree/master 这个demo实现了通过用户输入自己的个人信息生成一份简历pdf