mupdf 无法识别版本标记

mupdf cannot recognize version marker

在 Android 中打开文件并将其解密到缓冲区中并尝试使用 Mupdf OpenBuffer 方法打开文件时,失败并显示以下消息:

无法识别版本标记

查看器显示所有页面为空白,尽管它正确获取了文档中的页数。

保存到文件并打开该文件时,相同的缓冲区运行良好。

我将我使用的代码与 Mupdf 示例进行了比较,没有发现任何显着差异。

这可能是什么原因造成的?提前致谢...

该错误表示:

the first 5 bytes of the file were not %PDF-

您可以尝试添加:

printf("first bytes are: %d, %d, %d, %d, %d", buf[0], buf[1], buf[2], buf[3], buf[4]);

到函数 pdf_load_version() 中的文件 pdf-xref.c - memcmp 之前的行。这可能会揭示缓冲区中的实际内容,也许它以某种方式对某些内容进行了字符串转换?