Others

Почему PDF-файл отображает искаженные символы при открытии в другой операционной системе

Вы открываете PDF-файл на своем ноутбуке с Windows, и все выглядит идеально. Вы отправляете его коллеге, который использует Mac, и он видит случайные символы, квадратные рамки или вопросительные знаки, разбросанные по всему документу. На компьютере с Linux в том же файле могут отображаться пустые места вместо текста. Этот неприятный опыт случается чаще, чем думает большинство людей, и почти всегда он сводится к тому, как разные операционные системы обрабатывают шрифты, встроенные в файлы PDF.

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

Why Does a PDF Display Garbled Characters When Opened on a Different Operating System

Самая распространенная причина: отсутствующие или невстроенные шрифты.

Когда кто-то создает PDF-файл из документа Word, Google Doc или приложения для дизайна, такого как InDesign, программное обеспечение решает, встраивать ли шрифты непосредственно в PDF-файл или просто ссылаться на них. Встраивание шрифтов означает, что фактические данные шрифта упаковываются внутри файла PDF. Ссылка на шрифт просто записывает, какой шрифт использовался, и ожидает, что он установлен на устройстве чтения.

Microsoft Word в Windows обычно использует такие шрифты, как Calibri, Cambria или Times New Roman. Когда создатель PDF-файла решает не встраивать шрифты (часто для того, чтобы уменьшить размер файла), в PDF-файле сохраняется только имя шрифта, а не фактические формы символов. Mac, открывающий этот файл, ищет Calibri, но находит либо другую версию Calibri, либо вообще не находит совпадений. Затем программа просмотра PDF-файлов на Mac возвращается к использованию замещающего шрифта, и сопоставление символов между исходным шрифтом и замещающим шрифтом редко совпадает идеально.

Анализ, проведенный Ассоциацией PDF в 2024 году, показал, что проблемы, связанные со шрифтами, составляют примерно 40% всех проблем рендеринга PDF на разных платформах (Ассоциация PDF, «Обзор ошибок рендеринга PDF», 2024). Сбои при замене шрифта особенно распространены при использовании нелатинских шрифтов, таких как кириллица, CJK (китайский, японский, корейский), арабский и иврит, где в заменяющем шрифте может полностью отсутствовать необходимый набор символов.

По этой же причине вы можете столкнуться с проблемами PDF Fonts в документах, в которых используются пользовательские или лицензионные шрифты. Приложения для дизайна часто используют шрифты премиум-класса, которые не распространяются свободно. Если дизайнер забудет их встроить или лицензия на шрифт запрещает встраивание, любой, кто откроет PDF-файл без установленного конкретного шрифта, увидит искаженный текст.

Один и тот же документ, просмотренный в другой операционной системе, может выглядеть совершенно по-разному. PDF-файл, который правильно отображается на компьютере с Windows, где он был создан, может отображать тофу (название пустых прямоугольных полей, которые появляются, когда в шрифте отсутствует определенный символ) в системе Mac или Linux. Эту несогласованность можно полностью предотвратить на этапе создания PDF-файла.

WukongPDF

Попробуйте восстановить PDF

Никакой установки не требуется. Работает прямо в вашем браузере.

Начать →

Конфликты кодировок символов между Windows, macOS и Linux

Использование PDF-инструмента на основе браузера также означает, что вам никогда не придется устанавливать или обновлять программное обеспечение. Инструмент работает на удаленных серверах и предоставляет результаты через ваш браузер, поэтому у вас всегда есть доступ к последней версии без необходимости загрузки. Это особенно удобно, когда вам нужно быстро обработать файл на устройстве, где у вас нет прав администратора для установки программ.

Помимо отсутствия шрифтов, кодировка символов является второй основной причиной, по которой PDF-файлы отображаются по-разному на разных платформах. Кодировка символов — это система, которая сопоставляет числовые коды с определенными формами символов. При создании PDF-файла каждому символу в документе присваивается код, основанный на кодировке, используемой исходным приложением. PDF Просмотр в другой ОС может привести к неправильной интерпретации этих кодов.

Приложения Windows исторически используют устаревшие кодовые страницы, такие как Windows-1252 для западноевропейских языков или Shift-JIS для японского языка. Приложения Mac, как правило, используют кодировки на основе Unicode. В системах Linux по умолчанию используется UTF-8. Когда PDF-файл, созданный в Windows с кодировкой, специфичной для Windows, открывается в системе, которая интерпретирует те же числовые коды по-разному, в результате получается моджибаке — термин, обозначающий искаженный текст, вызванный неправильной кодировкой символов.

