Я ищу окончательный ответ на этот вопрос, поскольку я могу найти только разбросанные фрагменты информации.
На нашем сайте css мы используем встроенный webfont с использованием @fontface. Когда мы делаем PDF-страницы с использованием ABCPDF, шрифт не отображается. Мы используем как addImageurl для получения страниц веб-сайта, так и addHtml, чтобы добавить нашу собственную персонализированную обложку.
Мы используем механизм msHTML.
Кто-нибудь имел опыт использования несистемных/стандартных шрифтов и использования встроенных веб-шрифтов?
благодаря
ABC не поддерживает @fontface.
Однако вы можете использовать пользовательские шрифты, если знаете, какой шрифт заранее (если контент принадлежит вашему собственному серверу) при использовании addImageHTML().
Все, что вам нужно сделать, это установить шрифт на вашем сервере (например, здесь я использую OpenSans), а затем ссылаться на него в вашем CSS так:
@font-face {
font-family: 'open_sansregular';
src: url('../fonts/OpenSans-Regular-webfont.eot');
src: url('../fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/OpenSans-Regular-webfont.woff') format('woff'),
url('../fonts/OpenSans-Regular-webfont.ttf') format('truetype'),
url('../fonts/OpenSans-Regular-webfont.svg#open_sansregular') format('svg');
}
body
{
font-family: Open Sans, 'open_sansregular', sans-serif;
}
Ключ здесь:
font-family: Open Sans
часть. Это попытается связать шрифт с именем "Open Sans", который находится на локальном компьютере, чем отображает HTML. AbcPDF подберет его и будет использовать (я сделал это сам).
addImageHtml
неaddHtml
.addHtml
использует «текст в стиле HTML», а не настоящий HTML-рендеринг.addHtml
может ссылаться на шрифты, которые не установлены на компьютере, но не используют CSS; он делает это, используя собственные проприетарные теги и атрибуты.