求教, Java 该如何实现懒加载一个 pdf 文件呢?

2023-05-29 21:24:28 +08:00
 c00WKmdje2wZLrSI

使用 pdfbox 的 PDDocument.load()方法的话会把整个 pdf 都加载到内存里去,但是我并不想那么做,比方说我想只加载 5 页,然后看完后再加载 5 页这种方式。 就像 comic screen 一样,打开 smb 里的大一点 pdf 文件都可以秒开,而其他 pdf 阅读器都要先把整个 pdf 下载完才能打开,它是如何实现的?

1307 次点击
所在节点    问与答
5 条回复
blankmiss
2023-05-29 23:52:32 +08:00
不知道 我问了 gpt 感觉它在胡说八道
oneisall8955
2023-05-30 00:16:38 +08:00
https://shareg.pt/lyXDGue

不知道行不行,请实测
c00WKmdje2wZLrSI
2023-05-30 09:05:15 +08:00
@oneisall8955 不行,PdfWriter 和 PdfDocument 参数都不对,PdfDocument 也没有 getPage 和 getContentBytes 方法
c00WKmdje2wZLrSI
2023-05-30 09:05:58 +08:00
@blankmiss 是的,它给出的方法不符合要求
Robertwhite
2023-05-30 14:06:24 +08:00
我也一直想知道,百度云盘网页打开 pdf 就是几页几页加载的,不知道是怎么做到的,阿里云盘就比较啥,同样的文件,直接说文件太大不能打开

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/944014

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX