Présentation des graphiques dans les formats de fichiers binaires Office (traduction automatique)

Important

Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Résumé : Cet article décrit le format de fichier binaire MS-ODRAW, également appelé OfficeArt, qui est utilisé pour stocker des objets de dessin dans les produits Microsoft Office des versions actuelles et précédentes.

Dernière modification : lundi 9 mars 2015

S’applique à : Excel 2010 | Office 2007 | Office 2010 | Open XML | PowerPoint 2010 | SharePoint Server 2010 | VBA | Word 2010

Dans cet article
Quel est le Format de fichier MS-ODRAW ?
Structures dans le Format de fichier MS-ODRAW
Extraction d'images clipart à partir d'un fichier binaire
Conclusion
Ressources supplémentaires

Applies to:Microsoft Office

Fournie par :   Microsoft Corporation

Sommaire

  • Quel est le Format de fichier MS-ODRAW ?

  • Structures dans le Format de fichier MS-ODRAW

    • Groupe de dessin

    • Dessins

    • Formes

      • Types de forme

      • Coordonnées et regroupement

    • Règles

    • Les bitmaps

    • les propriétés.

  • Extraction d'images clipart à partir d'un fichier binaire

    • Les formes et les groupes de formes

    • les propriétés.

    • Les bitmaps

  • Conclusion

  • Ressources supplémentaires

Cet article décrit les éléments de format de fichier binaire MS-ODRAW et donne des exemples de la façon d'extraire des images clipart à partir d'un fichier binaire. L'intention de cet article est d'afficher certaines tâches pratiques que vous pouvez effectuer sur des fichiers binaires et aux participants d'acquérir une compréhension élémentaire du format qui vous aideront dans plusieurs explorations approfondies. Cet article provient d'une série d'articles qui présentent les formats de fichiers binaires qui sont utilisés par les produits Microsoft Office. Ces articles sont conçus pour être utilisé conjointement avec le open file format specifications disponible sur Microsoft MSDN :

Quel est le Format de fichier MS-ODRAW ?

Le [MS-ODRAW]: Office Drawing Binary File Format, également appelé OfficeArt, est un format de fichier binaire qui est utilisé par les applications Microsoft Office pour stocker les éléments de dessin, telles que des images, des formes et WordArt, et leur mise en forme associée. Ces éléments peuvent être contenus dans d'autres dessins, ou dans les graphiques, diagrammes, tableaux et les contrôles, ou peuvent apparaître comme des composants autonomes dans le fichier.

Le format MS-ODRAW stocke des objets dessinés dans les fichiers créés par un programme d'ordinateur hôte, tel que Microsoft Word. Les objets dessinés peuvent se trouvent dans le contexte d'un graphique, un graphique ou un tableau qui sont définies par le format MS-OGRAPH, qui est également stocké dans un fichier ordinateur hôte. Il n'y a aucun fichier MS-ODRAW.

Ce format et les formats de fichiers qui sont utilisés par Microsoft Word, Microsoft PowerPoint, Microsoft Excel et Microsoft Outlook sont tous décrits, de manière exhaustive, dans la bibliothèque MSDN à l'emplacement suivant : Open Specifications/Data Portability/Microsoft Office File Formats/Microsoft Office File Format Documents. À partir de cet emplacement, vous pouvez ouvrir la spécification complète du format de fichier, soit directement sur le site MSDN, soit comme un fichier .pdf.

Structures dans le Format de fichier MS-ODRAW

Un objet dessiné est composé d'une série d'enregistrements, qui peut contenir des autres enregistrements. Un enregistrement qui contient d'autres enregistrements est appelé un conteneur, tandis qu'un enregistrement qui contient des données est appelé un atome. Tous les enregistrements partagent un Record Header commune, qui spécifie le type d'enregistrement et la longueur. L'enregistrement d'en-tête possède également des champs utilisés par les enregistrements de l'atome pour spécifier la version et l'instance, pour différencier des autres atomes dans le même conteneur.

