Quels paquets Python puis-je utiliser pour savoir quelle page une "chaîne de recherche" spécifique est située? p>
J'ai examiné plusieurs packages PDF Python, mais je ne pouvais pas comprendre lequel je devrais utiliser. PYPDF ne semble pas avoir cette fonctionnalité et PDFMiner semble être une overcelle pour une tâche aussi simple. Aucun conseil ? p>
plus précis: J'ai plusieurs documents PDF et j'aimerais extraire des pages entre une chaîne "Begin" et une "fin" de chaîne. p>
5 Réponses :
J'ai finalement compris que le PYPDF peut aider. Je le pose au cas où il peut aider quelqu'un d'autre.
def fnPDF_ExtractPages(xFileNameOriginal, xFileNameOutput, xPageStart, xPageEnd):
from pyPdf import PdfFileReader, PdfFileWriter
output = PdfFileWriter()
pdfOne = PdfFileReader(file(xFileNameOriginal, "rb"))
for i in range(xPageStart, xPageEnd):
output.addPage(pdfOne.getPage(i))
outputStream = file(xFileNameOutput, "wb")
output.write(outputStream)
outputStream.close()
Merci, c'était utile!
Bonjour les experts, je sais que cela fait longtemps, mais comment puis-je modifier ce code pour extraire les pages PDF contenant une certaine chaîne et en créer un nouveau document d'entre eux?
Je reçois cette erreur lorsque j'essaie de rechercher une chaîne à l'aide du code ci-dessus et de l'utilisation de PYPDF2 et d'ouvrir au lieu de fichier dans Python 3.6. Erreur: TypeError: Impossible d'utiliser un modèle de chaîne sur un objet de type octet
Je devais ajouter une ligne de plus pour convertir explicitement l'octet en chaîne et cela a fonctionné. content2 = content1.decode ("utf-8")
En plus de ce que @ user1043144 mentionné,
à utiliser avec Python 3.x P>
Utilisez PYPDF2 P>
PdfFileReader(open(xFile, 'rb'))
Je reçois cette erreur lorsque j'essaie de rechercher une chaîne à l'aide du code ci-dessus et de l'utilisation de PYPDF2 et d'ouvrir au lieu de fichier dans Python 3.6. Erreur: TypeError: Impossible d'utiliser un modèle de chaîne sur un objet de type octet
Je devais ajouter une ligne de plus pour convertir explicitement l'octet en chaîne et cela a fonctionné. content2 = content1.decode ("utf-8")
J'ai pu obtenir avec succès la sortie à l'aide du code ci-dessous.
code: strong> p> Sortie d'échantillon: strong> p>