Usuario
Crear PDF's

Pregunta
-
Buenas, estoy trabajando en un sistema desarrollado en VB6, y tengo una rutina que genera PDF's para luego enviarlos por email. Para esto estoy utilizando el PDF Creator.
Lo primero que hace el sistema es generar los PDF en C:\, una vez que estan creados el sistema comienza a enviar los correos, el problema que tengo es que solo se me esta generando un archivo PDF en la carpeta. Por ejemplo:
Me genera el archivo 123456.pdf 9kb, luego, cuando genera el otro archivo de la lista parece que le cae encima al que ya existe, lo unico que hacer es cambiar el tamano del archivo en caso que este sea menor o mayor al que ya estaba.
seria algo asi: 123456.pdf 9kb
123456.pdf 11kb
123456.pdf 8kb
Este ejemplo muestre 3 archivos, pero es solo para ejemplifacar el caso, en la carpeta lo que queda guardado es solo un registro, el cual solo va modificando su tamano.
*******************Esta funcion es la que tengo para crear el PDF*****************************************
With pObjPDFCreator
.cStart "/NoProcessingAtStartup" 'Inicia el PDFCreator.cOption("UseAutosave") = 1 'Nuevo indica que se va auto guardar
.cOption("AutosaveFormat") = 0 ' 0 = PDF 2= jpg.cOption("UseAutosaveDirectory") = 1 'Nuevo indica que se va auto guardar en una carpeta predeterminada
.cOption("AutosaveDirectory") = RTrim(LTrim(pStrImagePath)) 'carpeta a generar
.cOption("AutosaveFilename") = pStrNomRepor 'Guarda el nombrestrDefaultPrinter = .cDefaultPrinter 'Selecciona la impresora por defecto Y la guarda
.cDefaultPrinter = "PDFCreator" 'Pone la impresora PDFCreator por defecto para la imprecion
pCystal.Destination = 1 'Destino de la impresora 0 lo muestra y 1 no lo muestra
pCystal.Action = 1 'Manda a imprimir el archivo directamente
.cPrinterStop = False 'Si esta en falso imprime sin parar la impresion.cSaveOptions 'Guarda el nuevo registro
.cClearCache 'Limpia la memoria.cDefaultPrinter = strDefaultPrinter 'Coloca la impresora que estaba predeterminada
End With****************************************************************************************************
Luego, en el evento eReady tengo lo siguiente
If PDFCreator1.cPrinterStop <> True Then
PDFCreator1.cPrinterStop = True
End If
rstCantEnviar.MoveNext 'mueve el recorset al siguiente registro
Call convertirPdfAqui lo que hago es mover el recordset para poder generar el PDF para el otro cliente y volver a llamar la funcion que lo crea para ir generando un PDF para cada cliente.
Espero haberme dado a entender con el caso.
Gracias por cualquier ayuda que me puedan dar.
Todas las respuestas
-
y se le agregas un sufijo de esta manera para que sea diferente fijate bien, Es una idea podrias crear un RandomNumero tambien
*******************Esta funcion es la que tengo para crear el PDF*****************************************
Static I as integer
I=0
With pObjPDFCreator
i=i+1
.cStart "/NoProcessingAtStartup" 'Inicia el PDFCreator
.cOption("UseAutosave") = 1 'Nuevo indica que se va auto guardar
.cOption("AutosaveFormat") = 0 ' 0 = PDF 2= jpg.cOption("UseAutosaveDirectory") = 1 'Nuevo indica que se va auto guardar en una carpeta predeterminada
.cOption("AutosaveDirectory") = RTrim(LTrim(pStrImagePath)) 'carpeta a generar
.cOption("AutosaveFilename") = pStrNomRepor & "_" & cstr(I) 'Guarda el nombrestrDefaultPrinter = .cDefaultPrinter 'Selecciona la impresora por defecto Y la guarda
.cDefaultPrinter = "PDFCreator" 'Pone la impresora PDFCreator por defecto para la imprecion
pCystal.Destination = 1 'Destino de la impresora 0 lo muestra y 1 no lo muestra
pCystal.Action = 1 'Manda a imprimir el archivo directamente
.cPrinterStop = False 'Si esta en falso imprime sin parar la impresion.cSaveOptions 'Guarda el nuevo registro
.cClearCache 'Limpia la memoria.cDefaultPrinter = strDefaultPrinter 'Coloca la impresora que estaba predeterminada
End With
****************************************************************************************************
Luego, en el evento eReady tengo lo siguiente
If PDFCreator1.cPrinterStop <> True Then
PDFCreator1.cPrinterStop = True
End If
rstCantEnviar.MoveNext 'mueve el recorset al siguiente registro
Call convertirPdf
Capacitaciones Corporativas
Si pequeña es la Patria, uno grande la sueña
Rubén Darío
Principe de las letras Castellanas
Poeta Nicaragüense
Ay Nicaragua, Nicaraguita Video Clip