mupdf не может распознать маркер версии

При открытии и расшифровке файла в буфер в Android и попытке открыть файл с помощью метода Mupdf OpenBuffer происходит сбой со следующим сообщением:

не удается распознать маркер версии

Программа просмотра показывает все страницы пустыми, хотя количество страниц в документе получает правильно.

Тот же буфер при сохранении в файл и открытии этого файла работает отлично.

Я сравнил код, который использую, с образцом Mupdf и не нашел ничего существенного.

Что может быть причиной этого? Заранее спасибо ...


person Muotaz    schedule 21.08.2015    source источник


Ответы (1)


Эта ошибка означает:

первые 5 байт файла не были %PDF-

Вы можете попробовать добавить:

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

в файл pdf-xref.c в функции pdf_load_version() - строка перед memcmp. Это может показать, что на самом деле находится в буфере, возможно, он каким-то образом прошел преобразование строки чего-то?

person JosephH    schedule 27.08.2015
comment
Да действительно, перед заголовком PDF была какая-то фигня, но что еще страннее, так это то, что при сохранении того же буфера в файл он открывается любым просмотрщиком без проблем. Спасибо! - person Muotaz; 28.08.2015