Extraire du contenu textuel avec NextPDF Connect (Pro)
En un coup d’œil
Section intitulée « En un coup d’œil »Extrais le texte d’un PDF existant pour l’indexation, l’analyse ou un traitement en aval. L’outil est extract_text. Il est sondé via le fournisseur d’outils Pro, qui enregistre new ExtractTextTool() sous le nom de protocole extract_text. extract_text est un outil de la formule Pro. Le serveur le sonde avec class_exists() au démarrage et ne l’enregistre que lorsque le paquet Pro est installé. Il prend en charge une sortie en texte brut, une plage de pages et une sortie structurée segmentée par page.
Installation
Section intitulée « Installation »composer require nextpdf/servercomposer require nextpdf/proAssocie un transport. Vérifie la présence de l’outil avec diagnostic.capabilities avant d’en dépendre.
Vue d’ensemble conceptuelle
Section intitulée « Vue d’ensemble conceptuelle »L’extraction lit les opérateurs d’affichage de texte du flux de contenu dans l’ordre du flux (ISO 32000-2 §9.4). La sortie reflète l’ordre de lecture encodé (ISO 32000-2 §9.10). Un PDF numérisé sans couche de texte ne produit que peu, voire pas, de texte. C’est une propriété de la source, pas un défaut de l’outil. format: "plain" renvoie une seule chaîne. format: "structured" renvoie des objets par page accompagnés du nombre de caractères. page_range limite les pages traitées.
Surface de l’API
Section intitulée « Surface de l’API »| Outil | Formule | Rôle | Niveau de risque |
|---|---|---|---|
extract_text | Pro | Extraire du texte (brut / structuré / plage) | Sûr |
parse_pdf | Core (conditionné par l’environnement) | Structure de bas niveau (nombre de pages, métadonnées) | Sûr |
Les noms d’outils sont les noms de protocole du registre. Le catalogue d’outils sert de référence. Les outils disponibles dépendent de la formule installée.
Exemple de code — Démarrage rapide
Section intitulée « Exemple de code — Démarrage rapide »extract_textavecsource(un chemin lisible par le serveur) etformat: "plain".extract_textavecpage_range: "1-3"pour un sous-ensemble.extract_textavecformat: "structured"pour une sortie segmentée par page.
Exemple de code — Production
Section intitulée « Exemple de code — Production »Utilise parse_pdf (ou un appel à extract_text sans limite préalable) pour connaître le nombre de pages avant de demander une plage. Pour le RAG ou l’indexation, privilégie format: "structured" afin que chaque page soit découpée indépendamment. Pour une source chiffrée, fournis le paramètre de mot de passe. Le nombre de caractères correspond au nombre de points de code UTF-8, et non aux octets.
Cas limites & pièges
Section intitulée « Cas limites & pièges »- Source manquante. Un chemin erroné renvoie une erreur de fichier introuvable. Utilise des chemins absolus que le serveur peut lire.
- PDF numérisé. L’absence de couche de texte se traduit par un texte vide ou quasi vide. Applique d’abord l’OCR à la source.
- Page hors plage. Une plage dépassant le document est rejetée en indiquant le nombre réel de pages.
- Source chiffrée. Fournis le paramètre de mot de passe.
- Pro absent. Avec Core seul,
extract_textn’est pas enregistré. Sonde avecdiagnostic.capabilities.
Performance
Section intitulée « Performance »L’extraction évolue avec la taille du document, et le budget autorise des entrées volumineuses. Le profil est structural pour tout artefact produit, puisque cet outil renvoie du texte, pas un PDF.
Notes de sécurité
Section intitulée « Notes de sécurité »Le texte extrait peut contenir des informations sensibles. Traite le résultat comme confidentiel et ne le renvoie que sur un canal de confiance. L’outil n’effectue aucune écriture sur le système de fichiers. Il ne fait que lire le chemin source avec les privilèges du serveur ; restreins donc les chemins qu’un appelant peut transmettre.
Conformité
Section intitulée « Conformité »| Énoncé | Norme | Clause | reference_id |
|---|---|---|---|
| Le texte est affiché par les opérateurs de texte dans l’ordre du flux. | ISO 32000-2 | §9.4 | |
| L’extraction reflète l’ordre de lecture encodé. | ISO 32000-2 | §9.10 |
Cette recette n’affirme pas que le texte extrait constitue un ordre de lecture logique fidèle pour un document non balisé. L’ordre est l’ordre encodé.
Contexte commercial
Section intitulée « Contexte commercial »extract_text est un outil de la formule Pro, enregistré uniquement lorsque le paquet Pro est résolu au démarrage du serveur.
Disponibilité par transport
Section intitulée « Disponibilité par transport »| Transport | Disponible | Notes |
|---|---|---|
| MCP (stdio) | Oui (Pro) | Un texte volumineux gonfle la trame stdio. |
| REST | Oui (Pro) | Diffuse les résultats volumineux en flux lorsque cela est pris en charge. |
| gRPC | Oui (Pro) | Les limites de taille des messages s’appliquent aux textes volumineux. |
Niveau de risque HITL
Section intitulée « Niveau de risque HITL »extract_text est Sûr (en lecture seule, sans effet de bord) et ne déclenche jamais de validation.
Enveloppe JSON de la porte de confirmation
Section intitulée « Enveloppe JSON de la porte de confirmation »L’extraction en lecture seule ne déclenche jamais de validation :
{ "allowed": true }