Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/12/2005, 12:10
Avatar de tunait
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