【问题标题】:Displaying pdf file as embedded from servlet [duplicate]将pdf文件显示为从servlet嵌入[重复]
【发布时间】:2016-06-20 15:35:28
【问题描述】:

我对这个领域很陌生。如果这是愚蠢的,我很抱歉。

我有一个 HttpServlet 代码如下:

@WebServlet("file")
public class FileResource extends HttpServlet {

    private static final long serialVersionUID = -7698183933607633414L;

    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse resp) {

        resp.setContentType("application/pdf");
        resp.setHeader("Content-Disposition", "inline");

        File file = new File("/home/nabin/12403.pdf");
        long fileSize = file.length();
        resp.setContentLengthLong(fileSize);

        try {
            InputStream in = new BufferedInputStream(new FileInputStream("/home/nabin/12403.pdf"));
            OutputStream out = new BufferedOutputStream(resp.getOutputStream());

            for (;;) {
                byte[] buffer = new byte[4096];
                int n = in.read(buffer);
                if (n == -1)
                    break;
                out.write(buffer, 0, n);
            }

            out.close();
            in.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

我有一个 xhtml 文件,我想在其中显示该 pdf 文件。我想将其显示为嵌入的。

<embed src="../questions/#{FileResource.get}.pdf" width="105%"
                            height="825px" />

现在我可以使用 localhost:8080/myapp/file 访问 pdf 文件 我应该如何进行?

【问题讨论】:

    标签: java servlets jakarta-ee


    【解决方案1】:

    pdf.js 可用于显示pdf文件 https://github.com/mozilla/pdf.js

    【讨论】:

    • 那么这个js项目和java-ee有什么关系呢?我应该整合吗?
    • 我认为你需要添加那个库,我已经使用 iText 库进行 pdf 你也可以尝试一下,希望对你有帮助
    • 我觉得效果不错。
    【解决方案2】:

    我现在可以在 iframe 中看到响应。

    现在我发送请求查询如下:

    <iframe src="/myapp/file?id=#{param.id}"/>
    

    在 servlet 类中,我使用 getParameter("id"); 方法检索 id

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      • 2012-01-04
      • 2020-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多