Étant donné que les enregistrements partagent un en-tête commun, vous pouvez analyser sélectivement les enregistrements en lisant les champs recType et recLen de chaque en-tête jusqu'à ce que cet enregistrement est trouvé. En outre, vous pouvez définir des types d'enregistrements personnalisés qui s'appliquent uniquement à votre application en créant des valeurs uniques recType, c'est-à-dire comment les applications ordinateur hôte positionnement des éléments de dessin dans un document et restituer le texte associé.

Les sections suivantes expliquent l'organisation de la hiérarchie des objets conteneur à l'intérieur d'un document ordinateur hôte et décrivent certaines structures clés qui s'appliquent à différents types d'éléments graphiques. Pour afficher un diagramme et une explication supplémentaire de la hiérarchie de conteneur d'objet, consultez 1.3 Structure Overview (Synopsis) section dans la spécification MS-ODRAW.

Groupe de dessin

Chaque fichier ordinateur hôte qui contient des éléments de graphiques contient un seul Groupe de dessin, qui héberge tous les dessins dans le fichier. Les dessins sont stockés dans des objets dessinés individuels qui ne sont pas stockés dans le groupe de dessin, mais qui sont logiquement associés. Le groupe de dessin contient une Table de propriétés, qui stocke les valeurs par défaut pour les nouvelles formes et une Banque de spots, qui contient toutes les images statiques qui sont utilisées dans le fichier. Des dessins référencent ces images à partir d'un emplacement central pour réduire la duplication des données d'image.

Le groupe de dessin est spécifié dans un enregistrement de OfficeArtDggContainer.

Dessins

Un objet dessin représente un élément de graphique complète à l'intérieur d'un document d'ordinateur hôte, tel qu'un morceau de clip art, WordArt ou un regroupement de formes dans un diagramme de Venn. Un objet dessin contient un ou plusieurs objets de formes et un ensemble de règles qui s'appliquent à toutes les formes du dessin.

Un objet de dessin est représenté par un enregistrement OfficeArtDgContainer. Il contient un en-tête d'enregistrement commun et enregistrent de 16 octets de données de dessin dans une OfficeArtFDG pour spécifier le nombre de formes du dessin et l'identificateur de la dernière forme du dessin.

Un objet dessin contient également une collection de règles qui s'appliquent aux connecteurs, des arcs et des légendes dans le dessin et quatre différentes collections de formes, triés en fonction de regroupement de formes et l'état de suppression, comme illustré dans le tableau suivant.

Collections de formes dans un enregistrement de dessin

champ

Type d'enregistrement

Description

deletedShapes

Un tableau de OfficeArtSpgrContainerFileBlock

Définit les formes supprimées et les groupes de formes.

groupShape

OfficeArtSpgrContainer

Définit les propriétés de la forme de la forme de groupe et contient toutes les formes dans le groupe sous forme de tableau.

regroupItems

OfficeArtFRITContainer

Blocages regroupement les identificateurs pour les formes sont dissociées.

shape

OfficeArtSpContainer

Définit les propriétés de la forme par défaut pour le dessin actif.

Formes

La plupart des dessins créés dans des applications Microsoft Office sont constitués de formes. Des formes individuelles ont des propriétés qui déterminent le type de forme, telles que le rectangle à coins arrondis ou double flèche, ses relations avec d'autres formes, taille, position et divers détails sur comment il est restitué, telles que le remplissage et le style de trait. Une forme individuelle est définie dans un enregistrement de OfficeArtSpContainer.

Types de forme

Tous les types de forme OfficeArt sont répertoriés dans l'énumération MSOSPT. À l'intérieur de l'enregistrement de OfficeArtSpContainer qui définit une forme, il y a un attribut shapeProp, qui est un enregistrement de OfficeArtFSP. Le champ recInstance de l'enregistrement d'en-tête OfficeArtFSP conserve une valeur d'énumération MSOSPT qui définit le type de la forme. Le diagramme suivant montre comment une étoile à quatre branches est définie dans la hiérarchie des conteneurs.

Diagramme de types de forme dans la hiérarchie de conteneurs

Coordonnées et regroupement

