Foros del Web » Programando para Internet » PHP »

¿Se puede leer dentro de un pdf con php?

Estas en el tema de ¿Se puede leer dentro de un pdf con php? en el foro de PHP en Foros del Web. Buenas Pues eso, que si se puede leer pdf por las buenas con pdf sin usar la PDFlib Gracias...
  #1 (permalink)  
Antiguo 04/12/2005, 11:04
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
¿Se puede leer dentro de un pdf con php?

Buenas

Pues eso, que si se puede leer pdf por las buenas con pdf sin usar la PDFlib

Gracias
  #2 (permalink)  
Antiguo 05/12/2005, 07:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
PDF lib no "lee" un PDF sino que lo genera ..

Especifica bien que es lo que deseas hacer (por qué con esa confusión no sabemos realmente que deseas hacer).

Por otro lado .. es común generar un PDF desde PHP .. Leer no tanto (directamente con un "script" PHP no lo he visto).

Un saludo,
  #3 (permalink)  
Antiguo 05/12/2005, 07:44
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola Clus

Pues así que ando yo desencaminada....

mira, el tema es que un sistema de boletines y noticias que debía salir de bd ahora va a ser con pdf. El cliente dejará los pdf yá hechos en el servidor y desde php se ha de listar el título de la noticia, los x primeros caracteres del texto y un link al pdf. Vamos, el clásico listado de noticias sólo que al final no saldrá de la base de datos si no de pdf yá hechos en el servidor. Claro, quería ver si se puede leer dentro del pdf para crear ese listado en la página web.
  #4 (permalink)  
Antiguo 05/12/2005, 08:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Sobre el tema de leer un PDF .. desde PHP. En principio PHP puede abrir un archivo cualquier (fopen() .. etc) pero de ahí "interpretar" lo que lea es lo complicado.

Haciendo una prueba .. si abrese un .pdf con un editor de texto plano (notepad .. etc) veras algo como:

Cita:
11 0 obj
<< /Filter /FlateDecode
/Length 1682 >>
stream
xœ*XmoÛ6þ>`ÿáÈ
D´^,Ù.æ®Ó®’¢kt
´DÛZhQ¥ºÉ¶ÿ¾;½¤Vr.Z`âȤxïwÏCÿôrþXÃFãPx“,¼ öÀs…
‹À/Ž³KË©JÇJ«eUnøù,þ„W‹ŸöÎß<ŸïâŠoÙÓ‘/ÜÑÁÓN²ÔérºTÅ*Òꎕº"ôKX&K e$i1T¶hK=ÀÕ®²ƒ±˜„ߘf1#Wu•(V¨?Áá(;&W™µz_"~e %y¡Ž·“ëjf¬CW ”EŸè…Ï¥à¶òV1'¢‰/F\È›f¶”Zç_¤…˜òÓ3Γhì ¯ t=šˆp¬‡cáržÏëê*M£ÝV…‚r#KüPËrýH@jÑD¨2èDX#b“* œ¯ -i33å)ÈS’4‚j!(Ÿ®R*@âNQe*:š®熑rQÝ
ÊócPñÆÀQß¾#xñâ±u\ø‚¡˜ðYèÌâNù¸ê~gl¹J¿pG<OŒ¸|¸®ðƒ§ ëáx,"Îõ¹Ùæ©N³5´Ê(Øy¡ÊòlYÈt½)aeŠ,/»TIÒ$³=VYUÔ9X¦ÊœUI¥WºÚÃLîRü/í-‰¤½§ž…£‘ð¸öœ’ å´LÏIaPõëF64¯
Y¦&l?—¦¸;›«8]Ý5 meˆãF0ùÕ‰‡©¢0
EÈeËs]o¿¿
Realmente no sé que codificación se usa .. ni el psudo-código própio del formato PDF ...

Usando google salió esta classe que supuestamente hace lo que necesitas. Pruebala y nos comentas.
http://www.phpclasses.org/browse.html/package/702.html

Por lo menos ahí veras como abrir el PDF y como leer contenido .. tendrás que implementar algunas otras funciones para localizar bajo algún patrón dado donde está el dato que te interesa.

Ahora .. por otro lado (una propuesta):

Como suben esos "PDF's" a tu sitio? .. lo hacen por algún administrador de "upload"? .. lo hacen por FTP directo? .. otros médios? ... Creo que lo más sano sería crear un "Upload" de esos archivos (por un formulario HTML) donde le pidas al usaurio que ingrese esa descripción del archivo, titulo .. etc y se haga el úpload del archivo en sí (daría igual si es un PDF o de repenten les dá por usar otro formato) así quedaría asociado en el momento contra tu BD los datos relacionados.

Por supuesto, .. así no se puede automatizar un proceso si es que subieran de golpe cientos de PDF's o constantemente lo hagan .. Pero .. plantea el caso "y si cambian el contenido del PDF?" ... hay que lanzar denuevo el proceso? .. (cosas a tener encuenta).

PD: Mis disculpas porqué FDF lib (como marca comercial y productos que desarrolla) tiene su "PDFlib text" que es una utilidad para leer en un PDF. Pero .. la extensión de PHP "PDFlib" (www.php.net/pdf) sólo es el "generador" de PDF (no el lector).

Un saludo,
  #5 (permalink)  
Antiguo 05/12/2005, 12:10
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
Iniciado por Cluster
Sobre el tema de leer un PDF .. desde PHP. En principio PHP puede abrir un archivo cualquier (fopen() .. etc) pero de ahí "interpretar" lo que lea es lo complicado.

