PDF-файлы, созданные на iPad, некорректно отображаются в Windows - PullRequest
5 голосов
/ 07 апреля 2010

Приложение для iPhone создает файлы PDF (шрифтом Arial). Обычная версия для iPhone 3.1.x прекрасно работает (кроме известной проблемы, что файлы PDF, созданные на iPhone, не могут быть правильно просмотрены в Google Docs или на BlackBerry).

Поскольку я обновляю свой проект для OS 3.2 и iPad, он работает точно так же, и файлы PDF по-прежнему выглядят великолепно на iPhone, iPad и Mac OS X (приложение Preview). Но теперь в Windows (Vista) Acrobat 9.3.1 говорит: «Невозможно извлечь встроенный шрифт« XYZABC + ArialMT ». Некоторые символы могут отображаться или печататься неправильно».

А на самом деле Acrobat затем использует какой-то общий шрифт вместо Arial (или любой другой шрифт, который я пробую).

Кажется, что Quartz 3.2 генерирует эти «случайные» имена встроенных шрифтов каждый раз, когда создает файл PDF (XYZABC меняется каждый раз). Я не могу сказать, является ли проблема просто несколько странным «временным» именем встроенного шрифта со знаком плюс, или способом, которым Quartz 3.2 встраивает шрифты.

Я попробовал свой существующий код (используя CGPDFContext* функции), а также недавно поддерживаемые функции UIGraphics*, с теми же результатами.

Как файлы PDF могут быть созданы на iPad для правильного отображения в Windows?

Ответы [ 4 ]

3 голосов
/ 19 августа 2010

Важное обновление : начиная с iOS 4.2, Apple исправила ошибку, о которой я сообщил; PDF-файлы, созданные с помощью Quartz на iOS, теперь содержат правильно встроенные шрифты. Я оставляю оставшуюся часть этого ответа как есть, но не используйте этот механизм на iOS 4.2 или более поздней версии.

Adobe Reader правильно, если не помогает, соответствует спецификации PDF. Я исследовал это, потому что это влияло на одно из моих приложений, и задокументировал мои выводы здесь: http://blog.nomzit.com/2010/08/18/annoying-bug-in-quartz-pdfcontext-font-handling/

Там описан простой обходной путь, который заставляет Adobe Reader вести себя так же, как и более полезные альтернативы.

Я также сообщил об ошибке в Apple

1 голос
/ 05 августа 2010

Попробуйте использовать Foxit Reader для открытия PDF-файлов в Windows вместо Adobe Reader. У меня это сработало.

0 голосов
/ 21 августа 2010

В дополнение к анализу Фила, я обнаружил, что у нескольких пользователей Windows не было установлено ни одного, ни нескольких стандартных шрифтов (таких как Helvetica).PDF-файлы, сгенерированные с помощью Quartz, будут ссылаться на один из этих стандартных шрифтов, который Adobe Reader будет отображать, используя следующий ближайший шрифт в своей справочной таблице, что приведет к получению странно выглядящих PDF-файлов.Стандартные системные шрифты iPhone / iPad не были встроены должным образом, возможно, из-за того, что Фил обнаружил в сгенерированных кварцем PDF-файлах.

Во всех случаях, с которыми я столкнулся, это было решено с помощью установки пользователем Helvetica(или любой другой отсутствующий шрифт) на компьютере Windows, после чего файлы PDF будут отображаться правильно.

0 голосов
/ 13 апреля 2010

При использовании Pages на iPad возникает та же проблема. Мне было бы интересно найти ответ:

http://discussions.apple.com/thread.jspa?threadID=2389034&tstart=0

...