Coordonnées et regroupement sont intimement liée connectés car comment une forme est dimensionnée et positionnée dépend de son statut de regroupement. Toutes les formes dans un dessin font partie d'un groupe de forme de niveau supérieur, qui est défini dans un enregistrement de OfficeArtSpgrContainer. Au sein d'un groupe de formes est une forme de cœur, quelles autres formes sont ancrés, appelée la forme de groupe. Cette forme n'est pas affichée. Le groupe de formes de niveau supérieur est placé sur la surface de l'interface utilisateur du client par l'attribut clientAnchor de l'enregistrement de OfficeArtSpContainer qui définit la forme de groupe. Le clientAnchor est un enregistrement de OfficeArtClientAnchor, qui est défini par l'application cliente.

Position et taille par rapport à l'ancrage du client sont déterminées en regroupant. Une forme simple est définie comme un enfant direct du groupe de la forme de niveau supérieur, alors que les formes qui ont été regroupées à d'autres formes dans l'interface utilisateur devient un groupe de formes subordonné. Comme avec le groupe de niveau supérieur, un groupe de formes subordonnées est défini dans un enregistrement de OfficeArtSpgrContainer, qui encapsule l'enregistrement de OfficeArtSpContainer qui définit la forme d'un enregistrement de OfficeArtSpgrContainerFileBlock. La taille et l'emplacement de la forme de groupe sont définis par la propriété OfficeArtSpContainer.shapeGroup, qui est un enregistrement de OfficeArtFSPGR. Les coordonnées de chaque forme d'enfant sont définies par sa propriété OfficeArtSpContainer.childAnchor, qui est un enregistrement de OfficeArtChildAnchor.

L'exemple suivant montre deux formes similaires.

Boussole rose

Boussole rose

Étoile à quatre branches

Étoile à quatre pointes

La boussole rose est composée de deux formes de diamant,Diamant vertical et Diamant horizontal, regroupés, considérant que l'étoile à quatre branches une forme simple et ne faisant pas partie d'un groupe de subordonnés.

Dans le compass rose, l'utilisateur créée en premier, le losange vertical puis disposées le losange horizontal sur elle et leur regroupés. Les place dans une forme de groupe de subordonnés, avec les deux diamants en tant que formes enfants. Le diagramme suivant montre où les deux diamants apparaissent dans la hiérarchie des conteneurs dessin et où sont trouvent leurs coordonnées respectives.

Diagramme de conteneurs de dessin

Les coordonnées de la forme de groupe sont trouvent dans l'attribut .shapegroup . Les deuxième et troisième formes du tableau étant des formes enfants, conserver leurs coordonnées dans leurs attributs respectifs .childAnchor . Toutes les formes supplémentaires ajoutés à ce groupe seraient également stocker leurs coordonnées dans l'attribut .childanchor .

L'étoile à quatre branches à partir de l'image précédente a été créé comme une forme unique et est stocké comme un enfant direct de la forme de groupe de niveau supérieur, comme illustré dans le diagramme suivant :

Hiérarchie de conteneur pour forme simple

Règles

Dans un dessin unique, les règles définissent des connecteurs, des arcs et des légendes. Chaque objet de dessin OfficeArtDgContainer dans un fichier contient une instance de OfficeArtSolverContainer, qui conserve un tableau d'enregistrements OfficeArtSolverContainerFileBlock, dont chacun peut être un OfficeArtFConnectorRule, un OfficeArtFArcRule ou un OfficeArtFCalloutRule.

Un enregistrement de OfficeArtFConnectorRule définit un connecteur en fonction de quelles formes qu'il relie, comme dans un diagramme de flux et à quel point sur la forme ancrer à. Les règles de connecteur sont les principales règles d'intérêt. Règles de la légende et arc uniquement donner l'ID de la légende ou arc qu'ils appliquent aux et aucune information supplémentaire.

Pour voir un exemple d'un OfficeArtSolverContainer avec les règles du connecteur, consultez 3.1.5 OfficeArtSolverContainer dans la documentation de MS-ODRAW.

Les bitmaps