Haciendo una prueba .. si abrese un .pdf con un editor de texto plano (notepad .. etc) veras algo como:

Realmente no sé que codificación se usa .. ni el psudo-código própio del formato PDF ...
Yess, por ahí había pasado usando el fopen() y lo más legible que sale es
Cita:
%PDF-1.3 %âãÏÓ 6 0 obj << /Linearized 1 /O 8 /H [ 833 190 ] /L 69370 /E 67599 /N 1 /T 69133 >> endobj xref 6 20 0000000016
y
Cita:
ÇñuÌ ÝLÈ3 endstream endobj 23 0 obj << /Type /ExtGState /SA false /SM 0.02 /TR2 /Default >> endobj 1 0 obj << /S /D >> endobj 2 0 obj << /Nums [ 0 1 0 R ] >> endobj 3 0 obj << /Type /Pages /Kids [ 8 0 R ] /Count 1 >> endobj 4 0 obj << /CreationDate (D:20051125123541+01'00') /ModDate (D:20051125123541+01'00') /Producer (Acrobat Distiller 5.0 \(Windows\)) /Author (pericodelospalotes) /Creator (PScript5.dll Version 5.2) /Title (Microsoft Word - CIRCULAR 2005.doc) >> endobj 5 0 obj << /Type /Metadata /Subtype /XML /Length 1092 >> stream Microsoft Word - CIRCULAR 2005.doc endstream endobj xref 0 6 0000000000 65535 f 0000067569 00000 n 0000067599 00000 n 0000067641 00000 n 0000067705 00000 n 0000067949 00000 n trailer << /Size 6 /ID[<6d450da970e6fc8e053d6198f4e18aa3>] >> startxref 173 %%EOF
Creí que con la pdflib se podría interepretar pero, no puedo disponer de ella instaladada en el servidor donde se va a alojar la aplicación. Por eso preguntaba si se podía sin esta librería.
El servicio de soporte del hosting me sugirió un par de librerías free (también para uso comercial) que no requieren permisos del root pero sirven para la creación de pdf, no para extraer texto desde php como es la idea.

Cita:
Usando google salió esta classe que supuestamente hace lo que necesitas. Pruebala y nos comentas.
http://www.phpclasses.org/browse.html/package/702.html

Por lo menos ahí veras como abrir el PDF y como leer contenido .. tendrás que implementar algunas otras funciones para localizar bajo algún patrón dado donde está el dato que te interesa.
Te agradezco Cluster

...lamentablemente yá había pasado por phpclases había probado esa clase. Creí que si era capaz de de buscar texto tendría algún tipo de intérprete para php pero sin resultado
Probando la clase tal cual me devuelve siempre que loquesea was not found (cuando existe) salvo si le pido que busque la palabra Acrobat que sí la encuentra (observa que aparece en el resultado que dejé más arriba, pero claro, no es contenido del documento si no la propia info del documento)

Cita:
Ahora .. por otro lado (una propuesta):

Como suben esos "PDF's" a tu sitio? .. lo hacen por algún administrador de "upload"? .. lo hacen por FTP directo? .. otros médios?
Desde un administrador de upload


Cita:
... Creo que lo más sano sería crear un "Upload" de esos archivos (por un formulario HTML) donde le pidas al usaurio que ingrese esa descripción del archivo, titulo .. etc y se haga el úpload del archivo en sí (daría igual si es un PDF o de repenten les dá por usar otro formato) así quedaría asociado en el momento contra tu BD los datos relacionados.
En principio había de ser un administrador de noticias como sugieres, yendo todo a parar a la base de datos pero estos quieren la ley del mínimo esfuerzo y de repente dijeron que no querían el administrador de noticias y que pusiéramos link a los pdf que ellos subierán al server. Claro, el diseño del sitio (re-contra-muy-elaborada en su interfaz y cada detalle) incluye el listado de noticias y boletines con el formato de título, primeros x caracteres y un link a la noticia ampliada pero claro, desconocía si se podía extraer contenidos o no de pdf con php así que antes de comunicarle al cliente un "no se puede hacer así, o se hace sin descripción o se crea el módulo de administración de noticias" quería asegurarme de las posibilidades.

Cita:
Por supuesto, .. así no se puede automatizar un proceso si es que subieran de golpe cientos de PDF's o constantemente lo hagan .. Pero .. plantea el caso "y si cambian el contenido del PDF?" ... hay que lanzar denuevo el proceso? .. (cosas a tener encuenta).
Qué va, serán pdf ocasionales pero es un cliente que quiere que cualquier update se haga de la forma más simple (para ellos) y por pedir no queda.

Pues creo que yá tengo la info suficiente para decir que no se puede. O teclean además en un panel de admin o se listan los links sin descripción.

Muchísimas gracias, Cluster, como siempre, por tu inestimable ayuda

Un saludo
  #6 (permalink)  
Antiguo 05/12/2005, 14:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Espero que tengas suerte en tu explicación para tu cliente.

Sino, .. puedes apoyarte que "sería posible .. con peros" .. Es decir, como ya has visto hay aplicaciones comerciales para buscar en PDF's pero requieren de cierta infraestructura instalada en el servidor (aplicaciones/extensiones/librerias externas). En estos casos PHP sólo hace de "interface" para estas aplicaciones externas. Realmente ahí valdría la pena la inversión si tuvieras el caso concreto de buscar en el contenido de los PDF's que suben al servidor .. Pero por un tema de "la ley del minimo esfuerzo ..." creo que hay que "ubicar" a los "clientes" en lo que es realmente viable o no (por supuesto .. tras una investigación como has hecho del tema ...)

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 13:11.