2016-05-05 21 views
7

Qualcuno sa come vengono ereditati gli stili di carattere in un file pptx? So che va almeno in questo modo:Ereditarietà stile PPTX

  1. locali puntelli Run (a:rPr)
  2. locali puntelli Paragrafo (a:pPr/a:defRPr)
  3. puntelli Forma Paragrafo (a:lstStyle/a:lvlXpPr/a:defRPr)
  4. puntelli Paragrafo dal layout?
  5. puntelli Schema diapositiva Paragrafo (p:txStyles/(p:titleStyle|p:bodyStyle|p:otherStyle)/a:lvlXpPr/a:defRPr)
  6. diapositive a tema (a:objectDefaults/(a:spDef|a:lnDef|a:txDef)/a:lstStyle/a:lvlXpPr/a:defRPr)
  7. Presentazione predefiniti (p:defaultTextStyle/a:lvlXpPr/a:defRPr)

Ma, quando mi paragono ai risultati di altre applicazioni, non corrisponde . A causa di motivi tecnici, non posso usare una libreria che già fa questo per me, sto leggendo l'xml da solo. La sorgente POI di apache ha alcuni contrassegni TODO: nelle aree pertinenti e ho difficoltà a comprendere il codice di LibreOffice.

Modifica: Per ulteriori informazioni, desidero trovare le proprietà di esecuzione assoluta, non le proprietà di esecuzione relative. Potrei pensarci in questo modo: hai diversi lucidi per una lavagna luminosa. Voglio vedere l'immagine creata da tutte le pagine, non solo quella locale.

+0

cosa stai cercando di fare? vuoi cambiare alcuni stili a livello di programmazione? –

+0

Gli stili più locali sì, ma ho bisogno di sapere cosa i genitori definiscono quindi non sarò ridondante. –

+0

Penso che dovresti guardare la parte del tema e come fare un riferimento ovunque ti serva ... hai provato a controllare la parte del tema? Se puoi darci un esempio di cosa esattamente vuoi fare, aiuterà a capire meglio il problema e provare cose diverse. –

risposta

0

Suppongo che scrivendo l'ereditarietà in questo contesto, intendi che uno stile è basato su un altro. Sembra che è possibile utilizzare la proprietà BasedOn per verificare questo programma.

Ho trovato un articolo al riguardo con un codice di esempio che rileva automaticamente la gerarchia di stile in un documento selezionato. Puoi trovarlo qui: https://blogs.msdn.microsoft.com/ericwhite/2010/03/29/testing-for-base-styles-in-open-xml-wordprocessingml-documents/. Il codice scritto per i file Word (DOCX), ma suppongo che dovrebbe essere molto simile per PowerPoint (PPTX). Se hai problemi ad usare il codice per il file PPTX, fammelo sapere e cercherò di aiutarti.

In base a queste informazioni https://msdn.microsoft.com/en-us/library/office/gg188064.aspx#sectionSection5, è possibile fare riferimento agli "stili di carattere" solo tramite il tipo di elementi run e non è possibile fare riferimento ai paragrafi.

si possono anche trovare un articolo su stili eredità qui: https://blogs.msdn.microsoft.com/ericwhite/2009/10/28/open-xml-wordprocessingml-style-inheritance-post-4/

Anche se non fornisce una risposta alla tua domanda direttamente, contiene alcune informazioni aggiuntive associate a stili di eredità, così può apparire utile per voi.

+0

Grazie, ma i file pptx non hanno tabelle di stile e le proprietà di esecuzione pptx non hanno una definizione per 'BasedOn' –