Le format MS-ODRAW fait référence aux images bitmap comme images binaires de grande taille ou des images (BLIPs). Images bitmap dans un document Microsoft Office sont centralisées dans le stockage des spots, qui est un enregistrement de OfficeArtBStoreContainer dans le groupe de dessin de niveau supérieur. Le magasin de spots contient un tableau d'enregistrements de OfficeArtBStoreContainerFileBlock. Dans l'en-tête de l'enregistrement de la banque de spots, les champs de recInstance et recLen spécifient le nombre d'enregistrements de OfficeArtBStoreContainerFileBlock et le total de leur taille en octets.

Chaque enregistrement de OfficeArtBStoreContainerFileBlock contient un enregistrement de OfficeArtFBSE ou un enregistrement de OfficeArtBlip sur matériel vierge, comme spécifié par le champ type de son enregistrement d'en-tête. Un enregistrement OfficeArtFBSE encapsule un enregistrement de OfficeArtBlip dans le nom, taille, type et informations d'offset. Un enregistrement de OfficeArtBlip contient un en-tête d'enregistrement et le flux binaire réel de l'image.

Le diagramme suivant montre l'emplacement des données d'image binaire dans la hiérarchie des conteneurs.

Diagramme indiquant l’emplacement des données d’image

les propriétés.

Les propriétés définissent les formes et les bitmaps. Le format MS-ODRAW stocke les propriétés dans les tables de la propriété. Chaque forme contient des tables de propriété pour les propriétés qui s'appliquent uniquement à cette forme, qui se compose d'un enregistrement de OfficeArtFOPT, un enregistrement de OfficeArtSecondaryFOPT et un enregistrement de OfficeArtTertiaryFOPT. Dans les noms d'enregistrement, « PT » signifie « Propriété Table ». En outre, le groupe de dessin de niveau supérieur contient une table de propriété pour contenir les propriétés qui s'appliquent dans le fichier, qui se compose uniquement d'un enregistrement de OfficeArtFOPT et un enregistrement de OfficeArtTertiaryFOPT. Les propriétés définies dans le groupe de dessin de niveau supérieur sont utilisées comme valeurs par défaut pour les propriétés non définis par des formes individuelles, mais où la valeur des propriétés des formes individuelles, ils substituent les paramètres par défaut. Propriétés non définies dans les deux emplacements revient à l'application ou système par défaut. L'enregistrement d'en-tête pour chaque table de propriété spécifie le nombre de propriétés et de la longueur en octets de l'enregistrement.

Dans un OfficeArtFOPT, OfficeArtSecondaryFOPT ou OfficeArtTertiaryFOPT d'enregistrement est un tableau d'enregistrements par catégorie OfficeArtRGFOPTE, dont chacun représente un groupe de propriétés liées. Dans les noms d'enregistrement, « rg » signifie « Groupe connexes » et « pte » signifie « Entrée de Table de propriété ». Les propriétés individuelles sont stockées sous forme d'enregistrements de OfficeArtFOPTE. Ces enregistrements n'ont pas d'un enregistrement d'en-tête, mais commencent par un champ opid qui spécifie les informations d'en-tête de la propriété. L'opid est stocké comme un enregistrement de OfficeArtFOPTEOPID. Si le dernier bit d'un enregistrement de OfficeArtFOPTEOPID, le champ fComplex, est égal à 0 x 1, la propriété est une propriété complexe. Dans ce cas, les informations qui dépasse la limite de 4 octets d'un enregistrement de OfficeArtFOPTE sont déplacées vers la section complexData de la table OfficeArtRGFOPTE de parent.

Extraction d'images clipart à partir d'un fichier binaire

Le processus d'extraction de la bibliothèque de fichiers binaires Microsoft Office dépend en partie sur les types d'images clipart pour extraire et en partie sur l'application ordinateur hôte. Le tableau suivant montre les dessins d'ordinateur hôte de structures et les groupes de dessin dans des formats de fichier binaire Microsoft Office différents.

Dessin de regrouper les emplacements par l'Application hôte

