gpt4 book ai didi

php - 在 PHP 中从/Filter/FlateDecode PDF 流中提取数据

转载 作者:IT王子 更新时间:2023-10-29 01:03:55 25 4
gpt4 key购买 nike

我无法像这样从流中解密数据:

    56 0 obj 
<< /Length 1242 /Filter /FlateDecode >>
stream
x]êΩnƒ Ñ{ûbÀKq¬æ\âê¢....(whole binary is omitted)
endstream
endobj

我尝试在文件和二进制字符串中分离二进制内容 (x]êΩnƒ Ñ{ûbÀKq¬æ\âê¢....)。解码函数 gzinflate($encripted_data) 向我发送解码错误,我认为这是因为编码内容未“缩小”左右。

在 PDF Reference v 1.7(第六版)的第 67 页,我发现/FlateDecode 过滤器的描述为:...解压缩使用 zlib/deflate 压缩方法编码的数据,再现原始文本或二进制数据

我需要真正的原始解决方案,又名 php 函数或/和算法如何处理这个“\FlateDecoded”流。

谢谢!

最佳答案

由于您没有告诉您是只需要访问 一个 解压缩流还是需要解压所有流,所以我建议您使用一个简单的命令行工具,它可以一次性完成完整的 PDF:Jay Berkenbilt 的 qpdf

命令行示例:

 qpdf --qdf --object-streams=disable in.pdf out.pdf

out.pdf 然后可以在文本编辑器中检查(只有嵌入的 ICC 配置文件、图像和字体仍然可以是二进制的)。

qpdf 还将自动重新排序对象并以标准化方式显示 PDF 语法(并在注释中告诉您解压缩对象的原始对象 ID 是什么)。

如果您需要重新压缩文件(可能在您编辑后),只需运行以下命令:

 qpdf out-edited.pdf out-recompressed.pdf

(您可能会看到一些警告消息,告诉您该实用程序正在尝试修复损坏的文件......)

qpdf 是多平台和available from Sourceforge .

关于php - 在 PHP 中从/Filter/FlateDecode PDF 流中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11731425/

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