Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Creacion de archivos PDF (https://www.clubdelphi.com/foros/showthread.php?t=96874)

mRoman 04-10-2024 17:26:35

Creacion de archivos PDF
 
Hola amigos.

Trabajo con: Win10, FB 2.5, D6, QReport 3.6.2, PDFCreator 5.3.1

Nuevamente solicitando su apoyo y orientación en como GENERAR PDF a partir de QuickReport en la version q tengo?

Instalé el PDFCreator y revisé algunos hilos de aqui, sobre todo este:
https://www.clubdelphi.com/foros/showthread.php?t=77859

Pero hay ciertas propiedades que no me las reconoce como "cOption" no sé si sea por la version de mi PDFCreator, es mas nueva. He visto que las versiones viejitas del PDFCreator funcionan bien, pero debe existir documentación de la version q instalé pero todavía no doy con ella.

Que version de PDFCreator tienen instalada uds??

Este es el código que tengo hasta ahorita:

Código Delphi [-]
procedure TfrmImpEnvioTCK.btnEnviarClick(Sender: TObject);
var
  PrinterIndex: Integer;
  OldPrinterIndex: Integer;
  PdfCreator: OleVariant;
begin
      PrinterIndex := Printer.Printers.IndexOf('PdfCreator');
      if PrinterIndex <> -1 then
      begin
        OldPrinterIndex := Printer.PrinterIndex;
        Printer.PrinterIndex := PrinterIndex;

        PdfCreator := CreateOLEObject('PDFCreator.JobQueue'); //aqui tiene otra instruccion clsPDFCreator, que obvio no funciona, marca error y con "JobQueue" no marca error. Consultado en otro foro no pude rescatar el link.
        try
//          PdfCreator.cStart();
          PdfCreator.Initialize;
          PdfCreator.cOption('UseAutosave') := 1;
          PdfCreator.cOption('UseAutosaveDirectory') := 1;
          PdfCreator.cOption('AutosaveDirectory') := 'c:\Lavanderia\TCK_CORREO';
          PdfCreator.cOption('AutosaveFilename') := 'TCK_PRUEBA';
          PdfCreator.cOption('AutosaveFormat') := 0; // PDF format
          PrepararTCKPDF(Sender);
          qrTicket.Print;
        finally
          Printer.PrinterIndex := OldPrinterIndex;

          // método rudimentario para saber cuando terminó de crearse el archivo
          while not FileExists('c:\Lavanderia\TCK_CORREO\TCK_PRUEBA.pdf') do
            Application.ProcessMessages;

          // Cerramos el monitor
          PdfCreator.cClose;
        end;
      end;
end;

El error que me envía:

Código:

EOleError with Message 'Method "cOption" not supported by automation object'...
Si saben de donde puedo bajar otra version PDFCreator que soporte el código que estoy consultando, se los agradeceré bastante. Todo esto es derivado de la necesidad de mi cliente de enviarles el ticket de los servicios contratados, al correo electrónico de sus clientes para ahorrarse papel.

Saludos.

Casimiro Notevi 04-10-2024 18:40:21

Tengo una versión de hace años, por si quieres probar.


https://mega.nz/file/Wds3iZSb#Jg1K5k...TKuJ3esA3HpIUA

mRoman 04-10-2024 21:04:32

Cita:

Empezado por Casimiro Notevi (Mensaje 557864)
Tengo una versión de hace años, por si quieres probar.


https://mega.nz/file/Wds3iZSb#Jg1K5k...TKuJ3esA3HpIUA

Ok. gracias Casimiro....me sirvio ya no marca errores, se genera sin problema.

Pero ahora me sale una ventana donde me pide q le de un nombre de archivo, pero no quiero eso, quiero que sea transparante para el usuario, q se genere el archivo porque luego será enviado -en ese mismo proceso- por correo del cliente de la lavandería.

Como evitó que me salga esa ventana si ya en las instrucciones, creo, se le indica eso.

Código Delphi [-]
          PdfCreator.cOption('UseAutosave') := 1;
          PdfCreator.cOption('UseAutosaveDirectory') := 1;
          PdfCreator.cOption('AutosaveDirectory') := 'c:\Lavanderia\TCK_CORREO';
          PdfCreator.cOption('AutosaveFilename') := 'TCK_PRUEBA';
          PdfCreator.cOption('AutosaveFormat') := 0; // PDF format

Sabes como evitar que salga esa ventana?, o será q tendría que cambiar en 'UseAutosave' a 0??

Gracias.

mRoman 05-10-2024 00:07:38

Ya Lo Resolvi
 
Bueno para que no muestre la pantalla solicitando el nombre de archivo, tuve que configurar la impresora como predeterminada y listo.


La franja horaria es GMT +2. Ahora son las 21:54:19.

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