有效的PDF可以是“Java序列化数据”吗?
我有一个PDF文件,我的读者(Zathura)无法打开。我有另一个读者(mupdf)打开它。我相信Zathura依赖于检测文件魔术值(前几个字节),因为除了PDF之外它还可以打开其他格式。 在检查时,我注意到它被检测为Java serialisation data, version 5。 $ file document.pdf document.pdf: Java serialization data, version 5 检查前几个字节: 00000000: aced 0005 7572 0002 5b42 acf3 17f8 0608 ....ur..[B...... 00000010: 54e0 0200 0078 7000 0389 9525 5044 462d T....xp....%PDF- 通常,PDF将以%PDF字节0 开头。 如果我剥离前27个字节,我可以打开文件: $ dd if=~/Downloads/file.pdf skip=27 bs=1 of=/tmp/file.pdf 进一步检查显示该文件是由Apache FOP 1.1版生成的。尽管有相当多的谷歌,我找不到这种格式的PDF格式。 这是PDF的有效格式吗? 更新已经深入到标题中它似乎是一个java序列化数组,其中'array'包含PDF文件数据。我查看了序列化协议的规范,特别是语法描述 …