Application hôte

Structures contenant des dessins

Structures contenant des groupes de dessin

Microsoft Excel

HFPicture, MsoDrawing

HFPicture, MsoDrawingGroup

Microsoft PowerPoint

DrawingContainer

DrawingGroupContainer

Microsoft Word

OfficeArtWordDrawing

OfficeArtContent

Les procédures suivantes indiquent généralement comment extraire le contenu de MS-ODRAW à partir d'une application ordinateur hôte, sans inclure quelque chose de spécifique à cette application.

En-têtes d'enregistrement

Tous les en-têtes d'enregistrements au format MS-ODRAW sont de 8 octets de longs et indexées de zéro. Par exemple, le troisième octet est octet 2 et le dernier octet est octet 7. Octets 2-3 donnent le type d'enregistrement et les 4 derniers octets donnent la longueur d'enregistrement en octets. Une fois que vous connaissez le type et la longueur de l'enregistrement, vous pouvez décider de lire le nombre d'octets spécifié dans la longueur d'enregistrement, soit ignorer ce même nombre d'octets et passez à l'enregistrement suivant.

Les formes et les groupes de formes

Les procédures suivantes montrent comment reconstituer des formes simples et des groupes de formes dans les documents de Microsoft Office. Cela n'inclut pas de connecteurs ou des légendes qui sont spécifiées dans les conteneurs du solveur, ou des graphiques, qui utilisent le format MS-OGRAPH. Ces procédures aussi ne spécifient pas la position exacte de la forme ou un groupe de formes dans le document client, ni qu'ils inclure des options de l'historique de l'historique ou révision undo.

Pour reconstruire un groupe de formes ou solo forme au format MS-ODRAW

  1. Rechercher l'enregistrement de OfficeArtDgContainer dans le fichier pour le dessin qui contient le groupe de formes en question, ou effectuer une itération dans tous les dessins jusqu'à ce que vous trouviez celui qui correspond à vos critères.

    Lire l'enregistrement d'en-tête pour obtenir le nombre d'octets à la fin du dessin.

  2. Vérifiez chaque enregistrement d'en-tête dans le conteneur jusqu'à ce que vous en trouviez un type d'enregistrement où = OfficeArtSpgrContainer (0xf003). S'il n'existe aucun enregistrement de OfficeArtSpgrContainer, cela signifie qu'il n'y a aucune forme dans le dessin.

  3. L'enregistrement OfficeArtSpgrContainer représente le champ .groupshape. Cet enregistrement contient toutes les formes actives dans le dessin en tant que tableau d'enregistrements de OfficeArtSpgrContainerFileBlock.

    Lire l'en-tête de l'enregistrement pour obtenir la longueur du conteneur et commencer la lecture du premier enregistrement de OfficeArtSpgrContainerFileBlock. Il s'agit du premier enregistrement de OfficeArtSpgrContainerFileBlock dans le tableau, il doit contenir un enregistrement de OfficeArtSpContainer, qui doit correspondre à la forme de groupe pour le groupe actuel.

  4. Lire l'enregistrement de OfficeArtSpContainer comme décrit dans la procédure suivante, « pour reconstruire une seule forme dans le format MS-ODRAW. »

  5. Commencer la lecture de l'enregistrement suivant de la OfficeArtSpgrContainerFileBlock, à partir de l'enregistrement d'en-tête.

  6. Si .rectype = 0xF004, le reste du bloc de fichier actuel est un enregistrement de OfficeArtSpContainer. Lire l'enregistrement, comme décrit dans la procédure suivante, « pour reconstruire une seule forme dans le format MS-ODRAW. »

    Si .rectype = 0xF003, le reste du bloc de fichier en cours est un enregistrement de OfficeArtSpgrContainer, qui représente un groupe de formes subordonné. Lire l'enregistrement, comme décrit dans les trois étapes précédentes.

  7. Lire les enregistrements restants de la OfficeArtSpgrContainerFileBlock de la même manière.

  8. Rechercher le OfficeArtDggContainer qui représente le groupe pour le fichier de dessin.

  9. À l'intérieur de la OfficeArtDggContainer, recherchez la propriété tables en vérifiant chaque enregistrement en-tête, de lire les enregistrements de type OfficeArtFOPT et OfficeArtTertiaryFOPT et en ignorant le reste.

  10. Ces tables de la propriété représentent les propriétés par défaut dans le fichier. Analyser les tables de la propriété comme avant, mais appliquer les propriétés de ces tables uniquement à des formes qui ne spécifient pas déjà de la propriété en question.

  11. Rendre le groupe de formes dans votre application en fonction de l'information collectée.

