2016-05-05 18 views
7

Weiß jemand, wie Zeichenstile in einer PPTX-Datei vererbt werden? Ich weiß, dass es zumindest so geht:PPTX Style Inheritance

  1. Lokale Run Requisiten (a:rPr)
  2. Lokale Ziffer Requisiten (a:pPr/a:defRPr)
  3. Form Ziffer Requisiten (a:lstStyle/a:lvlXpPr/a:defRPr)
  4. Absatz Requisiten aus dem Layout?
  5. Master-Slide Absatz Requisiten (p:txStyles/(p:titleStyle|p:bodyStyle|p:otherStyle)/a:lvlXpPr/a:defRPr)
  6. Slide Theme (a:objectDefaults/(a:spDef|a:lnDef|a:txDef)/a:lstStyle/a:lvlXpPr/a:defRPr)
  7. Präsentation Defaults (p:defaultTextStyle/a:lvlXpPr/a:defRPr)

Aber, wenn ich es zu den Ergebnissen anderer Anwendungen zu vergleichen, ist es nicht übereinstimmt . Aus technischen Gründen kann ich keine Bibliothek benutzen, die das schon für mich tut, ich lese selbst das XML. Die Apache-POI-Quelle hat einige TODO: Markierungen in den relevanten Bereichen, und ich habe Probleme, den LibreOffice-Code zu verstehen.

Bearbeiten: Um weiter zu erklären, möchte ich die absoluten Laufeigenschaften, nicht die relativen Laufeigenschaften finden. Man könnte es sich so vorstellen: Sie haben mehrere Folien für einen Overheadprojektor. Ich möchte das von allen Seiten erstellte Bild sehen, nicht nur das lokale.

+0

Was versuchen Sie zu tun? Sie möchten einige Stile programmgesteuert ändern? –

+0

Die meisten lokalen Stile ja, aber ich muss wissen, was die Eltern definieren, also werde ich nicht überflüssig sein. –

+0

Ich denke, du solltest dir das Thema ansehen und wie du es referenzieren kannst, wo auch immer du es brauchst ... hast du versucht, das Thema zu überprüfen? Wenn Sie uns ein Beispiel geben können, was genau Sie tun möchten, wird es helfen, das Problem besser zu verstehen und verschiedene Dinge auszuprobieren. –

Antwort

0

Ich nehme an, dass Sie, indem Sie Vererbung in diesem Kontext schreiben, meinen, dass ein Stil auf einem anderen basiert. Es scheint, dass Sie die Eigenschaft BasedOn verwenden können, um dies programmatisch zu überprüfen.

Ich habe einen Artikel mit einem Beispielcode gefunden, der die Stilhierarchie in einem ausgewählten Dokument automatisch erkennt. Sie können es hier finden: https://blogs.msdn.microsoft.com/ericwhite/2010/03/29/testing-for-base-styles-in-open-xml-wordprocessingml-documents/. Der Code für Word (DOCX) -Dateien geschrieben, aber ich denke, es sollte für PowerPoint (PPTX) sehr ähnlich sein. Wenn Sie Probleme mit dem Code für PPTX-Datei haben, lassen Sie es mich wissen und ich werde versuchen, zu helfen.

Gemäß dieser Information https://msdn.microsoft.com/en-us/library/office/gg188064.aspx#sectionSection5, "Zeichenformate" kann nur durch run Elementtyp referenziert werden und kann nicht durch Absätze referenziert werden.

Sie können auch einen Artikel über verschiedene Designs Vererbung hier: https://blogs.msdn.microsoft.com/ericwhite/2009/10/28/open-xml-wordprocessingml-style-inheritance-post-4/

Während es eine Antwort auf Ihre Frage nicht direkt zur Verfügung stellt, es einige zusätzliche Informationen enthält, die mit Arten Erbe verbunden sind, so dass für Sie nützlich erscheinen.

+0

Danke, aber PPTX-Dateien haben keine Style-Tabellen und PPTX-Laufeigenschaften haben keine Definition für 'BasedOn' –