【问题标题】:Can PDF streams using the FlateDecode filter be read incrementally?可以增量读取使用 FlateDecode 过滤器的 PDF 流吗?
【发布时间】:2015-04-10 00:50:58
【问题描述】:

我正在开发一个用 Java 读取和呈现 PDF 文件的库。 PDF 流应该以增量方式读取,但我不知道使用 FlateDecode 过滤器如何工作,因为数据被压缩的方式。如果整个流被读取和解码,我只能解码数据,而不仅仅是一部分。

是否有可能以增量方式读取这样的数据?还是我需要先全部解码?

【问题讨论】:

  • 是否有可能以增量方式读取这样的数据? - 增量解码的实际问题是什么?由于压缩算法的性质,您显然必须从流的开头开始。但是,您是否首先将整个流解压缩为某个数组并将其转发到后处理,或者是否在解码后立即转发字节(使用某些流式架构)显然取决于您。

标签: java pdf stream deflate inflate


【解决方案1】:

是的,deflate 流可以增量解压缩。这通常是使用 zlib 中的inflate() 函数完成的。 zlib 在 Java 中的 inflate 接口是 Inflater class(很遗憾拼写错误——它应该是 Inflator)。

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2014-03-24
    • 2016-02-14
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    • 2014-06-30
    • 2012-07-28
    • 2020-01-15
    相关资源
    最近更新 更多