PDA

Ver la Versión Completa : abrir un archivo PDF


afxe
12-12-2007, 18:46:27
Hola.

Necesito abrir un archivo PDF y extraer en un string una determinada linea que contenga ciertos caracteres. ¿Conoceis alguna herramienta gratuita (de pago hay bastantes) que permita abrir un PDF y leer o buscar texto en su contenido?

Gracias.

BlueSteel
12-12-2007, 19:45:16
Hola.

Necesito abrir un archivo PDF y extraer en un string una determinada linea que contenga ciertos caracteres. ¿Conoceis alguna herramienta gratuita (de pago hay bastantes) que permita abrir un PDF y leer o buscar texto en su contenido?

Gracias.

Hola afxe

lo que necesitas es realizarlo desde Delphi ???

si es así no se...

pero si lo que quieres es abrir el PDF, y seleccionar un texto... con el mismo visualizador Acrobet Reader...puedes hacerlo

solo basta con (al menos la version 7 lite) seleccionar el texto precionar Ctrl+C y puedes pegarlo en donde sea...

con las imagenes tambien puedes hacerlo... hay algunos que tienes unos iconos que son para seleccionar texto.. e imagenes.... que cuando los activas te permite seleccionar , copiar y despues pegar en donde sea..

espero que te sirva... salu2:p:D

afxe
13-12-2007, 11:12:15
¡Qué razón tienes! Planteé mal la cuestión... trataré de ser más explícito. Un señor llega al final de la jornada con un tocho de documentos impresos en A4 (albaranes, facturas, pedidos, recogidas, entregas....) Todos ellos firmados por los responsables de los datos y la verificación de los mismos(Vendedores, clientes, transportistas, almacenistas....) Meten ese tocho en la bandeja de un scanner A4 que se pasa una hora escaneándolos y dejándolos en formato PDF en un directorio predeterminado. Me han pedido que se lance un programita (trabajo en Delphi 7.0) que clasifique esos documentos en directorios y les cambie el nombre del documento para poder relacionarlos y reimprimirlos desde la gestión. Es decir, si consulto un albarán de recepción de mercancía en el ordenador, poder re-imprimir el albarán, pero el escaneado, con la firma del transportista que dejó la mercancía y el almacenista que verificó la recepción. Se me ocurrió imprimir una cadena de caracteres en cada documento: ###nn##yyyyyy##xx##zz### Donde 'nn' es el tipo de documento, 'yyyyyy' es el código, 'xx' es la página y 'zz' es el codigo de departamento o empresa. El programa en delphi tendría que abrir el PDF y buscar esa cadena tomando como patrón las almohadillas, dependiendo de nn se copiaría a un determinado directorio, y el nombre lo cambiaría haciendo una composicion: zz_yyyyyy_xx.PDF. La pregunta es: ¿Cómo abro un PDF desde delphi y paso el contenido de texto a un TStringList? El documento lleva logos, firmas, líneas... pero sólo quiero poder localizar la línea que contenga las almohadillas en ese formato.

Espero haber sido totalmente explícito. Gracias y perdón, de nuevo.

BlueSteel
13-12-2007, 15:26:34
Hola

en ese caso te recomiendo que ese string que quieres poner en el archivo, lo pongas como nombre de archivo... puede ser una opción


otra opción (aunque no estoy seguro), es que he visto que cuando generas un documento PDF, puedes declarar objetos con nombres de variables... quizas sea esta la solución que necesitas.. pero no se como se trabaja...

salu2:p:D

afxe
13-12-2007, 16:51:50
Gracias, pero no es eso exactamente. Como dije, el programa del scanner escanea los documentos que se le deja en una bandeja, y vuelca todos los documentos en un directorio con un nombre autogenerado mediante un contador, cientos de documentos PDF... el programa que tengo que hacer debe abrir los documentos, detectar la cadena mencionada y renombrarlos... Yo no genero ningún PDF, símplemente recorro cientos de ficheros PDF que hay en un directorio y debo moverlos al directorio correcto y cambiar su nombre por el de la cadena que contiene dentro... Es importante que el documento vaya escaneado porque contiene la firma de los responsables de la transacción que se haya llevado a cabo: Lo que más importa es localizar rápidamente un documento firmado, o con anotaciones realizadas a mano... no sé si me explico... no se trata de generar PDF o imprimirlos en formato PDF(eso lo hace el programa del scanner), se trata de abrirlos y buscar un determinado texto encerrado entre almohadillas, para asociarlo con el documento digital...

¿Alguna idea? Gracias BlueStil por tu interés.

yusnerqui
13-12-2007, 17:25:34
Hola, creo que sería útil(aunque casi lo adivino), que dijeras si el documento pdf resultante tiene efectivamente cadenas que se puedan leer o está compuesto por imágenes que representan el texto. Pues si es la segunda forma no solo tienes que abrir el documento sino que tienes que analizar la imágen para lograr desifrar los textos que en ella hay, creo que es una árdua faena.

Saludos

afxe
13-12-2007, 18:44:13
Son cadenas, puede que contenga algún logotipo y líneas gráficas y las firmas de los responsables, pero la cadena identificativa intentare que esté en un lugar que sea identificable como caracteres y no como imagen.

afxe
18-12-2007, 18:05:53
Por si alguien se encuentra este hilo buscando hacer algo parecido, lo autorespondo... da mucha rabia encontrar un hilo donde se comenta lo que estás buscando y darte cuenta de que nadie ha encontrado una solución.

http://www.swissdelphicenter.com/en/showcode.php?id=2169

Gracias a todos los que me han ayudado.

MAXIUM
30-05-2017, 23:21:02
Por si alguien se encuentra este hilo buscando hacer algo parecido, lo autorespondo... da mucha rabia encontrar un hilo donde se comenta lo que estás buscando y darte cuenta de que nadie ha encontrado una solución.

http://www.swissdelphicenter.com/en/showcode.php?id=2169

Gracias a todos los que me han ayudado.
Muchas gracias, voy a probara a ver que tal.

Acá hay otra fuente que también debería hacer lo mismo http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=202

Acompaño como usar ActiveX de Adobe Reader http://delphimagic.blogspot.cl/2009/03/usar-archivos-pdf-con-delphi.html