ПРИМЕЧАНИЯ. Мой запрос касается программного обеспечения или библиотек, поэтому я пишу здесь. Я также проверил похожие темы здесь, но они просили что-то немного другое.
У меня есть следующая HTML-страница:
<html>
<head>
<link rel="stylesheet" type="text/css" href="font.css">
<style>
body {
font-family: "Gotham SSm A";
font-size: 22px;
}
</style>
</head>
<body>
SUMMARY
</body>
</html>
И определение шрифта в font.css (обрезано для краткости):
@font-face {
font-family: "Gotham SSm A";
src: url(data:font/truetype;base64,...) format('truetype');
font-weight:700;
font-style:italic;
}
Страница отлично отображается в браузере, а при печати в PDF из браузера также отображается нормально. Однако каждая утилита, которую я использовал для создания PDF-файла из серверного программного обеспечения (PHP), потерпела неудачу:
Каковы мои альтернативы? Мне нужно это, чтобы...
1. Respect modern CSS (including @font-face).
2. Be available on Windows & Linux with similar output on both
3. Be offline (utility or library is fine)
4. Allow commercial use
5. Be cost effective (preferably free)
Я не смог получить образец CSS, который вы дали, чтобы что-то сделать в моем браузере, поэтому не смог его протестировать, но я предлагаю вам попробовать pandoc .
Обратите внимание, что без фактического URL-адреса шрифта в CSS я не могу протестировать ваш образец даже в браузере. Я бы порекомендовал запасной вариант, используя стеки шрифтов в вашем CSS. Мне удалось найти один онлайн-источник шрифта, который вы указали, но это платный вариант, поэтому я подозреваю, что большинство из них не смогут помочь.
Настоятельно рекомендуется использовать стеки шрифтов для предоставления резервных вариантов. Рекомендуемые запасные варианты: Helvetica Neue, Helvetica, Arial, sans-serif.
Изменение вашего примера на:
<html>
<head>
<link rel="stylesheet" type="text/css" href="font.css">
<style>
body {
font-family: "Gotham SSm A", “Helvetica Neue”, Helvetica, Arial, sans-serif;
font-size: 22px;
}
</style>
</head>
<body>
SUMMARY
</body>
</html>
Или установка шрифта локально вполне может помочь.
Пандок уже упоминался...
... но PrinceXML также является сильным соперником.
В то время как Pandoc является бесплатным программным обеспечением, PrinceXML является проприетарным (хотя и бесплатным для использования в личных целях). PrinceXML действительно силен, когда дело доходит до поддержки CSS, и он выполняет только преобразование HTML/XML/CSS в PDF (без использования каких-либо других внешних библиотек).
Pandoc требует LaTeX для создания PDF-файлов, но Pandoc также может выполнять множество других преобразований форматов документов (вы можете назвать это «швейцарским армейским ножом» преобразования документов).
Обновлять:
Только что заметил в обновлении ОП, что уже протестировал PrinceXML и разочаровался. Это, вероятно, можно было бы отладить, если бы входной файл (ы) был каким-то образом доступен для его воспроизведения.
Pandoc он также пробовал... да, в Windows требуется дополнительная установка MikTeX, чтобы он мог конвертировать HTML в PDF.
Р. Барзелл
Р. Барзелл
Стив Барнс
Р. Барзелл