La Web del Programador: Comunidad de Programadores
 
    Pregunta:  57 - IMPRIMIR DESDE DELPHI FUENTES NO TRUETYPE
Autor:  Pablo
Como conseguir imprimir desde Delphi con tipos de fuente que no sean TrueType, para que la impresión no tarde tanto?
Un saludo.

  Respuesta:  José Oronas
Tienes dos formas simples de lograr impresión rápida con impresoras de impacto, supongo esa es la necesidad.

- Asignar a Printer.Canvas.Font.Name el nombre de una fuente interna de la impresora que estas usando esto funciona en algunos casos, pero si bien es rápido no es eficaz.

- Otra manera es instalar el modelo genérico de impresora provisto por Windows, una vez hecho esto se debe seleccionar propiedades del nuevo dispositivo y allí incluir las secuencias que el modelo de impresora a usar requiera para imprimir en 10 cpi, 12 cpi, 17 cpi , doble ancho, subrayado etc.
En lo que respecta a la programación, se debe asignar a Printer.Canvas.Font.Name los nombres ´Roman 10cpi´, ´Roman 12cpi´, ´Roman 17cpi´, de acuerdo al tipo de fuentes que prefieras. En este caso debes obviar cualquier salida de tipo gráfico ya que este controlador no tiene esa capacidad.

Si las secuencias incluidas en el controlador de impresora genérica de Windows son los correctos para el modelo usado y la propiedad Printer.PrinterIndex coincide con el dispositivo genérico los resultados serán los mismos que los logrados bajo DOS.
En ambos casos puedes usar antes de la impresión los cuadros de diálogo tPrinterSetupDialog, o tPrintDialog para seleccionar el dispositivo y tFontDialog para seleccionar las fuentes, este último debe tener su propiedad Device = fdprinter para que muestre fuentes del dispositivo seleccionado.

Yo personalmente prefiero incluir las dos formas de impresión, usando True Type y con dispositivo genérico.


  Respuesta:  Ricardo Scheel
Otra posibilidad es que utilices la impresora como un archivo.Ejemplo
var
f:TextFile;
begin
AssignFile(f´,´LPT1´);
Rewrite(f);
WriteLn(f,´Texto a Imprimir´);
CloseFile(f);
end;
Espero que esto ayude