Intégration Xpdf
Version actuelle : 1.3.2
Attention : Cette extension nécessite l'utilisation de exec() et vous demande également d'installer vous-même les outils en ligne de commande Xpdf.
SearchWP offre la fonctionnalité unique d'extraire le texte brut des fichiers PDF téléchargés sur votre site WordPress. Par défaut, SearchWP tente de le faire en utilisant uniquement PHP, mais en raison de la complexité et de la variation du format PDF, le contenu n'est parfois pas extrait avec précision. C'est là qu'intervient Xpdf.
Xpdf dispose d'un ensemble d'outils en ligne de commande qui doivent être installés sur votre serveur pour que cette extension fonctionne. Les instructions sont incluses ici.
En utilisant l'extension d'intégration Xpdf, vous pouvez décharger tout le travail que PHP doit effectuer pour traiter vos fichiers PDF vers les outils en ligne de commande de Xpdf, qui sont extrêmement rapides et précis pour extraire le contenu de vos PDF. Après avoir activé l'extension, vous devrez suivre les instructions d'installation. Une fois installés, SearchWP déchargera le processus d'extraction du contenu PDF vers Xpdf.
Installation des outils en ligne de commande Xpdf
En utilisant cette extension, vous pouvez utiliser Xpdf pour extraire le contenu de vos PDF.
IMPORTANT : Les outils en ligne de commande Xpdf ne sont pas fournis dans le téléchargement de cette extension. Vous devez suivre ces instructions pour télécharger les outils en ligne de commande et les téléverser dans un emplacement non public (en dehors de votre répertoire Web).
Vous pouvez télécharger les outils en ligne de commande Xpdf pour Windows et Linux sur http://www.xpdfreader.com/download.html.
Installation
Une fois que vous avez téléchargé les outils en ligne de commande pour votre type de serveur :
- Extrayez
xpdf-tools-linux-4.03.tar.gz(le numéro de version peut être différent) - Téléversez le binaire
pdftotext(trouvé dans le répertoirebin32oubin64après extraction, selon l'architecture de votre serveur) dans un emplacement non public, en dehors de votre répertoire Web. - Téléversez le binaire
pdfinfo(trouvé dans le répertoirebin32oubin64après extraction, selon l'architecture de votre serveur) dans un emplacement non public, en dehors de votre répertoire Web. - Assurez-vous que
pdftotextetpdfinfoont les permissions d'exécution pour l'utilisateur PHP sur votre serveur.
La dernière étape consiste à indiquer à l'intégration Xpdf de SearchWP où vous avez installé pdftotext et pdfinfo. Pour ce faire :
Ajoutez ce qui suit à votre plugin SearchWP Customizations, en remplaçant /path/to/pdftotext par le chemin réel vers les binaires pdftotext et pdfinfo (pas le dossier) sur votre serveur.
// 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.
} );
C'est tout !
Ajout de la prise en charge des mots de passe PDF dans l'intégration Xpdf
Xpdf prend en charge l'analyse des PDF protégés par mot de passe (lecture seule : pas chiffrés) à l'aide du filtre searchwp_xpdf_command. Ce filtre vous permet de manipuler directement la commande exécutée pour lancer Xpdf, et comme Xpdf prend en charge une option pour inclure un mot de passe, vous pouvez le faire comme suit :
Test manuel de l'intégration Xpdf
Après avoir téléchargé et activé l'extension d'intégration Xpdf et défini le chemin d'accès à pdftotext, vous pouvez confirmer manuellement que l'extraction de texte Xpdf fonctionne comme prévu sur des PDF spécifiques téléchargés dans votre médiathèque. Commencez par accéder à l'écran des paramètres SearchWP (Paramètres > SearchWP) et trouvez le lien d'intégration Xpdf dans les extensions sur l'écran des paramètres SearchWP.
Sur l'écran de test d'intégration Xpdf, vous pouvez entrer l'ID du PDF que vous souhaitez tester :

L'ID peut être trouvé en naviguant vers votre section Média, puis en cliquant sur le lien Modifier de votre PDF, l'ID sera dans l'URL, suivi de post=
Après avoir soumis un ID valide, vous recevrez un journal détaillé des étapes suivies par l'extension d'intégration Xpdf ainsi que les éventuels points de défaillance survenus. Vous verrez également le contenu exact extrait par Xpdf du PDF :

Si le journal affiche un point de défaillance, veuillez l'inclure dans toute demande de support que vous soumettez.
Codes d'erreur d'intégration Xpdf
Si Xpdf a eu un problème d'exécution, l'un des codes d'erreur listés ci-dessous sera indiqué dans le journal.
| Code de sortie | Description |
|---|---|
| 0 | Commande exécutée avec succès |
| 1 | Code fourre-tout pour toute erreur non spécifiée |
| 2 | Problème de permissions, vérifiez que www-data (ou l'utilisateur de votre serveur web) a les permissions pour exécuter pdftotext |
| 11 | Erreur de segmentation. Utilisez-vous le binaire Xpdf approprié pour votre environnement serveur ? |
| 126 | Il y a un problème de permissions pour exécuter pdftotext depuis l'utilisateur du serveur web. Veuillez vérifier avec votre hébergeur pour assurer les permissions appropriées. |
| 127 | Votre serveur n'a pas pu exécuter pdftotext. Veuillez vérifier avec votre hébergeur pour vous assurer que l'utilisateur du serveur web peut exécuter pdftotext. |
| 139 | Il y a un problème de permissions pour exécuter pdftotext depuis l'utilisateur du serveur web. Veuillez vérifier avec votre hébergeur pour assurer les permissions appropriées. |
Journal des modifications
1.3.2
- [Amélioration] Ajoute l'échappement aux arguments de la commande shell
- [Correction] Correction du lien vers la documentation de l'extension
1.3.1
- [Correction] Création de propriété dynamique dépréciée en PHP 8.2+
1.3.0
- [Nouveau] Ajoute la prise en charge de
pdfinfopour extraire les métadonnées PDF - [Mise à jour] Updater mis à jour
1.2.0
- [Nouveau] Ajoute la prise en charge de SearchWP 4
1.1.6
- [Nouveau] Affiche une notification lorsque
exec()n'est pas disponible car il est nécessaire - [Mise à jour] Updater mis à jour
1.1.5
- [Changement] Xpdf est maintenant XpdfReader, ce qui a entraîné un changement dans le formatage de la commande. VOUS DEVEZ ÉGALEMENT METTRE À JOUR pdftotext. Veuillez consulter la documentation d'intégration Xpdf pour un lien vers le site Web XpdfReader afin de télécharger une version mise à jour.
- [Mise à jour] Updater mis à jour
1.1.3
- [Mise à jour] Updater mis à jour
- [Changement] Mise à jour de la version minimale requise de SearchWP
1.1.2
- [Amélioration] Meilleure gestion des codes de sortie
1.1.1
- [Nouveau] Nouveau filtre :
searchwp_xpdf_commandpermettant la manipulation de la commande Xpdf
1.1
- [Amélioration] Ajout de la prise en charge des mises à jour automatiques basées sur la clé de licence SearchWP
0.7.2
- [Correction] Meilleure gestion des séparateurs de répertoires Windows
0.7
- Version initiale

