Share via


Suchen von Grafiken in einer MS-PPT-Binärdatei in PowerPoint (maschinell übersetzt)

Wichtig

Dieser Artikel wurde maschinell übersetzt. Bitte beachten Sie den Haftungsausschluss. Die englische Version des Artikels ist als Referenz hier verfügbar: here.

Zusammenfassung: Erfahren Sie mehr über das Suchen von Bitmaps, Zeichnungen, WordArt und anderer statischer Grafiken in einer PPT-Binärdatei in MicrosoftPowerPoint.

Letzte Änderung: Donnerstag, 21. Juli 2011

Gilt für: Office 2007 | Office 2010 | PowerPoint | PowerPoint 2010 | VBA

Inhalt dieses Artikels
Einführung
Strukturen und Verfahren
Schlussbemerkung
Weitere Ressourcen

Veröffentlicht:   Mai 2011

**Zur Verfügung gestellt von:**Microsoft Corporation

Inhalt

  • Einführung:

  • Strukturen und Verfahren

    • Extrahieren Sie die Bitmap-Bilder aus einer.PPT-Datei

    • Extrahieren Sie die Zeichnungen aus ein.PPT-Datei

    • Um eine Bitmap in einer Folie zu suchen

  • Schlussbemerkung

  • Weitere Ressourcen

Einführung

Die binären Dateiformat (PPT) wird von Microsoft OfficePowerPoint verwendet MS-PPT 2003, Microsoft PowerPoint 2002, Microsoft PowerPoint 2000, und Microsoft PowerPoint 97. Verwenden Sie die Verfahren in diesem Artikel, Bilder oder Zeichnungen aus einer PPT-Datei extrahiert und zum Suchen einer Bitmaps in eine Folie.

Extrahieren Bilder direkt aus der Binärdatei können Sie schnell viele Dateien für ein bestimmtes Bild scannen, ohne die PowerPoint-Anwendung zu öffnen. Sie können dann das Bild vollständig entfernen oder Ersetzen Sie es durch ein anderes Bild dieselbe Größe, mit minimalen Änderungen an der Datei. Sie konnte z. B. alle Instanzen eines Bildes aus einer Reihe von urheberrechtlich geschützten strike oder aktualisieren alle Instanzen des Firmenlogos.

Zeichnungen sind schwerer als Bilder ersetzen; jedoch müssen Sie wissen, wo ein Bild in einer Folie angezeigt wird, das Shape-Objekt finden, dem das Bild verankert ist. Eigenschaftenänderungen können Sie Zeichnungen oder Formen, z. B. die Bearbeitung des Textes eines WordArt-Objekt, mit minimalen Schwierigkeiten, wenn die Zeichnungen oder Formen der gleichen Größe im Speicher bleiben. Andernfalls müssen Sie die Datensatzheader in der aktuellen bearbeiten, um ihre neuen Speicherzuordnungen widerspiegeln aktualisieren.

Hinweis

Die empfohlene Vorgehensweise für die meisten Programmieraufgaben in Microsoft PowerPoint ist die Verwendung der PowerPoint Primary Interop Assemblies. Hierbei handelt es sich um einen Satz von.NET-Klassen, die ein vollständig neues Objektmodell zum Arbeiten mit Microsoft PowerPoint bereitstellen. Dieser Artikel-Reihe befasst sich nur mit erweiterten Szenarien, z. B. dem Microsoft PowerPoint nicht installiert ist.

Strukturen und Verfahren

Alle Vektor-basierte grafische Elemente in einer PPT-Datei werden als Zeichnungen innerhalb der DrawingContainer-Objekte in der PowerPoint-Dokument-Stream gespeichert. Zu diesen Elementen gehören ClipArt, WordArt, und alle Zeichnungen oder Diagramme, die skalierbare Formen und Linien bestehen. Bitmaps werden als Binäre große Bilder oder Bilder (Lichtpunkte) innerhalb des Streams Bilder zentral gespeichert und durch die Zeichnungen, wo sie angezeigt, verwiesen. Verwenden MS-ODRAW-Dateiformat, das die freigegebenen grafischen Format für Microsoft Excel, Microsoft PowerPoint und Microsoft Word, Zeichnungen und Lichtpunkte.

Hinweis

Alle Datensätze in einem Dokument PowerPoint beginnen mit einem 8-Byte-Datensatz-Header, sofern nicht anders angegeben. Die dritte und vierte Byte zeigen den Datensatztyp, und die letzten 4 Bytes zeigen die Länge des Datensatzes. Diese Informationen können Sie Datensätze von Interesse zu identifizieren und über die restlichen überspringen.

Extrahieren Sie die Bitmap-Bilder aus einer.PPT-Datei

  1. Öffnen Sie den Stream Bilder.

    Dieser Stream enthält alle eingebetteten Bitmap-Bilder, die der Benutzer in die Datei als eine Reihe von OfficeArtBStoreDelay Datensätze kopiert hat. Ein OfficeArtBStoreDelay-Datensatz ist ein reines OfficeArtBStoreContainerFileBlock Records-Array und hat kein Datensatzheader oder andere Felder.

  2. Für jeden Datensatz OfficeArtBStoreContainerFileBlock im Array wie folgt:

    1. Byte 2 und 3 des Datensatz-Header zum Abrufen des Datensatztyps zu lesen.

    2. Wenn Satztyp = OfficeArtBlip(0xF018-0xF117), mit dem nächsten Schritt in diesem Verfahren fortfahren.

      Wenn Satztyp = OfficeArtFBSE(0xF007), führen Sie die folgenden Schritte:

      1. Überspringen Sie den ersten 20 Byte.

      2. Lesen Sie die nächsten 4 Bytes, die zeigen, die Größe der Bitmap als Ganzzahl ohne Vorzeichen.

      3. Überspringen Sie den nächsten 12 Bytes.

      4. Lesen Sie das Feld .name, die eine Variable Länge Null beendete Unicode-Zeichenfolge, die den Namen der Bitmap zeigt.

        Das nächste Feld ist .embeddedBlip, die ein OfficeArtBlip-Datensatz ist.

    3. Lesen Sie den Datensatz-Header des Datensatzes OfficeArtBlip. Byte 2 und 3 Geben Sie den Dateityp, den das Bild hätte, wenn es separat gespeichert wurden. Die letzten 4 Bytes des Datensatz-Header anzeigen, die Länge der Rest des Datensatzes. Weitere Informationen darüber, welcher Werte, welche Dateitypen entsprechen, finden Sie unter [MS-ODRAW]-Spezifikation, section 2.2.23.

    4. Der Rest der OfficeArtBlip-Datensatz ist der tatsächliche Bitmap-Bilddaten. Speichern Sie das Bild, als welcher Dateityp von Datensatz-Header angegeben ist.

