Artículo publicado en la revista FoxPress en mayo de 2006. Algunos datos, versiones y funciones citados (MySQL, PHP, Visual FoxPro, Windows) pueden haber quedado desfasados.
Imprimir los informes en PDF tiene su atractivo pues es un formato que no es susceptible de modificaciones.
Pero al ser un producto competidor de Microsoft, nunca ha recibido demasiadas facilidades en este entorno.
La forma más cómoda para imprimir informes en PDF es instalar:
- Una impresora virtual como la de ADOBE que te la puedes bajar de: http://www.adobe.com/support/downloads/detail.jsp?ftpID=1508
- Un convertidor de Postcript a PDF PS2PDF como el ya conocido y veterano Ghoscript que se encuentra en su versión 8.5 que te lo puedes bajar de ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs815/
La impresora de ADOBE te imprime en blanco y negro y puede que necesites otra impresora PostCript como la Apple Color que viene en todos los CD’s de Windows.
Otra alternativa a la impresora de Adobe es CutePDF que es una impresora virtual gratuita que te lo puedes bajar de http://www.cutepdf.com/Products/CutePDF/writer.asp
Pero el objetivo de este artículo es una instalación conjunta con tu aplicación, para eso tenemos que hacer manualmente la instalación del Cute PDF.
Lo primero que hay que hacer es bajarse y no instalar sino desempaquetar el fichero CutePDF que se llama CuteWriter.exe
Descomprimimos los ficheros y los dejamos en un directorio aparte.
Una vez descomprimidos copiamos cpwmon2k.dll y cpwsave.exe a %systemroot%\system32
A continuación creamos la siguiente entrada en el registry.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\CutePDF Writer Monitor]
"Driver"="cpwmon2k.dll"
"CPW2:"="CutePDF Writer"
Re-iniciamos el spooler
NET STOP SPOOLER
NET START SPOOLER
Con el notepad nos creamos un fichero llamado cutepdf.inf y copiamos las siguientes entradas
[Version]
Signature="$Windows NT$"
Provider="CutePDF"
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer
[PortMonitors]
"CutePDF Writer Monitor" = CutePDFWriterMonitor
[CutePDFWriterMonitor]
CopyFiles = @CPWMON2K.DLL
PortMonitorDll = CPWMON2K.DLL
[Manufacturer]
"CutePDF"
[CutePDF]
"CutePDF Writer" = CUTEPDF.PPD, Cute_PDF_Writer
[CUTEPDF.PPD]
CopyFiles=@CUTEPDFW.PPD,PSCRIPT
DataSection=PSCRIPT_DATA
DataFile=CUTEPDFW.PPD
[PSCRIPT]
PSCRIPT5.DLL
PS5UI.DLL
PSCRIPT.HLP
PSCRIPT.NTF
[PSCRIPT_DATA]
DriverFile=PSCRIPT5.DLL
ConfigFile=PS5UI.DLL
HelpFile=PSCRIPT.HLP
[DestinationDirs]
DefaultDestDir=66000
[SourceDisksNames.x86]
1 = "CutePDF",,,""
[SourceDisksFiles]
CPWMON2K.DLL = 1
CUTEPDFW.PPD = 1
PS5UI.DLL = 1
PSCRIPT.HLP = 1
PSCRIPT.NTF = 1
PSCRIPT5.DLL = 1
Nos creamos un fichero *.bat y dentro copiamos la siguiente linea
rundll32 printui.dll,PrintUIEntry /if /b "CutePDF Writer" /f cutepdf.inf /r "CPW2:" /m "CutePDF Writer"
La ejecutamos y bingo ya tenemos nuestra impresora PDF
¿Quieres llevar la IA a los datos de tu empresa?
En una auditoría gratuita de 30 minutos vemos qué caso concreto te ahorraría más trabajo.
Reservar mi auditoría →