c# - Envío de fax con.NET
crystal-reports fonts (3)
Estoy tratando de enviar faxes con un programa .NET (C #) usando Crystal Reports y Unimessage Pro (o cualquier otro programa de fax).
Mi problema es que Unimessage Pro (y otros programas de fax) usa fuentes de impresora para los comandos de fax. Como .NET no admite fuentes de impresora, los comandos de fax en el informe se convierten a Courier New. El resultado de esto es que el programa de fax no reconoce los comandos de fax, pero los ve como texto sin formato y el fax no se envía.
¿Cómo envío un fax con Crystal Reports y .NET?
Cuando dice que usa las fuentes de la impresora, asumo que debe enviar algunos comandos PCL (o similares) como:
<esc>(s.....
Si ese es el caso, no creo que puedas incluir eso en Crystal directamente.
Hemos tenido que enviar secuencias especiales en el pasado a través de Crystal (sin el escape), en estos casos creamos un nuevo cuadro de fórmula y no cambiamos ninguno de los elementos distintos de la fuente (elija Courier). Estos elementos deberían pasar directamente a la impresora sin que el conductor los haya convertido demasiado. Esto puede; Sin embargo, no resuelve tu problema.
La otra opción que debería funcionar es construir su propio controlador de impresora con el Kit de desarrollo de controladores de Microsoft. Puede crear su propio Mini Driver y asociar una fuente con una llamada de fuente específica para que cuando especifique esa fuente obtenga el código insertado en su código correctamente.
También puede procesar esto de la manera en que lo hacemos (no con Crystal sino también con otro informe similar). Usamos RightFax como nuestro servidor de fax y permite el ''archivo adjunto'' de archivos a través de un archivo de metadatos. Generamos el informe, lo colocamos en una ubicación específica como PDF u otro formato y luego le pasamos a RightFax un archivo de metadatos que contiene el número de fax del destinatario y un comando que le dice que adjunte el archivo en el sistema de archivos.
El archivo ''adjuntar'' de RightFax se ve así:
{{begin}}
{{nocover}}
{{fax (403) 555-1212}}
{{subject Test Fax}}
{{attach c:/reports/report1.pdf delete}}
{{imagetype pdf}}
{{end}}
Recibí esta respuesta de WordCraft (compañía detrás de Unimessage Pro)
Cree un archivo llamado WilCapAX.INI en la carpeta principal de Windows, por ejemplo, C: / Windows / WilCapAX.INI El archivo debe contener lo siguiente: [WilCapAX] Comandos = C: / Commands.DAT Donde "C: / Commands.DAT" es el nombre de un archivo de texto que va a crear en su aplicación .NET para pasar el
comandos integrados a Unimessage Pro. Puede editar la ruta si es necesario, pero mantener el archivo corto y
nombres de carpetasEn su aplicación .NET cuando tiene algo que enviar a través de
Unimessage Pro entonces necesita:2.1 Cree un archivo de texto con nombre, dependiendo del nombre definido en WilCapAX.INI, C: / Commands.DAT que contenga:
BLANK LINE [[TO=Fax Number or Email address]] [[SUBJECT=Whatever you want the subject to be]]
La primera línea del archivo debe estar en blanco o contener algo que no sea un comando incrustado: se saltará. Las otras líneas en el archivo C: / Commands.DAT deberían contener un comando incrustado.
2.2 Imprima un mensaje en la impresora Unimessage Pro: la impresora Unimessage Pro acepta el trabajo de impresión y buscará el archivo especificado en WilCapAX.INI. Si se encuentra el archivo especificado en WilCapAX.INI (C: / Commands.DAT), se extraen los comandos incrustados y luego se elimina el archivo "C: / Commands.DAT" y se procesa la captura de impresión junto con el comando extraído de el archivo C: / Commands.DAT.
2.3 Espere a que el archivo C: / Commands.DAT desaparezca (lo que indica que ha sido procesado por la impresora Unimessage Pro) y luego repita según sea necesario.
¡Esto resolvió el problema! :)
Joyfax Client Console 1.0 (beta)
Nota: Por favor descargue Joyfax Client v5.2 o superior antes de ejecutar esta aplicación.
JoyfaxConsole [Opciones] -f [; ...] [; FileN] -r ""
-f file or folder Files or files in sub folders to be faxed.
i.e: C:/Test/;C:/MyPDFs/*.pdf
-r Recipients Recipient list. For more see Fax Recipients. Must begin and end with double quotation marks(").
Opciones:
-a Synchronous Wait until fax sent completed;
-s Subject Subject of fax, i.e.: "Joyfax Sell Sheet";
-m Meno Memo of fax, i.e.: "Joyfax Server 5-user license";
-c CoverPage Cover Page profile to be used;
-d Header Header & footer profile to be used,
0 = None; 1 = General; 2 = Compact; 3 = Detailed
-k Kill Delete input files if fax sent successfully.
Retrun:
0 - Success;
1 - Initialize failed;
2 - Invalid parameter;
3 - Unknown erorr (may unsupported file type).
Ejemplo:
JoyfaxClientConsole -d 2 -f "C: / My PDFs / D90.PDF" -r "Samm Kivin <866-6554-564>; Mr. Green <(846) 6554-564>"
JoyfaxClientConsole -f C: / MyPDFs * .pdf; D: / Sell.xls -r "Samm Kivin <866-6554-564>"
JoyfaxClientConsole -s "Hoja de venta de Joyfax" -m "Licencia de 5 usuarios de Joyfax Server" -f D: / Sell.xls -r "Kivin <866-6554-564>"