Solución:
Utilice nuestra unidad SynPDF. Entre sus características, puede utilizar un verdadero TCanvas para crear el PDF e incrustar subconjuntos de fuentes True Type. Es una de las pocas bibliotecas que maneja idiomas árabes y demás (a través de la API de UniScribe). Está completamente listo para Unicode y es muy rápido.
¡Y es GRATIS y de código abierto! Funciona desde Delphi 6 hasta Delphi XE.
http://blog.synopse.info/?q=pdf
Estamos usando Gnostice y estamos muy satisfechos con él. Nos permite imprimir nuestros informes ReportBuilder a PDF, HTML, XML, Excel, Gif, …
Algunos problemas menores con los que nos hemos encontrado al trabajar con el componente
- En algún lugar profundo de las entrañas del componente, se llama a Application.Processmessages. Debe asegurarse de que su código maneje el reingreso.
- Tuvimos que establecer Preferences.UseImagesAsResources del componente TgtDocSettings en True para resolver los AV cuando se imprime en cualquier otra cosa que no sea PDF.
- Probablemente debido a la forma en que usamos el componente, pero la primera página impresa siempre fue Vertical. Tuvimos que agregar una llamada a gtRBExportInterface.Engine.Settings.Page.Orientation para establecer la orientación en horizontal si es necesario.
Usamos wPDF. No generamos archivos PDF directamente pensados: generamos diferentes informes y los ‘imprimimos’ en PDF como alternativa a la impresora.