Проблема чаще всего проявляется со специальными символами: умными кавычками, знаками ударения, символами валют и математическими обозначениями. PDF-файл, созданный на европейском языке, в котором используются символы с диакритическими знаками, такие как é, ö или ñ, может отображать эти символы как зашифрованные символы при открытии в системе с другой кодировкой по умолчанию. Спецификация PDF включает механизмы для явного определения кодировки символов внутри файла, но не все программы для создания PDF реализуют их правильно и последовательно.

PDF-файлы на азиатском языке особенно уязвимы. Документы, содержащие текст на китайском, японском или корейском языке, созданные в системе с использованием устаревшей кодировки, могут не иметь встроенных необходимых карт символов. Открытие такого файла в другой операционной системе может привести к полной тарабарщине, а не к нескольким искаженным символам. Для организаций, которые обрабатывают многоязычные документы, проблемы с кодировкой представляют собой реальный бизнес-риск, который может повлиять на контракты, юридические документы и общение с клиентами.

Поврежденные таблицы шрифтов и поврежденная структура PDF

Проблемы со шрифтами не всегда вызваны отсутствием файлов. Иногда данные шрифта присутствуют в PDF-файле, но повреждены. PDF-файл хранит информацию о шрифтах в структурах, называемых таблицами шрифтов, которые сопоставляют коды символов с описаниями глифов. Если эти таблицы будут повреждены во время передачи файлов, неполной загрузки или ошибок диска, приложение чтения не сможет правильно интерпретировать данные шрифта, даже если оно технически встроено.

Частичная коррупция может привести к самым запутанным результатам. Вы можете видеть правильный текст на большинстве страниц, но искаженные символы на определенных страницах или буквы, которые правильно отображаются в заголовках, но не отображаются в основном тексте. Эти закономерности возникают потому, что разные части PDF-файла ссылаются на разные поднаборы шрифтов, и только некоторые из этих поднаборов повреждены.

Подход Repair PDF часто необходим, если вы заметили, что тот же файл на прошлой неделе отображался правильно, а сегодня показывает искаженный текст. Такая закономерность изменения со временем почти всегда указывает на повреждение данных, а не на проблему подмены шрифта. Повреждение файла может произойти во время передачи электронной почты, синхронизации с облаком или даже когда устройство хранения начинает выходить из строя.

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

Нестандартные форматы шрифтов и устаревшие версии PDF

Формат PDF значительно изменился с момента его появления в 1993 году. В старых файлах PDF могут использоваться форматы шрифтов, которые современные программы просмотра больше не полностью поддерживают. Шрифты типа 1 (PostScript) были стандартными в ранних PDF-файлах, но Adobe начала прекращать их поддержку в 2021 году и завершила поэтапный отказ от них в 2023 году (Adobe, «Окончание поддержки шрифтов PostScript Type 1», 2023). Открытие PDF-файла, содержащего шрифты Type 1, в текущей версии Adobe Acrobat или современной программе просмотра на базе браузера может вызвать резервный вариант шрифта, что приведет к искажению вывода.

Аналогичным образом, некоторые создатели PDF-файлов встраивают шрифты в собственные или сжатые форматы, которые может полностью декодировать только их собственное программное обеспечение. PDF-файл, созданный в более старой версии AutoCAD, может использовать шрифты SHX, которые по сути представляют собой файлы форм, а не стандартные форматы шрифтов. Большинство универсальных программ просмотра PDF-файлов не могут правильно их отобразить, а результат в другой операционной системе предсказуем: случайные символы, невыровненные символы или пробелы.

Специально закодированные шрифты представляют собой еще одну проблему. Некоторые инструменты создания PDF-файлов создают собственную кодировку символов «на лету», сопоставляя глифы, используемые в документе, с произвольными позициями в таблице шрифтов. Если программа чтения PDF неправильно анализирует эту пользовательскую кодировку, она отображает неправильные глифы. Текст по-прежнему может выглядеть как настоящие слова, но с заменой или перестановкой букв, что иногда хуже, чем очевидный мусор, поскольку читатель может не сразу понять, что содержание неверно.

Как исправить PDF-файл с искаженными символами

Если вы столкнулись с искаженным PDF-файлом, существует несколько способов восстановить читаемый текст. Чаще всего самым быстрым решением является воссоздание PDF-файла из исходного исходного документа. Откройте исходный файл Word, Google Doc или файл дизайна и повторно экспортируйте его в формате PDF с явно включенным встраиванием шрифтов. В Microsoft Word этот параметр находится в меню «Файл», «Параметры», «Сохранить», а затем установите флажок «Встроить шрифты в файл». В Документах Google при загрузке в формате PDF всегда используются шрифты. В Adobe InDesign или Illustrator внедрение шрифтов контролируется в настройках экспорта на панели «Дополнительно».

