Est-il un module Python pour convertir RTF en texte brut?
Idéalement, j'aimerais un module ou d'une bibliothèque qui ne nécessite pas l'accès super-utilisateur à installer; j'ai des privilèges limités dans mon environnement de travail.
- Vous pouvez installer les paquets Python avec
easy_install
et la--user
option sans autorisations. - Cette répondre est le meilleur... il fonctionne pour moi comme un charme!!
Vous devez vous connecter pour publier un commentaire.
OpenOffice dispose d'un lecteur RTF. Vous pouvez utiliser python pour écrire le script de OpenOffice, voir ici pour plus d'infos.
Vous pourriez essayer d'utiliser la magie com-objet sur Windows pour lire tout ce qui sent ms-binaire. Je ne recommande pas que même si.
En fait l'analyse les données brutes ne sera probablement pas très dur, voir cet exemple écrite .bat/QBasic.
DocFrac est un programme open source gratuit convertisseur entre RTF, HTML et texte. Windows, Linux, et ActiveX DLL plates-formes disponibles. Il sera probablement assez facile de les envelopper dans du python.
RTF::TEXT::Convertisseur - Extension Perl pour convertir RTF en texte. (dans le cas où Vous avez des problèmes withg DocFrac).
Officiel Rich Text Format (RTF) Spécifications, la version 1.7, par Microsoft.
Bonne chance (avec les privilèges limités dans Votre environnement de travail).
J'ai travaillé sur une bibliothèque appelée Pyth, qui peut le faire:
http://pypi.python.org/pypi/pyth/
Convertir un fichier RTF en texte en clair ressemble à quelque chose comme ceci:
Pyth peut également générer des fichiers RTF, lire et écrire XHTML, de générer des documents à partir de Python balisage à la Nevow de stan, et a limité la prise en charge expérimentale de latex et pdf de sortie. Son support RTF est assez robuste -- nous l'utilisons dans la production de lire les fichiers RTF généré par les différentes versions de Word, OpenOffice, Mac TextEdit, EIOffice, et d'autres.
pip install git+https://github.com/robertour/pyth@pyth-py3
. Vous pouvez voir une partie de la discussion ici.Avez-vous vérifié pyrtf-ng?
Mise à jour: L'analyse de la fonctionnalité est disponible que si vous faites un dépôt de Subversion, mais je ne suis pas sûr que complet qui il est. (Regardez dans le
rtfng.parser.base
module.)Voici un lien vers un script qui convertit rtf en texte à l'aide de regex:
Expression régulière pour extraire du texte à partir d'un fichier au format RTF chaîne
Aussi, et lien mis à jour sur github:
Github lien
Il est bon de la bibliothèque pyrtf-ng pour les RTF de manutention.
PyRTF-ng 0.9.1 n'a pas analysé mes documents RTF, à la fois avec le ParsingException.
Premier document a été généré avec OpenOffice 3.4, le second avec Mac TextEdit.
Pyth 0.5.6 analysée sans problèmes les deux documents, mais n'a pas traité cyrillique symboles correctement.
Mais chaque éditeur s'ouvre à d'autres, l'éditeur de document correctement et sans problème, de sorte que toutes les bibliothèques qui semble avoir un faible support rtf.
Donc je suis en train d'écrire mon propre parser avec avec black jack et des putes.
(J'ai téléchargé les deux fichiers, de sorte que vous pouvez vérifier RTF bibliothèques par vous-même: http://yadi.sk/d/RMHawVdSD8O9 http://yadi.sk/d/RmUaSe5tD8OD)
Je viens de tomber sur pyrtflib - il n'y a pas beaucoup de (toute) la documentation sur elle, c'est un peu un cas d'installation puis en utilisant la fonction intégrée de l'aide() pour savoir ce qui est disponible et ce, tout n'.
Après avoir dit que, dans mon petit essai rtf.Rtf2Html.getHtml() la fonction s'est bien passé. Je n'ai pas essayé le Rtf2Txt fonction, mais compte tenu de la plus simple à la nature de la conversion de rtf en texte en clair, il doit faire amende je m'attends.
J'ai couru dans la même ans chose que j'essayais de code moi-même. Il n'est pas facile, mais voici ce que j'ai eu quand j'ai décidé d'aller pour une application en ligne de commande. Rubis, mais vous pouvez l'adapter à python très facilement.
Il y a quelques en-tête des ordures à nettoyer, mais vous pouvez voir plus ou moins l'idée.
À l'inverse, si vous souhaitez écrire Rtf facilement à partir de Python, vous pouvez utiliser le module tiers rtflib. C'est un assez nouveau et incomplète module, mais encore très puissant et utile. Ci-dessous est un exemple qui écrit "hello world" dans le texte riche d'un fichier au format RTF appelé helloworld.rtf. C'est un très primitive exemple, et le module peut également être utilisé pour ajouter des couleurs, des italiques, des tableaux, et de nombreux autres aspects de texte enrichi RTF fichiers.