MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   pdf ascii (foro/showthread.php?t=30546)

oknilim 04/06/09 11:35:26

pdf ascii
 
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??


Husos Horarios son GMT. La hora en este momento es 09:12:29.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web