Pour reconstruire une seule forme dans un groupe de formes

  • À partir d'un enregistrement de OfficeArtSPContainer, lire l'en-tête d'enregistrement pour chaque enregistrement à l'intérieur du conteneur et continuer comme suit :

    1. Si type d'enregistrement = OfficeArtFSPGR (0xF009) et c'est la première forme du dessin et, par conséquent, la forme de groupe, l'enregistrement représente le champ .shapegroup. Ignorer l'enregistrement d'en-tête et lire les 16 octets restants en mémoire comme quatre entiers signés de 4 octets qui donnent de la gauche, haut, droite et les coordonnées de bas de la forme de groupe de niveau supérieur.

    2. Si type d'enregistrement = OfficeArtChildAnchor (0xF00F) et la forme en cours n'est pas la forme de groupe, l'enregistrement représente le champ .childanchor. Ignorer l'enregistrement d'en-tête et de lire les 16 octets restants dans la mémoire en tant qu'entiers signés de quatre qui spécifient la gauche, haut, droite et les coordonnées de bas de la forme actuelle par rapport à son parent forme de groupe.

    3. Si type d'enregistrement = OfficeArtFSP (0xF00A), l'enregistrement représente le champ .shapeprop, qui est longue de 16 octets. Lire l'enregistrement dans la mémoire. Bits 4 15 spécifient une valeur d'énumération MSOSPT qui définit le type de forme. Bits 101 et 102 spécifient si la forme est horizontalement ou verticalement retournée à partir de son orientation par défaut.

    4. Si type d'enregistrement = OfficeArtFOPT (0xF00B), OfficeArtSecondaryFOPT (0xF121) ou OfficeArtTertiaryFOPT (0xF122), l'enregistrement est un tableau de la propriété. Analyser les propriétés comme décrit dans la procédure suivante, « pour analyser les propriétés dans le format MS-ODRAW ».

    5. Ignorer tous les autres enregistrements.

les propriétés.

Pour analyser les propriétés dans le format MS-ODRAW

  1. À partir d'une table de propriétés, telles qu'un enregistrement de OfficeArtFOPT, commencer à lire le premier membre de la baie de .fopt, qui se compose de groupes de propriétés de OfficeArtRGFOPTE. Chaque groupe représente une catégorie de propriétés dans la table property.

  2. Commencer la lecture du premier groupe de OfficeArtRGFOPTE. OfficeArtRGFOPTE enregistrements n'ont aucun enregistrement d'en-tête, mais commencent par le premier membre de la baie de .rgfopte, qui se compose d'enregistrements de OfficeArtFOPTE.

  3. Chaque enregistrement de OfficeArtFOPTE représente une propriété unique. Lire le champ .opid de 2 octets, qui est un enregistrement de OfficeArtFOPTEOPID dans la mémoire.

    Les 14 premiers bits de lire l'identificateur de la propriété comme un entier non signé. Pour connaître quelle entier les valeurs correspondent aux quelles propriétés, consultez la liste Propriétés de section 2.3 de la spécification MS-ODRAW.

    Le dernier bit, si la valeur 1, les moyens que c'est une propriété complexe.

  4. Le champ de .op de 4 octets restants de l'enregistrement de OfficeArtFOPTE en cours de lecture comme un entier signé qui spécifie la valeur de la propriété, ou si la propriété est complexe, le nombre d'octets de données complexes qui doit contenir la valeur.

  5. Lire les entrées restantes dans le tableau .rgfopte de la même manière.

  6. Après le dernier enregistrement de OfficeArtFOPTE, lire les données complexes. Les données complexes apparaissent dans le même ordre que les propriétés du tableau, dans les tailles spécifiées dans leurs champs de .op.

  7. Lisez les autres groupes de la propriété OfficeArtRGFOPTE de la même manière que dans les étapes précédentes jusqu'à la fin de la table de propriétés.

