SearchWP Documentation

Consulta la guía de instalación, explora la base de conocimiento, descubre los numerosos hooks de SearchWP

Integración Xpdf

Versión actual: 1.3.2

Advertencia: Esta extensión requiere el uso de exec() y también requiere que instale las herramientas de línea de comandos de Xpdf usted mismo.

SearchWP ofrece la característica única de extraer texto plano de archivos PDF subidos a su sitio web de WordPress. Por defecto, SearchWP intenta hacer esto usando solo PHP, pero debido a la complejidad y variación del formato PDF, a veces el contenido no se extrae con precisión. Introduzca Xpdf.

Xpdf tiene un conjunto de herramientas de línea de comandos que deben instalarse en su servidor para que esta extensión funcione. Las instrucciones se incluyen aquí.

Usando la extensión Xpdf Integration, puede descargar todo el trabajo que PHP tiene que hacer en el procesamiento de sus archivos PDF a las herramientas de línea de comandos de Xpdf, que son extremadamente rápidas y precisas al extraer contenido de sus PDF. Después de activar la extensión, deberá seguir las instrucciones de instalación. Una vez instaladas, SearchWP descargará el proceso de extracción de contenido PDF a Xpdf.

Instalación de las herramientas de línea de comandos de Xpdf

Usando esta extensión puede utilizar Xpdf para extraer el contenido de sus PDF.

IMPORTANTE: Las herramientas de línea de comandos de Xpdf no se proporcionan en la descarga de esta extensión. Usted debe seguir estas instrucciones para descargar las herramientas de línea de comandos y subirlas a una ubicación no pública (fuera de su directorio raíz web).

Puede descargar las herramientas de línea de comandos de Xpdf tanto para Windows como para Linux en http://www.xpdfreader.com/download.html.

Instalación

Una vez que haya descargado las herramientas de línea de comandos para el tipo de su servidor:

  1. Extraiga xpdf-tools-linux-4.03.tar.gz (el número de versión puede ser diferente)
  2. Suba el binario pdftotext (que se encuentra en el directorio bin32 o bin64 después de extraer, dependiendo de la arquitectura de su servidor) a una ubicación no pública, fuera de su directorio raíz web
  3. Suba el binario pdfinfo (que se encuentra en el directorio bin32 o bin64 después de extraer, dependiendo de la arquitectura de su servidor) a una ubicación no pública, fuera de su directorio raíz web
  4. Asegúrese de que tanto pdftotext como pdfinfo tengan permisos de ejecución para el usuario PHP en su servidor

El último paso es indicar a SearchWP Xpdf Integration dónde ha instalado pdftotext y pdfinfo. Para ello:

Añada lo siguiente a su plugin SearchWP Customizations, reemplazando /ruta/a/pdftotext con la ruta real a los binarios pdftotext y pdfinfo (no a la carpeta) en su servidor.

// Tell SearchWP the location of the pdftotext binary.
add_filter( 'searchwp_xpdf_path', function() {
    return '/home/johndoe/pdftotext'; // Full absolute path to the binary NOT A FOLDER, NOT A URL.
} );

// Tell SearchWP the location of the pdfinfo binary.
add_filter( 'searchwp_pdfinfo_path', function() {
    return '/home/johndoe/pdfinfo'; // Full absolute path to the binary NOT A FOLDER, NOT A URL.
} );

¡Eso es todo!

Añadir soporte para contraseñas de PDF en Xpdf Integration

Xpdf soporta el análisis de PDFs protegidos con contraseña (es decir, no cifrados) usando el filtro searchwp_xpdf_command. Este filtro te permite manipular directamente el comando que se ejecuta para activar Xpdf, y dado que Xpdf soporta una opción para incluir una contraseña, puedes hacerlo de la siguiente manera:

<?php
function my_searchwp_xpdf_command( $cmd, $filename ) {
return $cmd . ' -upw password';
}
add_filter( 'searchwp_xpdf_command', 'my_searchwp_xpdf_command', 10, 2 );

Prueba Manual de la Integración Xpdf

