Travailler avec DOC Reader

Travailler avec DOC Reader

Travailler avec DOC Reader

Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc Les fichiers. le DocFileReader La classe parse le format binaire OLE2 et produit un Modèle de document léger (LDM) qui peut être manipulé ou converti en d’autres formats.


Téléchargement d’un fichier DOC

Utiliser DocFileReader ouvrir A .doc le fichier du disque et le convertir en un Document:

import aspose.words_foss as aw

doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")

Le Document Les constructeurs délégués à create_reader(),qui sélectionne DocFileReader automatiquement basé sur la .doc extension .


Utiliser DocFileReaderCore directement

Pour un contrôle instantané, le niveau inférieur DocFileReaderCore et appelle ses méthodes de charge :

from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore

reader = DocFileReaderCore()
reader.load_file("legacy.doc")

DocFileReaderCore Il propose trois méthodes d’entrée :

méthodeType d’entréeUtiliser le cas
load_file(filepath)Fiche de route stringLire sur disque
load_stream(stream)Objets similaires à des fichiersLire sur le site ou le streaming réseau
load_bytes(data)bytesLire la suite de In-Memory Buffer

Construire le modèle de document lumineux

Après le chargement, appelez to_light_document() sur DocFileReader Pour produire un LDM Document:

from aspose.words_foss.doc_reader.doc_file_reader import DocFileReader

reader = DocFileReader()
reader.load_file("input.doc")
ldm_doc = reader.to_light_document()

Le CDC est la représentation interne partagée entre tous les lecteurs (DocFileReader, DocumentReader, TextFileReaderUne fois que vous avez un document LDM, vous pouvez le sauvegarder dans tout format de sortie supporté.


Le protocole de documentFormatReader

Tous les lecteurs ont mis en œuvre le DocumentFormatReader Protocole, qui définit l’interface commune : load_file(), load_stream(),et load_bytes().Le create_reader() La fonction de l’usine retourne le lecteur approprié sur la base d’une extension de fichier :

from aspose.words_foss.reader_factory import create_reader

reader = create_reader("data.doc")  # returns DocFileReader
reader.load_file("data.doc")

Conseils et meilleures pratiques

  • Utilisez le niveau élevé Document("file.doc") Constructeur pour la plupart des flux de travail – il gère automatiquement le choix du lecteur.
  • Utiliser DocFileReaderCore Seulement lorsque vous avez besoin d’accès direct à la couche de partage binaire.
  • Pour les fichiers reçus comme bytes (par exemple, à partir de HTTP upload), préférez load_bytes() Éviter de faire des fichiers temporaires.
  • Le lecteur DOC soutient la même fidélité de parcours que le lecteurs DOCX pour le texte, les paragraphes et le formatage de base.

Les problèmes communs

ProblèmeCauseFixé
load_file() Les hauts FileNotFoundErrorUn fichier de route incorrectVérifier le chemin existant avant de vous appeler
Texte enveloppé après chargeLe fichier n’est pas un OLE2 binaire valide.Confirmez que le fichier est authentique .doc Formats, pas un renommé .docx
Manque de formatage dans la productionCertaines fonctionnalités DOC avancées ne sont pas encore supportéesVérifier limitations.md Pour les caractéristiques non soutenues

FAQ

Quelle est la différence entre DocFileReader et DocfileRaderCore ?

DocFileReaderCore Il gère le partage binaire de bas niveau du format OLE2. DocFileReader Elle est étendue en ajoutant le to_light_document() Une méthode qui produit un LDM complet Document Adéquate pour la conversion.

Puis-je télécharger un fichier DOC d’un courant ?

Oui, utilisez DocFileReaderCore.load_stream(stream) ou passer un objet comme le fichier.Cela est utile pour les applications web où les fichiers sont téléchargés en tant que flux.

Le lecteur DOC gère-t-il les fichiers protégés par mot de passe ?

Password protégé .doc Les fichiers ne sont pas actuellement supportés. le lecteur soulèvera une exception si le fichier est chiffré.


Le résumé de référence API

Classes / MéthodesDescription
DocFileReaderLecteur DOC complet avec capacité de construction LDM
DocFileReader.to_light_document()Convertir les données parsées DOC en un document LDM
DocFileReaderCoreReader de base pour Word 97-2003 (.doc) fichiers binaires
DocFileReaderCore.load_file(filepath)Télécharger un fichier DOC d’un chemin
DocFileReaderCore.load_stream(stream)Télécharger un fichier DOC d’un courant
DocFileReaderCore.load_bytes(data)Télécharger un fichier DOC à partir d’un buffer de bytes
DocumentFormatReaderInterface de protocole pour tous les lecteurs de documents
create_reader(path)La fabrication qui retourne le lecteur correct pour une extension de fichier

Voir aussi

 Français