Я следовал следующему примеру, чтобы просмотреть pdf в своем приложении (Xamarin.iOS). Все работало нормально, пока недавно я не начал замечать, что некоторые файлы PDF не могут быть прочитаны с помощью этого метода.
Я открываю и получаю информацию о своем Mac, и я заметил следующее:
- если я экспортирую документ в pdf с помощью программы просмотра Mac, его можно будет прочитать очень хорошо, но размер увеличится.
- Если я попытаюсь открыть файл как есть, ничего не будет видно, кроме белой страницы.
- Это происходит только для моего приложения для iOS, программа просмотра на моем Android работает нормально.
Я могу экспортировать каждый файл в pdf с помощью программы просмотра Mac, но это дополнительный шаг по сравнению с тем, что мне нужно. Что я могу сделать, чтобы исправить это?
Исходная кодировка: PDFScanLib v1.2.2 в Adobe Acrobat 10.1.16
Кодировка экспорта: Mac OS X 10.10.5 Quartz PDFContext
Я провел дополнительные тесты программы и могу сделать вывод, что проблема связана со сжатием файлов PDF. Есть ли способ, которым CGPDFDocument может удалить или игнорировать сжатие, чтобы я мог просматривать PDF-файл? Я загружаю PDF-файл на свой мобильный сервер, где разделяю страницы. Я использую Pdfsharp для этого, если возможно, есть ли способ очистить файлы перед сохранением на сервере? (Эта проблема затрагивает только версию моего приложения для iOS).
После дополнительного тестирования я обнаружил следующую ошибку: Здесь Похоже, что используемое сжатие JBIG2 имеет известный ошибка, вызывающая ошибки при чтении jpg в pdf. (Я буду продолжать тестирование, пока не найду решение.)
Исправления: Сжатие pdf не JBIG2, а FlateDecode. После тестирования и чтения двоичных данных я заметил, что и оригинал, и экспорт имеют одинаковый тип сжатия. (Будет обновляться с дополнительной информацией, когда я попытаюсь понять это.)