Si no dispones de una fotocopiadora/ impresora profesional, que pueda impresionar firmas, fondos y procesar distintos tipos de impresión o quieres que el software se encargue de esta tarea antes de enviar a la impresora cada uno de los documentos has de utilizar esta combinación de programas.
Pdfcreator gratuito, busca la última versión, imprime en pdf y permite la modificación posterior del pdf creado.
Descargar el programa Pdfcreator , descargar Pdftk
Instalamos Pdftk en la carpeta C:\Program Files (x86)\PDFCreator\Scripts\RunProgramAfterSaving, o en la carpeta donde se encuentre el programa pdfcreator\Script\RunProgramAfterSaving
Se instala ahí porque de esa forma no teneís que localizar el programa pdftk en las rutinas que creamos.
Pdftk.exe gratuito, todo tipo de operaciones sobre documentos pdf, parte fundamental para el procesado de los pdf.
Acrobat reader, nos servirá para imprimir en papel, mediante linea de commandos.
VisualBasic Sprinting procesos para windows, gracias a los cuales podemos hacer funcionar ambos programas.
Pasamos a la practica.
Problema planteado: tengo un contenido que he de enviar a varios clientes, este contenido está en formato Doc, lo primero que hago es imprimir este con la impresora pdfcreator y obtengo el pdf resultante, y lo nombro como catalogo.pdf
Escribo una carta totalmente personalizada a cada cliente y quiero que se imprima con un fondo corporativo y se firme, además quiero que la primera copia sea para archivo y la segunda aparezca unida al catálogo y grapada.
Primero en un papel corporativo hacemos la firma en es sitio adecuado, y escaneamos dicho documento como firmacorporativa.pdf.
Segundo escaneamos un papel en blanco y guardamos como blanco.pdf
Tercero entramos en la configuración de pdfcreator e activamos el autoguardado, y proceso después de aquí creamos un script en vbscript lo antes dicho y yo lo colocaré más adelante.
Cuarto activamos la impresora pdfcreator como predeterminada.
Quinto editamos la carta en word y la imprimimos.
El proceso es el siguiente, se crea un documento pdf solo con el contenido de la carta, después se le funde con el fondo y firma corporativa, se le añade una hoja en blanco blanco.pdf esto se imprime, después se une el catálogo y se imprime con la impresora con la opción de grapado.
En la carpeta pdfcreator\Script\RunProgramAfterSaving tenemos que tener estos archivos
' Modificar esta ruta donde sea necesario C:\Archivos de programa\Adobe\Acrobat 7.0\Reader\acroRd32.exe
' Modificaciones de evalgon.com
' License: GPL ' Homepage: http://www.sf.net/projects/pdfcreator ' Version: 1.1.0.0 ' Date: September, 1. 2005 ' Author: Frank Heindörfer, modificado por evalgon. ' Comments: This script needs pdftk. ' For more informations about the freeware pdftk use this link: ' http://www.accesspdf.com Option Explicit Const AppTitle = "PDFCreator - AddWatermarkToPDF" 'titulo de la aplicación Const PathToPdftk = "pdftk.exe" 'ruta del ejecutable. Const WatermarkPDF = "firmacorporativa.pdf" 'fondo con el membrete y la firma. Dim objArgs, fname, tfname, fso, WshShell, oExec, bloc Set objArgs = WScript.Arguments If objArgs.Count = 0 Then MsgBox "This script needs a parameter!", vbExclamation, AppTitle WScript.Quit End If fname = objArgs(0) 'linea 30 Set fso = CreateObject("Scripting.FileSystemObject") If Ucase(fso.GetExtensionName(fname)) <> "PDF" Then MsgBox "This script works only with pdf files!", vbExclamation, AppTitle WScript.Quit End If If Not fso.FileExists(PathToPdftk) Then MsgBox "You need pdftk for this script!" & vbcrlf & vbcrlf & _ "Please go to http://www.accesspdf.com and download it.", vbExclamation, AppTitle WScript.Quit End If If Not fso.FileExists(WatermarkPDF) Then MsgBox "Can't find the watermark pdf file!", vbExclamation, AppTitle WScript.Quit End If ' Añade a la carta el fondo corporativo firmado
Set WshShell = CreateObject("WScript.Shell") tfname = fso.GetTempName WshShell.Run PathToPdftk & " """ & fname & """ background " & WatermarkPDF & " output """ & tfname & """",0,true If Not fso.FileExists(tfname) Then MsgBox "There was an error using ""pdftk""!", vbCritical, AppTitle WScript.Quit End If If fso.FileExists(fname) Then fso.DeleteFile(fname) End If fso.MoveFile tfname, fname ' Después imprime este documento CUIDADO PONER NOMBRE DE LA IMPRESORA. ' y la ruta de acrobat
Set WshShell = createobject("wscript.shell") Set bloc = WshShell.Exec("""C:\Archivos de programa\Adobe\Acrobat 7.0\Reader\acroRd32.exe""" & " /t " & """" & fname & """" & " " & """RICOH Aficio MP 6500 RPCS""") Wscript.sleep 5000 ' 5 segundos de espera bloc.terminate 'se une un papel en blanco a la carta y se une el catalogo.pdf Set WshShell = CreateObject("WScript.Shell") tfname = fso.GetTempName WshShell.Run PathToPdftk & " """ & fname & """ blanco.pdf catalogo.pdf cat output """ & tfname & """",0,true If fso.FileExists(fname) Then fso.DeleteFile(fname) End If fso.MoveFile tfname, fname ' Imprimimos el ultimo documento
Set WshShell = createobject("wscript.shell") Set bloc = WshShell.Exec("""C:\Archivos de programa\Adobe\Acrobat 7.0\Reader\acroRd32.exe""" & " /t " & """" & fname & """" & " " & """RICOH Aficio MP 6500 RPCS""") Wscript.sleep 5000 ' 5 segundos de espera bloc.terminatePuede descargar los archivos de flash swf y visualizarlos mediante el programa flashplayer.exe que no necesita instalación puede descargarlo desde