Если исходный исходный документ недоступен, WukongPDF может повторно обработать файл с помощью своего механизма на основе браузера, который нормализует данные шрифта и разрешает конфликты кодировки независимо от операционной системы, используемой для просмотра выходных данных. Специальный инструмент Repair PDF также может помочь, анализируя внутренние таблицы шрифтов PDF и пытаясь восстановить их или сопоставить существующие коды символов со стандартными значениями Unicode.

Печать PDF-файла в новый PDF-файл — еще один практический обходной путь. Большинство операционных систем включают функцию «Печать в PDF». или «Сохранить как PDF». в диалоговом окне печати. Когда вы печатаете искаженный PDF-файл в новый PDF-файл, системный конвейер печати отображает каждую страницу как изображение, а затем записывает ее в новый, чистый PDF-файл. Этот процесс полностью удаляет проблемные ссылки на шрифты и встраивает только визуальное представление. Компромисс заключается в том, что в новом PDF-файле не будет текста, доступного для выбора или поиска, поскольку символы отображаются как графические элементы.

Для PDF-файлов с проблемами кодировки, а не с отсутствующими шрифтами, преобразование файла в промежуточный формат может сбросить сопоставление символов. Некоторые инструменты могут извлечь необработанный текст из PDF-файла и записать его в новый файл с правильной кодировкой Unicode. Этот подход хорошо работает для документов, которые отображают искаженный текст латинского алфавита, вызванный несоответствием кодировки, но может не помочь с пользовательскими или собственными кодировками шрифтов. В таких случаях метод печати в PDF является более надежным.

Предотвращение проблем со шрифтами при создании PDF-файлов для кроссплатформенного использования

Предотвратить гораздо проще, чем ремонтировать. Если вы регулярно создаете PDF-файлы, которые будут использоваться в разных операционных системах, несколько привычек помогут устранить практически все проблемы с отображением, связанные со шрифтами.

Во-первых, всегда встраивайте шрифты при экспорте в PDF. Каждое крупное приложение для работы с документами и дизайном предлагает эту опцию, хотя она может называться по-разному: «Встроить шрифты», «Встроить шрифты», «Встроить шрифты», «Встроить шрифты». "Включить шрифты" или «Подмножество шрифтов». Поднабор шрифтов включает в себя только те символы, которые фактически используются в документе, а не весь файл шрифта, что позволяет управлять размером PDF-файла, сохраняя при этом все необходимые символьные данные. Небольшое увеличение размера файла — небольшая цена за гарантированную кросс-платформенную читаемость.

Во-вторых, придерживайтесь стандартных или широко доступных шрифтов, если встраивание невозможно по причинам лицензирования. 14 стандартных шрифтов Type 1, определенных в исходной спецификации PDF, включая Times, Helvetica, Courier и Symbol, гарантированно доступны в каждой программе чтения PDF-файлов независимо от операционной системы. Современные эквиваленты, безопасные для разных платформ, включают Arial, Times New Roman и семейство шрифтов Google Noto, которое охватывает более 1000 языков и свободно распространяется.

В-третьих, протестируйте свой PDF-файл хотя бы в одной другой операционной системе, прежде чем широко его распространять. Откройте файл на устройстве под управлением другой ОС, отличной от той, которую вы использовали для его создания. Проверьте не только первую страницу, но и несколько страниц по всему документу и обратите особое внимание на любые специальные символы, буквы с диакритическими знаками или нелатинский текст. Пять минут тестирования могут предотвратить часы путаницы для ваших получателей.

В-четвертых, проверьте свойства PDF после создания. Большинство программ просмотра PDF-файлов могут отображать список шрифтов, используемых в документе, и указывать, встроен ли каждый шрифт или нет. В Adobe Acrobat это находится в разделе «Файл», «Свойства», «Шрифты». В средствах просмотра на основе браузера список шрифтов обычно доступен через свойства документа или инструменты инспектора. Если вы видите шрифты, перечисленные с пометкой "(Встроенные)" рядом с ними файл должен корректно отображаться на разных платформах.

Наконец, рассмотрите возможность использования формата PDF/A для документов, которым требуется долгосрочная кроссплатформенная надежность. PDF/A — это стандартизированная по стандарту ISO версия PDF, которая требует внедрения шрифтов и запрещает функции, которые могут привести к несогласованности рендеринга. Он был разработан специально для случаев использования архивирования, когда документы должны оставаться читабельными в течение десятилетий, независимо от того, как развиваются операционные системы и технологии шрифтов.

WukongPDF

Попробуйте восстановить PDF

Никакой установки не требуется. Работает прямо в вашем браузере.

Начать →