Comment extraire le texte d'un PDF qui n'a pas été construit avec un index? C'est tout le texte, mais je ne peux rien rechercher ou sélectionner. Je suis sous Kubuntu, et Okular ne possède pas cette fonctionnalité.
J'ai eu du succès avec le portage sous Linux sous licence de Cuneiform OCR.
Aucun paquet binaire ne semble être disponible, vous devez donc le compiler à partir des sources. Assurez-vous que les bibliothèques ImageMagick C++ sont installées pour prendre en charge essentiellement tous les formats d'image en entrée (sinon, il n'acceptera que le format BMP).
Bien qu'il semble être essentiellement non documenté en dehors d'un bref fichier README, j'ai trouvé les résultats d'OCR plutôt bons. Le bon côté de ce logiciel est qu’il peut afficher les informations de position du texte OCR au format hOCR , de sorte qu’il soit possible de remettre le texte à la position correcte dans un calque masqué. d'un fichier PDF. De cette façon, vous pouvez créer des fichiers PDF "interrogeables" à partir desquels vous pouvez copier du texte.
J'ai utilisé hocr2pdf pour recréer des PDF à partir des PDF d'origine avec images uniquement et des résultats OCR. Malheureusement, le programme ne semble pas prendre en charge la création de fichiers PDF de plusieurs pages. Vous devrez donc peut-être créer un script pour les gérer:
#!/bin/bash
# Run OCR on a multi-page PDF file and create a new pdf with the
# extracted text in hidden layer. Requires cuneiform, hocr2pdf, gs.
# Usage: ./dwim.sh input.pdf output.pdf
set -e
input="$1"
output="$2"
tmpdir="$(mktemp -d)"
# extract images of the pages (note: resolution hard-coded)
gs -SDEVICE=tiffg4 -r300x300 -sOutputFile="$tmpdir/page-%04d.tiff" -dNOPAUSE -dBATCH -- "$input"
# OCR each page individually and convert into PDF
for page in "$tmpdir"/page-*.tiff
do
base="${page%.tiff}"
cuneiform -f hocr -o "$base.html" "$page"
hocr2pdf -i "$page" -o "$base.pdf" < "$base.html"
done
# combine the pages into one PDF
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$output" "$tmpdir"/page-*.pdf
rm -rf -- "$tmpdir"
Veuillez noter que le script ci-dessus est très rudimentaire. Par exemple, il ne conserve aucune métadonnée PDF.
Voir si pdftotext travaillera pour vous. Si ce n'est pas sur votre ordinateur, vous devrez installer le paquet poppler-utils
Sudo apt-get install poppler-utils
Vous pouvez également trouver le pdf toolkit utile.
Une liste complète des logiciels pdf ici sur wikipedia.
Modifier: Etant donné que vous avez besoin de capacités de reconnaissance optique de caractères , je pense que vous devrez essayer une tactique différente. (c'est-à-dire que je ne pouvais pas trouver un convertisseur linux pdf2text faisant de la ROC).
Convertit le pdf en image
gs: La commande ci-dessous devrait convertir un fichier PDF multipage en fichiers tiff individuels.
gs -SDEVICE = tiffg4 -r600x600 -sPAPERSIZE = lettre -sOutputFile = nom_fichier% 04d.tif -dNOPAUSE -dBATCH - nomfichier
Utilitaires ImageMagik : Il existe d'autres questions sur le site SuperUser sur l'utilisation d'ImageMagik pour vous aider à effectuer la conversion.
convertir foo.pdf foo.png
Convertit une image en texte avec OCR
Tiré de la liste de Wikipedia du logiciel OCR
Google docs utilisera maintenant l’OCR pour convertir vos documents PDF/images importés. écrire un SMS. J'ai eu un bon succès avec elle.
Ils utilisent le système OCR utilisé pour le gigantesque projet Google Books .
Toutefois, il convient de noter que seuls les fichiers PDF d’une taille de 2 Mo seront acceptés pour le traitement.
Mettre à jour
1. Pour l'essayer, téléchargez un fichier PDF de moins de 2 Mo dans Google Docs à partir d'un navigateur Web.
2. Faites un clic droit sur le document téléchargé et cliquez sur "Ouvrir avec Google Documents".
... Google Documents convertit le texte en texte et le convertit dans un nouveau fichier portant le même nom, mais Google Docs entre dans le même dossier.
Geza Kovacs a créé un paquet Ubuntu qui est essentiellement un script utilisant hocr2pdf
comme suggéré par Jukka, mais qui accélère un peu la configuration.
Extrait du forum de Geza Ubuntu avec des détails sur le paquet ...
Ajout du référentiel et installation sous Ubuntu
Sudo add-apt-repository ppa:gezakovacs/pdfocr
Sudo apt-get update
Sudo apt-get install pdfocr
Exécution d'ocr sur un fichier
pdfocr -i input.pdf -o output.pdf
Dépôt GitHub pour le code https://github.com/gkovacs/pdfocr/
PDFBeads fonctionne bien pour moi. Ce fil " Convertir les images numérisées en un seul fichier PDF Fichier " m'a permis de démarrer. Pour numériser un livre noir et blanc, vous devez:
Dans le nouveau dossier, exécutez
pdfbeads * > ../Output.pdf
Cela mettra le PDF assemblé, traité par OCR dans le répertoire parent.
un autre script utilisant tesseract:
#!/bin/bash
# Run OCR on a multi-page PDF file and create a txt with the
# extracted text in hidden layer. Requires tesseract, gs.
# Usage: ./pdf2ocr.sh input.pdf output.txt
set -e
input="$1"
output="$2"
tmpdir="$(mktemp -d)"
# extract images of the pages (note: resolution hard-coded)
gs -SDEVICE=tiff24nc -r300x300 -sOutputFile="$tmpdir/page-%04d.tiff" -dNOPAUSE -dBATCH -- "$input"
# OCR each page individually and convert into PDF
for page in "$tmpdir"/page-*.tiff
do
base="${page%.tiff}"
tesseract "$base.tiff" $base
done
# combine the pages into one txt
cat "$tmpdir"/page-*.txt > $output
rm -rf -- "$tmpdir"
Le meilleur et le plus simple moyen d’utiliser pypdfocr
ne change pas le pdf
pypdfocr your_document.pdf
A la fin, vous aurez un autre your_document_ocr.pdf
comme vous le souhaitez avec du texte interrogeable. L'application ne change pas la qualité de l'image. Augmente un peu la taille du fichier en ajoutant le texte de surimpression.
pypdfocr
n'est plus pris en charge depuis 2016 et j'ai remarqué quelques problèmes dus au fait que je n'étais pas mentalisée. ocrmypdf
( module ) effectue un travail symiliaire et peut être utilisé comme ceci:
ocrmypdf in.pdf out.pdf
À installer:
pip install ocrmypdf
ou
apt install ocrmypdf
Asprise OCR Library fonctionne sur la plupart des versions de Linux. Il peut prendre PDF une entrée et une sortie au format PDF de recherche.
C'est un paquet commercial. Téléchargez une copie gratuite de Asprise OCR SDK pour Linux ici et exécutez-la comme suit:
aocr.sh input.pdf pdf
Remarque: le "pdf" autonome spécifie le format de sortie.
Déni de responsabilité: Je suis un employé de la société produisant le produit ci-dessus.
Essayez Apache PDFBox d’extraire le contenu textuel de PDF Fichier. Dans le cas d'images incorporées dans PDF fichiers, utilisez l'interface de ligne de commande ABBYY FineReader Engine pour Linux pour extraire le texte.