Les bitmaps

Pour extraire des images bitmap au format MS-ODRAW

  1. Localisez l'enregistrement de OfficeArtDggContainer pour le fichier.

  2. Lire l'enregistrement d'en-tête pour obtenir la longueur du conteneur.

  3. Vérifiez que l'en-tête d'enregistrement pour chaque enregistrement à l'intérieur du conteneur jusqu'à ce que vous trouviez un enregistrement OfficeArtBStoreContainer (0xF001), qui représente le champ .blipstore, ou jusqu'à ce que vous atteignez la fin de la OfficeArtDggContainer. S'il n'existe aucun enregistrement de OfficeArtBStoreContainer il n'y a aucun bitmap à extraire.

  4. L'enregistrement OfficeArtBStoreContainer conserve tous les bitmaps pour le fichier dans un tableau d'enregistrements de OfficeArtBStoreContainerFileBlock. Lire l'en-tête de l'enregistrement.

    Bits 4-15 sont un entier non signé qui indique la longueur du tableau.

  5. Pour chaque enregistrement de OfficeArtBStoreContainerFileBlock dans le tableau, effectuez les opérations suivantes.

    1. Lire les octets 2-3 de l'enregistrement d'en-tête pour obtenir le type d'enregistrement.

    2. Si type d'enregistrement = 0xF018-0xF117, l'enregistrement est un OfficeArtBlip. Passez à l'étape suivante de cette procédure.

      Si type d'enregistrement = 0xF007, l'enregistrement est un OfficeArtFBSE. Effectuez les opérations suivantes :

      1. Ignorer les 20 premiers octets.

      2. Lisez les quatre octets suivant, donner la taille de la bitmap comme un entier non signé.

      3. Ignorer les octets 12.

      4. Lire le champ .name, qui est une longueur variable, null , chaîne Unicode terminée qui donne le nom de l'image bitmap.

        Le champ suivant est .embeddedblip, qui est un enregistrement de OfficeArtBlip.

    3. Lire l'enregistrement d'en-tête de l'enregistrement de OfficeArtBlip. Octets 2-3 spécifient que le type de fichier l'image aurait s'il était enregistré séparément. Les 4 derniers octets de l'enregistrement d'en-tête donnent la longueur du reste de l'enregistrement. Pour plus d'informations sur le type de valeurs correspondent à quels types de fichiers, consultez section 2.2.23 de la spécification MS-OGRAPH.

    4. Lire le reste de l'enregistrement dans la mémoire et l'enregistrer en tant que le type de fichier spécifié par l'enregistrement d'en-tête.

  6. Commencer la lecture de l'enregistrement suivant de la OfficeArtBStoreContainerFileBlock et continuer de la même manière jusqu'à ce que tous les bitmaps sont traités.

Conclusion

Apporter des modifications à tous les fichiers binaires Microsoft Office requiert la lecture du fichier dans une représentation interne, la modification de la représentation et réécrire le fichier. En raison de ces exigences, opérations de sauvegarde nécessitent une connaissance approfondie des formats de fichiers concernés, qui dépasse la portée de cet article. Cet article et les articles connexes de la série fournissent les étapes et les informations pour effectuer des extractions simples et de faciliter une meilleure compréhension du format MS-ODRAW.

Plus précisément, une connaissance de base du format MS-ODRAW peut aider à améliorer vos locaux avec les autres formats de fichier binaire Microsoft Office en vous permettant d'identifier et analyser les objets dessinés et les bitmaps ceux que vous pouvez rencontrer dans les fichiers binaires Microsoft Office.

Ressources supplémentaires

Pour plus d’informations, consultez les ressources suivantes :

Notes

Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.