Измените шрифт только на определенные символы Unicode при сохранении на PDF.
Некоторые символы Юникода не отображаются с помощью указанного пользователем шрифта. Одним из таких символов Unicode являетсяНеразрывный дефис (U+2011), а его номер Unicode – 8209. Этот символ нельзя отобразить сТаймс Нью Роман , но он может отображаться с другими шрифтами, такими какАриал Юникод МС.
Когда такой символ встречается внутри какого-либо слова или предложения, написанного определенным шрифтом, например Times New Roman, тогда Aspose.Cells изменяет шрифт всего слова или предложения на шрифт, который может отображать этот символ, например Arial Unicode, на MS.
Однако это нежелательное поведение для некоторых пользователей, и они хотят, чтобы был изменен только шрифт конкретного символа, а не изменение шрифта всего слова или предложения.
Чтобы решить эту проблему, Aspose.Cells предоставляетPdfSaveOptions.setFontSubstitutionCharGranularity() свойство, которое должно быть установленоистинный так что изменяется только шрифт конкретного символа, который не отображается, а шрифт для остальной части слова или предложения остается прежним.
Пример
На следующем снимке экрана сравниваются два выходных PDF-файла, созданных с помощью приведенного ниже примера кода. Один был сгенерирован без установкиPdfSaveOptions.setFontSubstitutionCharGranularity() свойство, а другое было создано после установкиPdfSaveOptions.setFontSubstitutionCharGranularity() собственность наистинный. Как вы можете видеть в первом PDF, шрифт всего предложения изменился с Times New Roman на Arial Unicode MS из-за неразрывного дефиса. В то время как во втором PDF изменился только шрифт Non-Breaking Hyphen.