J'essaie d'extraire chaque page d'un fichier PDF en tant que chaîne: mais ce script ignore les caractères de Newline, me laissant avec des chaînes désordonnées telles que Voici un exemple du type de PDF que j'essaie de analyse. p> p> des informations sur une personne qui , en raison de nom, d'identification d'identification, de marque ou de description code> (c.-à-d. Ceci devrait lire le numéro
d'identification code>, pas
Identifierber code>). p>
3 Réponses :
Je ne sais pas grand chose à propos de l'encodage PDF, mais je pense que vous pouvez résoudre votre problème particulier en modifiant si l'opérateur est Quoi qu'il en soit, si vous modifiez ce code pour être quelque chose comme p> [...] p> [...] p> puis le comportement par défaut doit être identique: p> mais vous pouvez Changez-le quand vous voulez: p> pdf.py code>. Dans la méthode CODE> PageObject.ExtracttText CODE>, vous voyez ce qui se passe:
tj code> ou
tj Code> (c'est TJ dans votre exemple PDF), le texte est simplement ajouté et qu'aucune nouvelle ligne n'est ajoutée. Maintenant, vous ne voudriez pas nécessairement veux em> pour ajouter une nouvelle ligne, au moins si je lis le droit de référence PDF:
tj / tj code> est simplement la chaîne de spectacle unique et multiple Les opérateurs et l'existence d'un séparateur de quelque sorte n'est pas obligatoire. P>
In [3]: pdf.getPage(1).extractText(Tj_sep="\n")[1120:1250]
Out[3]: u'ta" means any information concerning an individual which, because of name, identifying\nnumber, mark or description can be readily '
PYPDF n'est pas vraiment fait pour ce type d'extraction de texte, essayez pdfminer < / a> (ou utilisez pdftotext ou quelque chose comme ça si cela ne vous dérange pas de créer un autre processus) p>
s'étendant sur la réponse de DSM.
Voici comment vous en mettrez en œuvre en prolongeant peu de classes