有効なPDFを「Javaシリアライゼーションデータ」にすることはできますか?
私の読者(Zathura)が開けないPDFファイルがあります。それを開く別のリーダー(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の有効なフォーマットですか? …