NOTAS: Mi solicitud cubre software o bibliotecas, por eso estoy publicando aquí. También revisé los hilos similares aquí, pero pidieron algo sutilmente diferente.
Tengo la siguiente página 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>
Y la definición de fuente en font.css (truncado por brevedad):
@font-face {
font-family: "Gotham SSm A";
src: url(data:font/truetype;base64,...) format('truetype');
font-weight:700;
font-style:italic;
}
La página se muestra bien en el navegador y, cuando se imprime en PDF desde el navegador, también se muestra bien. Sin embargo, todas las utilidades que usé para generar un PDF desde el software del lado del servidor (PHP) fallaron:
¿Cuáles son mis alternativas? Necesito esto para...
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)
No pude obtener la muestra de CSS que diste para hacer algo en mi navegador, por lo que no pude probarlo, pero te sugiero que pruebes con pandoc .
Tenga en cuenta que sin la URL real de la fuente en el CSS, no puedo probar su muestra ni siquiera en un navegador. Recomendaría tener una alternativa usando pilas de fuentes en su CSS. Logré encontrar una fuente en línea para la fuente que está especificando, pero es una opción de pago por uso, por lo que sospecho que la mayoría aquí no podrá ayudar.
Se recomienda encarecidamente que utilice pilas de fuentes para proporcionar opciones de respaldo. Los recursos alternativos recomendados son "Helvetica Neue", Helvetica, Arial, sans-serif.
Cambiando tu ejemplo a:
<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>
O instalar la fuente localmente puede ayudar.
Pandoc ya ha sido mencionado...
...pero PrinceXML también es un fuerte competidor.
Si bien Pandoc es software libre, PrinceXML es propietario (aunque de uso gratuito para fines privados). PrinceXML es realmente sólido cuando se trata de compatibilidad con CSS, y solo realiza conversiones de HTML/XML/CSS a PDF (sin necesidad de otras bibliotecas externas).
Pandoc requiere LaTeX para crear archivos PDF, pero Pandoc también puede lograr muchas otras conversiones de formatos de documentos (podría llamarlo la "navaja suiza" de las conversiones de documentos).
Actualizar:
Acabo de notar en la actualización del OP que ya había probado PrinceXML y estaba decepcionado. Esto probablemente podría depurarse si los archivos de entrada estuvieran disponibles de alguna manera para reproducirlos.
Pandoc también lo ha probado... sí, en Windows requiere una instalación adicional de MikTeX para que pueda convertir HTML a PDF.
R. Barzell
R. Barzell
steve barnes
R. Barzell