如何在不加载到内存的情况下对pdf的inputstream设置权限?

zz2j4svz  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(243)

我有一个http端点,它在响应体中返回一个pdf文件。我现在加载为 byte[] 进入记忆然后做 PDDocument.load() 用pdfbox解析。这让我联想到 AccessPermission 对象,然后ftp文件等。
我的用例涉及突发流量和一些文件有时非常大。我想通过“在运行中”执行这个简单的操作来减少jvm所需的最大堆大小,也就是说,用一个薄层 Package http响应inputstream,该薄层在特定索引处变异/替换字节,其效果是将权限更改为 AccessPermission 就可以了。然后这个流可以被传递到ftp库,我可以实现定制和分发,而无需将文件完全加载到内存中。
我的问题是,是否有任何库可以进行这种现成的流修改,或者这需要阅读pdf规范并从头开始编写逻辑?
注意:我知道pdfbox选项使用临时文件而不是主内存,我想知道是否有一个更有效的方法,因为我的定制需求是温和的,预计不会改变。此外,权限本质上是布尔的,所以我的定制所需要做的似乎就是将一些位翻转到正确的选择上。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题