Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda para enviar pdf por fax, usando Delphi 7 (https://www.clubdelphi.com/foros/showthread.php?t=41382)

manolop 14-03-2007 13:43:12

Ayuda para enviar pdf por fax, usando Delphi 7
 
Hola a todos, estoy ya varios dias dandole vueltas a un tema. Necesito enviar por fax archivos pdf y no consigo saber la forma de hacerlo. He leido algo de instalar el fax de windows pero lo he intentado y nada, y en todo caso preferiría hacerlo desde la aplicación si fuera posible. Pero ya en este punto acepto cualquier posible solución, muchas gracias de antemano por leer estas lineas.

Neftali [Germán.Estévez] 14-03-2007 13:53:31

No estoy muy "puesto" en el tema, pero recuerdo que hace tiempo se podían enviar FAX desde el Outlook (Exchange) como si enviaras un correo (en lugar de la dirección colocabas el número de teléfono).
Si no lo usas, pues nada, pero si lo usas puedes invertigar por ahí...

ArdiIIa 14-03-2007 14:32:54

La idea es que has de generar gráficos de tus PDF.
Una vez generados los gráficos, se envían mediante fax (por supuesto instalado en la máquina).

A ver si te sirve:

Código Delphi [-]
procedure TFormPresupuesto_Prov.Generar_Fax(Sender: TObject);
Var
    sr: TSearchRec;
    OpenFileBmp,SaveFileName,Anchor : OleVariant;
    Fax,FaxDoc: Variant;
begin

    TRY
        IsFax :=  True;
        Prepare_Documento;
        WordDocument1.Connect;
        WordDocument1.PageSetup.Orientation := wdOrientLandscape;
        WordDocument1.PageSetup.LeftMargin := 42.55; //Puntos  (1,5 centímetros)
        WordDocument1.PageSetup.TopMargin  := 42.55; //Puntos  (1,5 centímetros)
        WordDocument1.PageSetup.BottomMargin  := 56.7; //Puntos  (2 centímetros)

        SaveFileName :=  ExtractFilePath(Application.Exename) + 'FAX\FAX.DOC';


        if findFirst(ExtractFilePath(Application.Exename) + 'FAX\*.bmp',faAnyFile ,sr) = 0 THEN
        REPEAT
        OpenfileBMP :=  ExtractFilePath(Application.Exename) + 'FAX\' + SR.Name;
        Anchor := DataModulePedProv.WordDocument1.Words.Last;

        WordDocument1.InlineShapes.AddPicture(OpenFileBmp,EmptyParam,EmptyParam,Anchor);
        WordDocument1.InlineShapes.Item(1).ScaleHeight  := 95;
        WordDocument1.InlineShapes.Item(1).ScaleWidth  := 95;
        until FindNext(sr) <> 0;

        FindClose(sr);

        WordDocument1.SaveAs2000(SaveFileName);
        WordDocument1.Close;
        WordDocument1.Disconnect;

        Fax := CreateOleObject('FaxServer.FaxServer');
        Fax.Connect(FormMain.HostName); 
        FaxDoc := Fax.CreateDocument(ExtractFilePath(Application.Exename) + 'FAX\FAX.DOC');

        if IBQueryPresupuesto_Cab.FieldByName('SYS_EMPRESA').AsString = 'S' then
          FaxDoc.FaxNumber     := IbQueryContactos.FieldByName('emp_fax').AsString
        else
          FaxDoc.FaxNumber     := IbQueryContactos.FieldByName('fax').AsString ;


          FaxDoc.RecipientName := IbQueryContactos.FieldByName('emp_nombre').AsString;


          (******* DATOS DE LA EMPRESA ****************)
          FaxDoc.SenderName := 'TU EMPRESA';
          FaxDoc.SenderCompany := 'NOMBRE EMPRESA';
          FaxDoc.SenderDepartment := 'GESTIÓN Y DESARROLLO';
          FaxDoc.DisplayName := 'PETICION DE PRESUPUESTO';
          FaxDoc.Send;
          Fax.Disconnect;
          Fax := NULL;
          FaxDoc := NULL;

finally
IsFax := False;
End;

Aviso('FAX ENVIADO CORRECTAMENTE');

end;

ArdiIIa 14-03-2007 14:38:25

Se me olvidaba decirte que el procedimiento Prepare_Documento, lo que hace es generar los gráficos, en mis caso tomo un documento con sus líneas y mediante FastReport, genero el gráfico del documento.... y está separado del anterior, porque también lo utilizo para el envío de mails.


Código Delphi [-]
     if IsFax then
     frReportPed_Presupuesto.ExportTo(DataModulePedProv.frBMPExport1, Result + 'Presupuesto')
     Else
     frReportPed_Presupuesto.ExportTo(DataModulePedProv.frJPEGExport1, Result + 'Presupuesto')
Saludos.

manolop 15-03-2007 11:40:41

Perdona ardilla pero yo solo tengo un archivo pdf y todo lo que me has puesto me ha liado un poco. En cuanto al fax instalado en la maquina, supongo que te refieres a la impresora fax de windows, verdad?. Y en cuando al ejemplo, te agradezco un montón tu interes pero si fueras un pelin más concreto te lo agradecería más aun.

ArdiIIa 15-03-2007 12:35:55

Cita:

Empezado por manolop
En cuanto al fax instalado en la maquina, supongo que te refieres a la impresora fax de windows, verdad?.

Ciertamente.

Veamos:
Es obvio que un PDF no lo vas a enviar por fax "tal cual", primeramente has de convertirlo a algún formato gráfico; luego anteriormente yo te explicaba a modo de ejemplo que mis listados primeramente los convertía a gráficos (utilizando FastReport), en ese caso a tipo bmp, y una vez convertidos en archivos gráficos, son "enchufados" y enviados al FAX.

En tu caso necesitarás algo para hacer esa conversión de PDF a gráfico y seguidamente dar los pasos oportunos para el envío del fax.

Puedes buscar algoritmos de conversión de PDF a gráfico o herramientas tales como esta....

Otra opción sería imprimir directamente el PDF en la impresora FAX...

Neftali [Germán.Estévez] 15-03-2007 12:48:19

Cita:

Empezado por Neftali
No estoy muy "puesto" en el tema, pero recuerdo que hace tiempo se podían enviar FAX desde el Outlook (Exchange) como si enviaras un correo (en lugar de la dirección colocabas el número de teléfono).
Si no lo usas, pues nada, pero si lo usas puedes invertigar por ahí...

Esto es a lo que me refería:
http://www.byui.edu/help/outlookhelp/mailing/fax.htm


La franja horaria es GMT +2. Ahora son las 02:50:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi