Ver la Versión Completa : [Duda] Leer y llenar archivos PDF
lfortuny
6 de abril de 2016, 12:35
Buenos días.
Busco información de como llenar y leer campos de archivos PDF desde el PowerCobol preferiblemente.
No encuentro información de como tratar con los campos de los archivos PDF, quizá tenga que recurrir a algún otro lenguaje o ActiveX o ¿?.
Agradezco de antemano cualquier información al respecto.
Saludos.
Kuk
6 de abril de 2016, 15:31
lfortuny, échale un vistazo a esto a ver: Advance PDF Class Without Acrobat Reader by Faizi Baba (from psc cd) (http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=70441&lngWId=1)
No lo he probado, pero según parece es usando WinAPI. Si realmente es así, se puede hacer vía PowerCOBOL sin problemas.
lfortuny
6 de abril de 2016, 18:43
Gracias.
No me sirve, esto es para crear archivos PDF. Lo que busco es la forma de cargar datos en un PDF y leerlos tras que el usuario haya llenado los que necesito.
Saludos
Kuk
15 de abril de 2016, 15:35
lfortuny, he leído esto y me he dado cuenta que es verdad:
I'm afraid this is a mission impossible.
A pdf can be stored in so many diffrent ways...
the most horrific version is a picture/scan containing the text information you want.
an optimzed pdf ussually contains text as three letter fragments instead of complete lines of text. (this is a way of compressing information by pointing to a letter combination like 'ing' instead of repeating the combination everywhere it occurs)
So distilling info from a pdf... don't.
use a diffrent format like XML, HTML, TXT, RTF, etc... as PDF is a closed format, and in later versions even has read/copy restrictions and security on the file.
Podrías a lo mejor barajar la opción de usar un OCX lctor de PDF, como el Foxit que he puesto en el foro, cargar el fichero, guardarlo como texto y buscar la información en el texto.
Otra opción bastante chunga sería utilizar un OCR, pero de los gratuitos no he visto ninguno bueno.
Si el fichero de origen es tuyo (aunque estoy casi seguro que no), como dice el texto citado, yo también te aconsejo cambiar de formato.
Begoguay
23 de abril de 2016, 17:15
Hola amigos.
Yo necesitaría abrir un archivo PDF desde un programa PWC-9. Y además, saber si habría alguna forma de ir a una página concreta de ese PDF.
Un saludo
Kuk
23 de abril de 2016, 18:58
Begoguay, has probado con este? [Aporte] FoxitReader - COBOL Foro (http://www.cobolforo.es/showthread.php?t=222)
Begoguay
24 de abril de 2016, 11:29
Hola.
Yo queria hacerlo ejecutando una linea de comando y ejecutarlo con 'ExecuteSync', no usando un ocx.
No se si se podra hacer.....:confused::confused::confused:
Josber
24 de abril de 2016, 12:56
Hola.
Yo queria hacerlo ejecutando una linea de comando y ejecutarlo con 'ExecuteSync', no usando un ocx.
No se si se podra hacer.....:confused::confused::confused:
Yo creo que con ...
MOVE SPACES TO WTEX.
STRING "Start "
Nombre_Fichero.PDF
DELIMITED BY SIZE INTO WTEX
END-STRING.
INVOKE POW-SELF "ExecuteSync" USING WTEX.
Te abrirá el archivo pdf con el programa que tenga asociado en Windows. Recuerda que Nombre_Fichero.PDF, tiene que tener la extensión incluida y correcta, (en éste caso .PDF) para que funcione, o te dará error, además con ésto puedes abrir cualquier archivo, siempre que tenga su programa asociado en Windows.
Ya nos comentas si te funcina.
Un saludo
Begoguay
24 de abril de 2016, 16:12
Yo creo que con ...
MOVE SPACES TO WTEX.
STRING "Start "
Nombre_Fichero.PDF
DELIMITED BY SIZE INTO WTEX
END-STRING.
INVOKE POW-SELF "ExecuteSync" USING WTEX.
Te abrirá el archivo pdf con el programa que tenga asociado en Windows. Recuerda que Nombre_Fichero.PDF, tiene que tener la extensión incluida y correcta, (en éste caso .PDF) para que funcione, o te dará error, además con ésto puedes abrir cualquier archivo, siempre que tenga su programa asociado en Windows.
Ya nos comentas si te funcina.
Un saludo
Hola.
He hecho un programa pequeño que pulsando un botón se ejecuta lo siguiente:
MOVE SPACES TO COMANDO
MOVE "START C:\guia.pdf" TO COMANDO
INVOKE POW-SELF "ExecuteSync" USING COMANDO
INVOKE BT-SALIR "SetFocus"
Pues lo he probado y me da error: Invalid calling of method, setting or getting the property
Kuk
24 de abril de 2016, 16:14
Begoguay, ExecuteSync bloquea el Form desde el que se ha lanzado hasta que el programa llamado no sea cerrado. Así que el SetFocus lo tienes que hacer antes.
Puedes hacer lo siguiente, para que no se abra la ventana de DOS:
INVOKE BT-SALIR "SetFocus"
INVOKE POW-SELF "ExecuteSync" USING 'rundll32 url.dll,FileProtocolHandler "C:\guia.pdf"'
Begoguay
24 de abril de 2016, 16:32
Hola Kuk.
Me funciona:yupi::yupi::yupi::yupi:
Y para rematar, de momento, :verg:, sabrías como ir a una pagina del documento?
Un saludo.
Josber
24 de abril de 2016, 16:51
La diferencia entre Execute y Executesunc, es que el primero no bloquea el Form hasta que hayas cerrado el pdf y el segundo sí, prueba los 2 y quédate con el que te interesa.
En cuanto a poder ir a una página en concreto, creo que desde la línea de comandos, te va a ser imposible.
Un saludo.-
Kuk
24 de abril de 2016, 19:36
Begoguay, este comando le dice al SO que abra el documento con el programa por defecto. Si quieres indicar la página u otras opciones, ya hay que orientarse a un programa en concreto (Acrobat, Foxit) y ejecutar comandos específicos. Habría que anteriormente determinar cual es el que está instalado.
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.