Extrahieren Sie die Zeichnungen aus ein.PPT-Datei

  1. Erstellen Sie ein persist object directory, wie beschrieben in Grundlegendes zum Binärdateiformat MS-PPT in PowerPoint (maschinell übersetzt) im ersten Teil des Verfahrens, mit dem Titel "Abrufen von Folien aus PowerPoint-Dateien"

  2. Überprüfen Sie in persist object directory die Datensatzheader jedes angegebenen Offset, und gelesen Sie jeder Datensatzheader.

    1. Wenn rh.RecType gleich RT_Document(0x03E8) ist, ist dies der Document-Container. Überprüfen Sie die Kopfzeile der Datensatz aller seiner untergeordneten Containern, bis Sie einen Datensatz finden, wobei rh.recType RT_DrawingGroup(0x040B) entspricht.

      Dies ist die Zeichnung Gruppen-Container für die Datei. Notieren Sie den Speicherort für diesen Container.

    2. Rh.recType RT_MainMaster(0x03F8) oder RT_Slide(0x03EE) entspricht:

      1. Überprüfen Sie jeden untergeordneten Datensatz für einen Datensatzheader rh.recType RT_Drawing(0x040C) entspricht.

      2. Diesen Datensatz zu analysieren, wie beschrieben in Understanding Graphics in Office Binary File Formats nach dem Verfahren, mit dem Titel "gg985447(v=office.14).md."

Um eine Bitmap in einer Folie zu suchen

  1. Die Bitmaps für die Datei zu extrahieren, wie beschrieben in der Prozedur "zu extrahieren Bitmap-Bilder aus einer.PPT-Datei"und dann Datensatz die Position jedes Datensatzes OfficeArtBStoreContainerFileBlock im Array OfficeArtBStoreDelay.rgfb.

  2. Die Zeichnungen für die Datei analysiert, wie beschrieben in der Prozedur "Extract Zeichnungen aus ein.PPT-Datei." Wenn Sie wissen, welche Folie die Bitmap enthält, können Sie nur die Zeichnungen für eine Folie analysieren.

  3. Überprüfen Sie jedes Shape für Bitmaps.

    1. Scannen Sie die Datensatzheader für einen Datensatz für jedes untergeordnete Element des OfficeArtSpContainer-Datensatzes, der die aktuelle Form darstellt, wobei rh.RecType = OfficeArtFOPT(F00B), die die primäre Optionen für Shape-Attribut ist.

    2. Lesen Sie den Rest des Datensatzes OfficeArtFOPT, bestehend aus einer Tabelle Property.

      Die Tabelle Property ist vom Typ OfficeArtRGFOPTE und hat keinen Datensatzheader. Es besteht aus einem Array von 6-Byte-OfficeArtFOPTE-Eigenschaft Tabelleneinträge, gefolgt von einem Feld variabler Größe für komplexe Daten.

    3. Jeder Tabelleneintrag Eigenschaft zu lesen, bis Sie einen finden, wo das Attribut opid.fBid auf 14 = 0 x 1-bit- und Lesen Sie die nächsten 4 Bytes als Ganzzahl ohne Vorzeichen. Diese ganze Zahl gibt die Position im Array OfficeArtBStoreDelay.rgfb von der OfficeArtBStoreContainerFileBlock-Datensatz, der die entsprechende Bitmap enthält.

      Wenn keine Eigenschaft Tabelleneinträge für eine gegebene Form opid.fBid = 0 x 1, gibt es keine Bitmaps, die mit diesem Shape verknüpft ist.

Schlussbemerkung

Dieser Artikel hat die Basic-Prozesse für das Extrahieren von Bildern und Formen aus einem binären Format PowerPoint diskutiert-Datei (PPT). Aufbauend auf diesen Prozessen, werden Sie in der Lage, große Datei-Sets für Zeichnungen und Bitmaps zu scannen, Tags versehen und sogar mit aktualisierten Versionen zu ersetzen.

Weitere Ressourcen

Weitere Informationen finden Sie in den folgenden Ressourcen:

Hinweis

Haftungsausschluss für maschinelle Übersetzungen: Dieser Artikel wurde mithilfe eines Computersystems und ohne jegliche Bearbeitung durch Personen übersetzt. Microsoft bietet solche maschinellen Übersetzungen als Hilfestellung für Benutzer ohne Englischkenntnisse an, damit Sie von den Informationen zu Produkten, Diensten und Technologien von Microsoft profitieren können. Da es sich bei diesem Artikel um eine maschinelle Übersetzung handelt, enthält er möglicherweise Fehler in Bezug auf (Fach-)Terminologie, Syntax und/oder Grammatik.