Después de subir y activar la Extensión de Integración Xpdf y definir tu ruta a pdftotext, puedes confirmar manualmente que la extracción de texto de Xpdf está funcionando como se espera en PDFs específicos subidos a tu biblioteca de Medios. Comienza yendo a la pantalla de Configuración de SearchWP (Configuración > SearchWP) y encuentra el enlace de Integración Xpdf en las Extensiones de la pantalla de configuración de SearchWP.

En la pantalla de Prueba de Integración Xpdf, puedes introducir el ID del PDF que deseas probar:

Captura de pantalla 2013-12-09 a las 11.34.24

El ID se puede encontrar navegando a tu sección de Medios y luego haciendo clic en el enlace Editar de tu PDF, el ID estará en la URL, seguido de post=

Después de enviar un ID válido, se te proporcionará un registro detallado de los pasos seguidos por la Extensión de Integración Xpdf, así como cualquier punto de fallo que pueda haber ocurrido. También se te muestra el contenido exacto que Xpdf extrajo del PDF:

Captura de pantalla 2013-12-09 a las 11.36.16

Si el registro muestra un punto de fallo, por favor inclúyelo en cualquier solicitud de soporte que envíes.

Códigos de error de la Integración Xpdf

Si Xpdf tuvo algún problema al ejecutarse, uno de los códigos de error que se enumeran a continuación se indicará en el registro.

Código de SalidaDescripción
0Comando ejecutado con éxito
1Comodín para cualquier error no especificado
2Problema de permisos, comprueba que www-data (o el usuario de tu servidor web) tenga permisos para ejecutar pdftotext
11Fallo de segmentación. ¿Estás usando el binario Xpdf adecuado para tu entorno de servidor?
126Hay un problema de permisos al ejecutar pdftotext desde el usuario del servidor web. Por favor, consulta con tu proveedor para asegurar los permisos adecuados.
127Tu servidor no pudo ejecutar pdftotext. Por favor, consulta con tu proveedor para asegurar que el usuario del servidor web pueda ejecutar pdftotext.
139Hay un problema de permisos al ejecutar pdftotext desde el usuario del servidor web. Por favor, consulta con tu proveedor para asegurar los permisos adecuados.

Registro de Cambios

1.3.2

  • [Mejora] Añade escape a los argumentos del comando de shell
  • [Corrección] Se corrigió el enlace a la documentación de la extensión

1.3.1

  • [Corrección] Creación de propiedad dinámica obsoleta en PHP 8.2+

1.3.0

  • [Nuevo] Añade soporte para pdfinfo para extraer metadatos de PDF
  • [Actualización] Actualizador actualizado

1.2.0

  • [Nuevo] Agrega soporte para SearchWP 4

1.1.6

  • [Nuevo] Muestra un aviso cuando exec() no está disponible, ya que es necesario
  • [Actualización] Actualizador actualizado

1.1.5

  • [Cambio] Xpdf es ahora XpdfReader, lo que resultó en un cambio en el formato del comando. DEBES ACTUALIZAR pdftotext TAMBIÉN. Por favor, consulta la documentación de Integración Xpdf para obtener un enlace al sitio web de XpdfReader para descargar una versión actualizada.
  • [Actualización] Actualizador actualizado

1.1.3

  • [Actualización] Actualizador actualizado
  • [Cambio] Se actualizó la versión mínima requerida de SearchWP

1.1.2

  • [Mejora] Mejor manejo del código de salida

1.1.1

  • [Nuevo] Nuevo filtro: searchwp_xpdf_command que permite la manipulación del comando Xpdf

1.1

  • [Mejora] Se agregó soporte para actualizaciones automáticas basado en la clave de licencia de SearchWP

0.7.2

  • [Corrección] Mejor manejo de los separadores de directorio de Windows

0.7

  • Lanzamiento inicial

Cree hoy mismo una mejor experiencia de búsqueda en WordPress

No vuelva a perder visitantes por resultados de búsqueda inútiles. SearchWP facilita la creación de su propia búsqueda inteligente en WordPress.

Get SearchWP Now
Icono de múltiples motores de búsqueda