Este scrip nos permite guardar en PDF un reporte, ya que con el dw.saveas() si bien figura en la lista el formato, no guarda, o guarda pero al querer abrirlo nos da un Error.
Como primer paso debes tener Instalado una impresora Virtual, podria se el PDFCreator, cuando ya lo tengas instalado, renombralo con "PDF" (en el scrip llamaremos a esa impresora, si lo nombras de otra manera no lo encontrará), luego instalas el gs871w32.exe para S.O. de 32bits, y el gs871w64.exe para S.O. de 64bits, lo puedes descargar de algun sitio de internet, mas adelante sugeriré el sitio de donde yo lo descargué.
Y a continuación el Scrip, que yo lo puse en el evento clicked de un boton, cada uno verá donde ubicarlo de acuerdo a sus necesidades.
//por fativilla 27.06.2012 \m/
string ls_arc_pdf
CreateDirectory(GetCurrentDirectory( ) +'\PDF\') //SI no existe la carpera lo crea en el directorio del app
ls_arc_pdf= GetCurrentDirectory( ) +'\PDF\carta_oferta.pdf'
tabpage_5.dw_10.Object.DataWindow.Export.PDF.Method = Distill!
tabpage_5.dw_10.Object.DataWindow.Printer = "PDF"//PDF Nombre de la impresora virtual
tabpage_5.dw_10.Object.DataWindow.Export.PDF.Distill.CustomPostScript="YES" // Permitir Postscript
if tabpage_5.dw_10.SaveAs(ls_arc_pdf,PDF!,true) <> 1 then
messagebox("Error","Hubo un error al generar el archivo PDF~n~r"+&
"1. Puede que no haya instalado gs871w32.exe~n~r"+&
"2. Puede que no tenga una impresora virtual con el nombre 'PDF'~n~r", StopSign!)
else
messagebox("Atención","El archivo se generó con EXITO!!~n~r"+&
ls_arc_pdf)
end if
* Sitio de donde puedes descargar el gs871w32.exe
http://es.sourceforge.jp/projects/sfnet_ghostscript/downloads/GPL%20Ghostscript/8.71/gs871w32.exe/
Hola. Muy interesante la explicación que das. Tengo una duda: debo instalar el archivo gs871w32.exe en cada pc que use el sistema? y cada una debe tener la impresora virtual?
ResponderEliminarAsi mismo, ambos deben de ir instalados en cada PC. Gracias por el comentario :)
ResponderEliminarmuchas gracias!!
ResponderEliminarme funcionó perfectamente en PB9 y win7 pro
Muy bueno me ha funcionado de maravilla
ResponderEliminarHola, a mi me funciona pero seria perfecto si funcionara para todos mis dw en uno de ellos me sale error y no se por que???
ResponderEliminaralguien me puede ayudar.
gracias.
Puedes decir el error que te sale?
EliminarEl retorno me sale -1, es muy extraño ya que para mis otros reportes si funciona??
Eliminarya probé de diferentes formas pero nada no se que mas intentar.
Me funciona de mil maravillas pero con un reporte no funciona y no entiendo por que. eso solo pasa con un DW.
ResponderEliminaralguien me puede ayudar.
gracias
Gracias Funcionó Perfecto!. Felicitaciones por tu profesionalismo, y por compartir.
ResponderEliminarPerfecto!. Gracias por tu profesionalismo y compartir
ResponderEliminarA ti gracias por alimentarme con el comentario ;)
Eliminarbuena información , solo falto el link para gs871w64.exe
ResponderEliminarfuncionara para la version de power builder 8.0 , gracias
ResponderEliminarbuenos dias y funciona para la version 8.0 ?
ResponderEliminarmi correo es jzorrilla29@gmail.com
Gracias!!!
Gracias, me sacaste del problema despues de algunas horas de estarle buscando, ya que yo tengo las mismas instrucciones, pero la diferencia era la versión del GhostScript ya que si me funciona en S.O. de 32 bits, pero no en S.O. de 64 bits, aun y cuando ambos son de la versión 9.10 con su respectiva diferencia de 32 y 64 bits. Usando la versión que recomiendas del GhostScript (8.71 de 64 bits) me funcionó perfectamente. Cosa rara, que el S.O. de 64 funcione con una versión mas antigua de GhostScript que el de 32 bits. Ahorita tengo una máquina de 32 con la versión GS 9.10 y una de 64 bits con la versión GS 8.71, gracias a tu recomendación, ambas funcionando. Quizá al amigo que si le funciona bien excepto con una DW, el problema sea ese, que la computadora donde obtiene ese reporte, sea de 64 bits. Saludos y que tengan buen día. Gracias nuevamente.
ResponderEliminarTengo problemas al realizarlo en win7 64bits...
ResponderEliminaruna consulta sobre power builder
ResponderEliminarsobre guardar dw a pdf
cuando ejecuto el programa en tiempo de diseño me sale bien el pdf pero cuando ejecuto el tiempo de ejecucion me sale error en saveas
estoy usando pb12.5
Hola lo resolviste?
EliminarMuy util este codigo me ayudo con lo que necestiba. Gracias.
ResponderEliminarme marca erro variable tabpage_5 no registrada o encontrada como la rgistro o configuro
ResponderEliminarEstimado Fvilla tengo instalado Ghostscript 8.71 y PDF Creator 1.7 en Win7 (64bits) pero me manda al error del messagebox. Te agradezco de antemano tu apoyo.
ResponderEliminargracias me sirivio
ResponderEliminarBuen dia...Por favor alguien que me pueda colaborar. Con el código suministrado me crea el archivo pdf pero no automaticamente. Es decir, me lleva al directorio para darle un nombre y asi lo crea. Lo que necesito es que lo haga automaticamente sin necesidad que uno le asigne un nombre y elija donde lo va a guardar.
ResponderEliminarGracias por su colaboracion.
Hola, cuando te refieres a RENOMBRAR el PDFCREATOR, significa que voy a la ruta donde lo instale y a la aplicacion llamada PDFCREATOR le nombre PDF?
ResponderEliminarSi, renombras la impresora... cuando lo instalaste, si te fijas en impresoras te instala con el nombre de PDFCreator, entonces debes renombrar a PDF. Espero te sirva
Eliminar