Использование ArialMT для арабского текста без встраивания шрифта с PDFBox
Я использую Apache PDFBox для написания арабского текста на странице без встраивания шрифта. Похоже, что ArialMT, как правило, доступен, так что PDFBox будет работать, и программа просмотра PDF не будет иметь проблем с окончательным документом; однако мне не удалось раскрыть кодовую стратегию, с помощью которой можно использовать шрифт, но она не будет внедрена.
Примечание: это вполне возможно по стандарту PDF, и я видел такие сгенерированные документы.
ADDENDUM (дальнейшее объяснение дела)
Особый случай для не внедренного шрифта - это случай, когда я генерирую документ с изображениями и помещаю невидимый текст (например, полученный с помощью OCR) поверх изображений. При соответствии стандарту PDF/A, встраивание шрифта в таких случаях не является необходимым, так как изображение является единственным источником для растеризации документа. "Стандартные 14" шрифты не включают арабские кодовые точки, так что для работы PDFBox нужно будет сослаться на другой шрифт, но загрузка шрифта делает его встроенным.
1 ответ
Чтобы уточнить комментарий Тилмана,
То, что ты можешь что-то сделать, не означает, что ты должен это делать. Есть компьютеры, которые не имеют много шрифтов, и результат может быть странным
Они совершенно правильны: не делайте этого, используйте вложение подмножеств, потому что разные настройки могут иметь разные версии Arial, каждая из которых будет сопоставляться с идентификатором ArialMT, но с совершенно разными внутренними глифидисками.
Как PDF-файлы указывают на глифы, а не "буквы", как выглядит cake
с вашей копией Arial может - когда кодируется как массив глифов - в конечном итоге B^r(
в другой версии Arial. И это даже включает в себя более новые версии Arial, которые вы сами можете использовать через год: внезапно ваши PDF-файлы станут совершенно непригодными даже для вас.
PDF должен быть отдельным документом. Если вы хотите, чтобы люди читали ваши PDF-файлы, используйте встраивание подмножеств для используемых вами шрифтов, даже если они предположительно "общедоступны". Единственный способ не встраивать шрифт - это использовать в документе только шрифты из предопределенного стандартного набора из 14 шрифтов, который должен иметь любой читатель, совместимый со спецификацией PDF, для отображения содержимого без встраивания шрифтов. И обратите внимание, что Arial нет в этом списке.