Converti le Presentazioni in HTML5 in Python via Java
Panoramica
Questo articolo spiega come convertire le presentazioni PowerPoint in HTML5 utilizzando Aspose.Slides per Python tramite Java. Copre l’esportazione di base, il controllo delle animazioni delle forme e delle transizioni delle diapositive, e il layout dei commenti. Confronta inoltre l’output HTML5 con l’output basato su SVG della normale esportazione HTML.
Gli esempi richiedono Aspose.Slides per Python tramite Java e un runtime Java compatibile. Posiziona le presentazioni di input nella directory di lavoro corrente. Ogni esempio avvia la JVM solo se non è già in esecuzione.
Esporta PowerPoint in HTML5
L’esempio seguente carica una presentazione dalla directory di lavoro e la salva in formato HTML5. Utilizza le impostazioni di esportazione predefinite; l’esempio successivo mostra come controllare esplicitamente la riproduzione delle animazioni. Sostituisci il percorso di input con il percorso della tua presentazione.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation("pres.pptx")
try:
presentation.save("pres.html", SaveFormat.Html5)
finally:
presentation.dispose()
Nota
Oltre al documento HTML, l’esportazione scrive file CSS e JavaScript di supporto per lo styling delle diapositive, le animazioni, gli effetti e la navigazione. Mantieni questi file insieme al documento HTML quando sposti o pubblichi l’output. La pagina generata carica anche jQuery e Anime.js da CDN pubblici; senza di essi la navigazione delle diapositive e le animazioni non funzionano.Per esportare senza riprodurre le animazioni delle forme o le transizioni delle diapositive, passa False a setAnimateShapes e setAnimateTransitions in Html5Options. Queste impostazioni sono indipendenti, quindi puoi abilitarne una disabilitando l’altra. L’esempio esporta la presentazione con entrambi i tipi di animazione disattivati nella pagina generata.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Html5Options, Presentation, SaveFormat
html5_options = Html5Options()
html5_options.setAnimateShapes(False)
html5_options.setAnimateTransitions(False)
presentation = Presentation("pres.pptx")
try:
presentation.save("pres5.html", SaveFormat.Html5, html5_options)
finally:
presentation.dispose()
Esporta PowerPoint in HTML
L’esportazione HTML standard utilizza un approccio di rendering diverso: il contenuto della diapositiva è rappresentato da SVG all’interno di una pagina HTML. L’esempio seguente converte una presentazione in un documento HTML usando questo approccio di rendering.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation("pres.pptx")
try:
presentation.save("pres.html", SaveFormat.Html)
finally:
presentation.dispose()
Il markup semplificato di seguito illustra la struttura della pagina generata. L’elemento SVG contiene il contenuto della diapositiva renderizzato; il testo segnaposto rappresenta quel contenuto e non è l’output letterale dell’esportazione.
<body>
<div class="slide" name="slide" id="slideslideIface1">
<svg version="1.1">
<g> THE SLIDE CONTENT GOES HERE </g>
</svg>
</div>
</body>
Attenzione
L’esportazione basata su SVG non espone le forme PowerPoint come elementi HTML individuali. Usa l’esportazione HTML5 quando ti servono le opzioni di animazione delle forme e di transizione delle diapositive dimostrate in questo articolo.Esporta PowerPoint nella Vista Slide HTML5
L’esportazione HTML5 produce una pagina per visualizzare e navigare le diapositive della presentazione in un browser. Questo esempio abilita sia setAnimateShapes sia setAnimateTransitions in modo che la vista slide esportata possa riprodurre gli effetti della presentazione originale.
Usa una presentazione che contenga già animazioni delle forme e transizioni delle diapositive per vedere l’effetto di queste impostazioni. Abilitarle non aggiunge nuovi effetti a diapositive che non ne hanno. Dopo l’esportazione, apri il documento HTML5 generato in un browser con i file di supporto disponibili.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Html5Options, Presentation, SaveFormat
html5_options = Html5Options()
html5_options.setAnimateShapes(True)
html5_options.setAnimateTransitions(True)
presentation = Presentation("pres.pptx")
try:
presentation.save("HTML5-slide-view.html", SaveFormat.Html5, html5_options)
finally:
presentation.dispose()
Converti una Presentazione in un Documento HTML5 con Commenti
Puoi includere i commenti delle diapositive esistenti nell’output HTML5 affinché i lettori vedano il feedback accanto al contenuto della diapositiva. L’esempio in questa sezione presuppone che la presentazione di origine contenga commenti, come illustrato di seguito. Esporta quei commenti; non ne crea di nuovi.

Passa un oggetto NotesCommentsLayoutingOptions al metodo setSlidesLayoutOptions di Html5Options. Usa setCommentsPosition per selezionare Right dall’enumerazione CommentsPositions per posizionare i commenti a destra di ogni diapositiva.
L’esempio seguente esporta la presentazione in HTML5 con questo layout dei commenti. Una presentazione senza commenti non avrà testo di commento da visualizzare.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import CommentsPositions, Html5Options, NotesCommentsLayoutingOptions, Presentation, SaveFormat
layout_options = NotesCommentsLayoutingOptions()
layout_options.setCommentsPosition(CommentsPositions.Right)
html5_options = Html5Options()
html5_options.setSlidesLayoutOptions(layout_options)
presentation = Presentation("sample.pptx")
try:
presentation.save("output.html", SaveFormat.Html5, html5_options)
finally:
presentation.dispose()

Escludi i collegamenti JavaScript durante l’esportazione
Supponi che hyperlinks.pptx contenga testo collegato con un target javascript:alert('Hello') e un normale collegamento https://example.com/. Per escludere il collegamento JavaScript durante l’esportazione, passa True a SaveOptions.setSkipJavaScriptLinks. Il valore predefinito è False, quindi questi collegamenti non vengono filtrati a meno che non abiliti l’opzione.
L’esempio seguente carica la presentazione dalla directory di lavoro ed esporta usando Html5Options:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Html5Options, Presentation, SaveFormat
html5_options = Html5Options()
html5_options.setSkipJavaScriptLinks(True)
presentation = Presentation("hyperlinks.pptx")
try:
presentation.save("filtered-html5.html", SaveFormat.Html5, html5_options)
finally:
presentation.dispose()
Il file esportato omette il collegamento JavaScript mantenendo il suo testo e il collegamento HTTPS ordinario. La presentazione di origine rimane invariata.
Questa opzione filtra i collegamenti JavaScript; non rimuove tutti gli script o altri contenuti attivi, né garantisce la conformità CSP. Per esempio, l’output HTML5 include ancora script per la navigazione e le animazioni delle diapositive.
FAQ
Posso controllare se le animazioni degli oggetti e le transizioni delle diapositive verranno riprodotte in HTML5?
Sì, l’esportazione HTML5 fornisce opzioni separate per abilitare o disabilitare le shape animations e le slide transitions.
I commenti sono supportati e dove possono essere posizionati rispetto alla diapositiva?
Sì, i commenti esistenti possono essere inclusi nell’output HTML5 e posizionati (ad esempio, a destra della diapositiva) tramite le layout settings per note e commenti.
Posso saltare i collegamenti che invocano JavaScript per motivi di sicurezza o CSP?
Sì, l’impostazione setSkipJavaScriptLinks consente di saltare i collegamenti con chiamate JavaScript durante il salvataggio. Il valore predefinito è False. Vedi Escludi i collegamenti JavaScript durante l’esportazione per un esempio di esportazione HTML5 e l’ambito del filtro. Questa impostazione non rimuove il JavaScript usato dal visualizzatore HTML5 per la navigazione e le animazioni.