php pdf xpdf

php - ¿Extraer TOC de PDF?



xpdf (4)

Estoy extrayendo un pdf en imágenes / swf y texto con la ayuda de SWFTools y XPDF. Los estoy ejecutando en un script PDF.

Pero ahora estoy tratando de ir un paso más allá y tratar de obtener el TOC del PDF. ¿Es posible extraer esta información?


Alternativamente, puede usar MuPDF que es una implementación de PDF bastante ligera pero completa, escrita en C. En el subdirectorio de apps/ encontrará algunas herramientas que pueden ver, volcar y extraer información de archivos PDF. Prefiero MuPDF sobre xpdf porque se mantiene activamente y tiene mejor soporte de PDF.

De lo contrario, siempre hay Poppler que en realidad se basa en xpdf. Los desarrolladores portaron su código a C ++. Por lo tanto, se realiza peor que su predecesor. En comparación con MuPDF, Poppler parece tener características un poco más, pero a cambio el código es mucho más complejo.

Sin embargo, para tus propósitos, MuPDF debería ser suficiente. Puede hackear una aplicación simple del código de ejemplo provisto en las apps/ que extrae toda la información que necesita sin depender de aplicaciones externas.


Creo que mirar PDFLib de PHP sería un muy buen lugar para comenzar. Si se desplaza hacia abajo, verá muchas soluciones publicadas por los usuarios para convertir PDF a HTML o PDF a Texto. Después de la conversión, una función de coincidencia relativamente simple podría extraer los elementos de TOC etiquetados y lanzarlos a una matriz, por ejemplo, que luego puede manipular como desee.

Esta publicación de también tiene algunas soluciones más.

Espero que esto ayude.


Encontré esto con un poco de búsqueda. Parece bastante prometedor.

PDFMiner: http://www.unixuser.org/~euske/python/pdfminer/index.html

Nota: La herramienta está basada en Python, pero debería poder usarla a través del acceso de shell. Alternativamente, puede obtener información útil del código fuente en sí mismo, ya que el proyecto es de código abierto.

Desde el sitio:

dumppdf.py

dumppdf.py vuelca el contenido interno de un archivo PDF en formato pseudo-XML. Este programa es principalmente para propósitos de depuración, pero también es posible extraer algunos contenidos significativos (como imágenes).

Ejemplos:

$ dumppdf.py -a foo.pdf (dump all the headers and contents, except stream objects) $ dumppdf.py -T foo.pdf (dump the table of contents) $ dumppdf.py -r -i6 foo.pdf > pic.jpeg (extract a JPEG image)


Intenté dump.pdf -T , pero no funcionó en algunos archivos PDF.

Hay otra herramienta de MuPDF llamada mutool , que acabo de encontrar. No sé si esto es mejor que dump.pdf pero funcionó en un archivo PDF dump.pdf produce un error.

Aquí es cómo extraer TOC con mutool

mutool show {your-pdf-file} outline

MuPDF