Hola, hasta hace poco el codigo usado para generar un report (qreport) y generar con pdfcreator 1.7.3 el archivo correspondiente funcionaba correctamente, el código es de Roman (moderador):
Código Delphi
[-]
OldPrinterIndex := FormImprimePaciente.PrnPaciente.PrinterSettings.PrinterIndex;
FormImprimePaciente.PrnPaciente.PrinterSettings.PrinterIndex := PrinterIndex;
PdfCreator := CreateOLEOBject('PDFCreator.clsPDFCreator');
try
PdfCreator.cStart();
PdfCreator.cOption('UseAutosave') := 1;
PdfCreator.cOption('UseAutosaveDirectory') := 1;
PdfCreator.cOption('AutosaveDirectory') := RutaGuardar;
PdfCreator.cOption('AutosaveFilename') := NombreFichero; PdfCreator.cOption('AutosaveFormat') := 0;
FormImprimePaciente.PrnPaciente.ReportTitle := 'BIA_Test: Datos Paciente';
With FormImprimePaciente Do begin
If FileExists(ModuloDatos.TablaCentroTrabajoNombreLogo.AsString) then
QRLogo.Picture.LoadFromFile(ModuloDatos.TablaCentroTrabajoNombreLogo.AsString)
Else QRLogo.Picture := nil;
QRLogo.Stretch := ModuloDatos.TablaCentroTrabajoAjusteLogo.AsBoolean;
QRLabel94.Caption := ModuloDatos.TablaCentroTrabajoNombre1.AsString;
QRLabel24.Caption := ModuloDatos.TablaCentroTrabajoNombre2.AsString;
QRLabel95.Caption := ModuloDatos.TablaCentroTrabajoLinea1.AsString;
QRLabel99.Caption := ModuloDatos.TablaCentroTrabajoLinea2.AsString;
QRLabel96.Caption := ModuloDatos.TablaCentroTrabajoLinea3.AsString;
QRLabel2.Caption:=ModuloDatos.TablaPacientesAPELLIDOS.AsString;
QRLabel4.Caption:=ModuloDatos.TablaPacientesNOMBRE.AsString;
QRLabel6.Caption:=ModuloDatos.TablaPacientesDIRECCION.AsString;
QRLabel8.Caption:=ModuloDatos.TablaPacientesPROVINCIA.AsString;
QRLabel10.Caption:=ModuloDatos.TablaPacientesCIUDAD.AsString;
QRLabel12.Caption:=ModuloDatos.TablaPacientesPOSTAL.AsString;
QRLabel14.Caption:=ModuloDatos.TablaPacientesFECHA.AsString;
QRLabel16.Caption:=ModuloDatos.TablaPacientesTELEFONO.AsString;
QRLabel17.Caption:=ModuloDatos.TablaPacientesFAX.AsString;
QRLabel26.Caption:=ModuloDatos.TablaPacientesCORREO.AsString;
end;
Screen.Cursor := crHourGlass;
FormImprimePaciente.PrnPaciente.Prepare;
FormImprimePaciente.PrnPaciente.Print;
finally
while not FileExists(RutaGuardar+'\'+NombreFichero+'.pdf') do
Application.ProcessMessages;
PdfCreator.cClose;
PdfCreator := Unassigned;
end;
Screen.Cursor := crDefault;
FormPrincipal.KillTask('PdfCreator.exe');
FormImprimePaciente.PrnPaciente.PrinterSettings.PrinterIndex := OldPrinterIndex;
Como la versión de PDFcreator es antigua, al actualizar a la 2.3, que ahora mismo es la ultima, me lanza una ventana de error diciendo " Cadena clase no valida", porque habran cambiado los parametros que se pasan como opciones al objeto OLE.
Lo que hacia es generar el documento sin que la ventana de creación apareciera en pantalla y quiero que siga así....
Como identificaria la version del pdfcreator para que no pase esto, o mejor... que parametros son los que necesita ahora??
Gracias.