PDA

Ver la Versión Completa : pdf ascii


oknilim
04/06/09, 11:35:26
Hola. Quiero tener un pdf de un formulario pero luego descargarlo en formato ascii en vez de binario.
si lo hago en binario sale bien pero en ascii da error al abrir.

un saludo

ballan
04/06/09, 13:44:00
Un pdf realmente es como si fuera una "captura de pantalla" no almacena el texto como caracteres sino como una imagen por lo que no vas a poder leerlo como caracteres

Tendras que buscar una aplicacion o algo que te "traduzca" el pdf a texto

oknilim
04/06/09, 14:32:20
pues en la 4.6 funcionaba.

un saludo y gracias

ballan
04/06/09, 14:59:54
La verdad es que desconozco si en versiones anteriores funcionaba, quiza antiguamente se almacenaba de otra manera o no se

Yo trabajo con la ECC 6.0 y cuando tengo que tratar un pdf lo trato como un stream de datos en binario (hexadecimal), concretamente he usado el tipo abap LRAW (para poder declarar un campo de este tipo antes tienes que declarar otro de tipo INT2 o algo asi, puedes mirar la tabla VBDATA para ver lo que te digo)

Otra manera de trabajar con pdfs es mediante comandos externos definidos en la SM49 y ejecutados con el metodo EXECUTE de la clase CL_GUI_FRONTEND_SERVICES

Con este podrias invocar al ejecutable del adobe para abrirlo, imprimirlo, etc

Quiza podrias mediante comandos seleccionar todo el texto, copiarlo e importartelo con el metodo CLIPBOARD_IMPORT de la clase CL_GUI_FRONTEND_SERVICES

o como te comente antes ejecutar alguna aplicacion que te convierta el pdf a un formato mas "amigo"

Otro camino seria "traducir" el stream de datos binarios, si buscas en este foro veras que mediante field-symbols se puede convertir de binario a ascii y viceversa, asi podrias ir recorriendo la cadena y traduciendo a su caracter asciii correspondiente aver si asi puedes recuperar el texto

Mas o menos seria algo asi

field-symbols: <ascii> type c.

data: lv_binario(2) type x value '41',
lv_ascii type c.

assign lv_binario to <ascii> CASTING.

Desconozco si existe otra manera mas sencilla o potente de hacerlo a lo mejor alguien nos arroja algo de luz

oknilim
05/06/09, 10:20:45
Hola.

Acabo de ver que en la 4.6 lo decodifica como ascii 85 y en la 6.0 no?

alguien sabe como puedo decirle al convert_otf que lo codifique como ascii 85??