gpt4 book ai didi

java - pdf.js:来自 servlet 的 PDF 文件,需要一个变量

转载 作者:行者123 更新时间:2023-12-01 23:48:06 25 4
gpt4 key购买 nike

我正在使用 pdf.js 在 GWT 应用程序中查看 PDF 文件。我已经将查看器完全作为构建操作的产品来实现,如 readme 中所述。 .

当我使用带有静态 pdf 的查看器时,效果很好。然而,当我提供提供 pdf 服务的 servlet 的链接时,pdf 查看器不会加载。

工作正常

http://127.0.0.1:8888/pdfjs/web/viewer.html?file=http://127.0.0.1:8888/staticpdf.pdf

不起作用

http://127.0.0.1:8888/pdfjs/web/viewer.html?file=http://127.0.0.1:8888/api/getPdf?nodeRef=001

http://127.0.0.1:8888/api/getPdf?nodeRef=001 生成一个 pdf 文件。 servlet 一直有效。

这不起作用,因为pdf.js#getDocument继续进行不带参数的GET调用,而servlet需要nodeRef:

GET http://127.0.0.1:8888/api/getPdf?nodeRef
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 0

我如何实现java servlet和pdf.js以便能够查看给定某个nodeRef的PDF文件?(只有servlet知道如何转换nodeRef)转换为 PDF,我需要 PDF 的路径保持隐藏)

我一直在思考 api/getPdf/001 的思路,但不知道如何在 tomcat 服务器上捕获它,以及是否可能。

最佳答案

事实证明,我在 pdf.js 中想得太多了,我已经对它进行了数小时的修改,甚至这个问题本身也已经改变了十几次,因为我不断寻找新的线索。

但是,我现在找到了一个简单的解决方案。

  • 我访问的 servlet 不是 /getPdf?nodeRef=001,而是 /getPdf/001
  • 我的 servlet 映射现在是 /getPdf/*

Servlet 在 doGet 中包含以下新代码:

String nodeRef = request.getPathInfo().substring(1);

这省略了 url 中对基本 GET 参数的需要,至少采用 ?a=1&b=2 格式,并且可以很好地将变量传递给使用 pdf.js 返回 PDF 文件的 servlet。

编辑:我编辑了我的问题标题以反射(reflect)情况,以便那些也偶然发现这个问题的人可以在这里找到答案。

关于java - pdf.js:来自 servlet 的 PDF 文件,需要一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16680433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com