PDA

Ver la Versión Completa : Cambiar nombre archivo PDF


hob
06-11-2006, 23:52:50
Consulta.

Estoy desde delphi 5 generando archivos PDF a partir de un
informe en Quitreport, utilizando el PDFCreator.

La consulta es como puedo cambiar el nombre que PDFcreator
le asigna al archivo. Deseo cambiarlo desde mi aplicacion en
delphi.

Desde ya muchas gracias por sus repuestas.

dec
07-11-2006, 00:28:47
Hola,

Si el componente PDFCreator que mencionas no te permite cambiar el nombre del archivo, o darle un nombre al archivo que crees, vamos, cosa que pongo en duda, pues que seguro que existe alguna propiedad de nombre "FileName" o similar que te lo facilite, has de saber que siempre podrías renombrar un archivo existente con funciones como "RenameFile" o "FileRename"... que no recuerdo bien. Sé que encontrarás estas funciones en la unidad "Windows" y que también tienes funciones similares (que acaso te interesen más o menos) en la unidad "SysUtils".

oscarnoe
07-11-2006, 14:40:48
Las ultimas versiones de PDFCreator te permiten ejecutar una aplicacion o script despues de crear el archivo, y como parametros te da el nombre del fichero con su ruta completa. Solo te hace falta ejecutar un programa o un proceso por lotes para cambiar el nombre del fichero, copiarlo, moverlo, imprimirlo, etc... lo que se te ocurra.

Creo que en la ayuda en linea encontraras algo mas sobre el tema, comentarte que la version del programa debe ser superior 0.8.0 (esta version aun no tenia esta opcion).


Fuera de tema (o no tanto)

Yo por mi parte ejecuto un programa con el cual extraigo la metainformación del fichero (con un codigo chapucero*, pero funcional) y permito al usuario completar varias propiedades del documento para posteriormente: mover el documento, renombrarlo e integralo en un repositorio central de documentos.

hob
07-11-2006, 15:12:18
Oscarnoe
Puedes enviarme tu codigo?

Desde ya muchas gracias.

oscarnoe
08-11-2006, 14:06:56
Si abres PdfCreator (en el menu de inicio->programas->PDFCreator->PDFCreator en la Opcion Actions/Acciones (segun el idioma) puedes ejecutar hasta 2 acciones despues del guardado. Hay disponibles 2 parametros que puedes pasar a la aplicacion "<TempFilename>" y "<OutputFilename>", fichero previo a ser guardado y el fichero final.
Configurando la accion para que ejecute tu aplicacion o script, no tienes mas que moverlo/copiarlo, etc. lo que quieras. Tambien puedes configurar como tiene que mostrase tu aplicacion minimizada, maximizada, oculta, etc y si pdfcreator debe esperar a que finalice la aplicación.
El codigo para esto es básico, y es simplemente recoger los parametros con paramstr (http://www.delphibasics.co.uk/RTL.asp?Name=ParamStr) o la variable system.cmdline que contiene la linea de comandos que llamo a la aplicacion.
Despues sabiendo que el parametro 1 es el archivo creado o el temporal (segun el parametro que le hayas dicho a PDFCreator que pase) simplemente tienes que copiar o mover, segun necesites.


Oscar Noe

hob
08-11-2006, 14:54:20
Desde ya muchas gracias Oscar Noe por tus respuestas,
nose si tu me puedes enviar algun ejemplo, porque
lo que puedo entender con tu anterior respuesta,
yo puedo saber el nombre del archivo de salida que le da el pdfcreato? y
lo que yo necesito es desde mi aplicacion darle
el nombre al archivo q crea el pdfcreator.Para
que el nombre del archivo que crea el PDFcreator
lo pueda asignar yo desde mi aplicacion.

Desde ya te agradezco nuevamente tus respuestas.
Gracias

oscarnoe
08-11-2006, 16:31:24
No puedes cambiar el nombre antes de crear el fichero, lo que si puedes es parametrizar como sera ese nombre.

Puedes configurar el nombre del archivo resultante con varios "tokens" que se reemplazaran con sus valores correspondientes a la hora de grabar el archivo:
nombre de usuario, computadora, fecha y hora, etc.

Despues y habiendo configurado las actions: PDFCreator llamara a tu aplicacion con el fichero resultante como parametro.
Imaginate que configuras el PDFCreator para que grabe en la carpeta o recurso compartido: "\\SERVIDOR\PDF\". Configurado para que el nombre del fichero sea: "<DATETIME>_<USERNAME>_<COMPUTERNAME>.PDF". Configurado asi, cuando PDFCreator realize la acción, despues de imprimir y de guardar el fichero, lo hara de la siguiente manera:

tuaplicacion.exe "\\SERVIDOR\PDF\20061108162612_USUARIO1_COMPUTER1.PDF"

Solo tienes que coger ese nombre de fichero de los parametros que se le pasen a tu aplicacion y moverlo de sitio, renombrarlo, eliminarlo o lo que precises hacer con el.

hob
08-11-2006, 18:32:23
Oscar.
De verdad muchas gracias por todas tus respuestas,
de tu ultima respuesta, necesito consultarte
como mi aplicacion recibe esos parametros,
esa parte no la comprendo, en que variable
mi aplicacion sabe el nombre que le asigno el pdfcreator al archivo.
Como leo esos parametros.

Nuevamente muchas gracias

hob
08-11-2006, 21:19:49
Gracias oscar por tu ayuda, ya estoy recibiendo
el parametro del pdfcreator.

Por toda tu ayuda muchas gracias.