Prezentációk mentése Pythonban
Áttekintés
Miután létrehoz egy prezentációt vagy megnyit egy létezőt, használja a Presentation.save metódust az eredmény írásához. Az Aspose.Slides for Python via .NET képes egy prezentációt fájlba vagy adatfolamba menteni PowerPoint, OpenDocument, PDF és egyéb formátumokban. Az alábbi szakaszok bemutatják a szabványos mentési műveleteket és a PPTX kimenethez elérhető beállításokat.
Prezentációk mentése fájlba
Egy prezentáció fájlba mentéséhez adja meg a kimeneti útvonalat és egy SaveFormat értéket a Presentation.save metódusnak. A formátumérték határozza meg, milyen típusú fájlt hoz létre az Aspose.Slides.
A következő példa egy prezentációt hoz létre, és PPTX fájlként menti el:
import aspose.slides as slides
with slides.Presentation() as presentation:
# Prezentáció tartalmának hozzáadása vagy módosítása itt.
presentation.save("Output.pptx", slides.export.SaveFormat.PPTX)
Prezentációk mentése eredeti formátumban
A fájl- és adatfolyam-észlelési példákhoz, az újonnan létrehozott prezentációk viselkedéséhez, valamint a forrás- és kimeneti formátumok megkülönböztetéséhez lásd a Determine the Original Presentation Format oldalt.
Kötegelt feldolgozó alkalmazásban a bemeneti formátum előre nem ismerhető. Egy fájl betöltése után olvassa ki az eredeti formátumát a Presentation.source_format tulajdonságból. Az így kapott SourceFormat értéket adja át a SlideUtil.to_save_format metódusnak a megfelelő SaveFormat érték lekéréséhez, majd használja a Presentation.save metódust a módosított prezentáció írásához.
Az alábbi teljes példa az bemeneti könyvtár minden fájlját feldolgozza, frissíti a címét, és a betöltött formátumban menti el a kimeneti könyvtárba:
from pathlib import Path
import aspose.slides as slides
from aspose.slides.util import SlideUtil
input_directory = Path("Input")
output_directory = Path("Output")
output_directory.mkdir(exist_ok=True)
for input_path in input_directory.iterdir():
if not input_path.is_file():
continue
try:
with slides.Presentation(str(input_path)) as presentation:
source_format = presentation.source_format
save_format = SlideUtil.to_save_format(source_format)
presentation.document_properties.title = "Processed by the batch application"
output_path = output_directory / input_path.name
presentation.save(str(output_path), save_format)
except Exception as exception:
print(f"Cannot process '{input_path}': {exception}")
[SlideUtil.to_save_format] a PPT, PPTX, ODP, PPTM, PPSX, PPSM, POTX, POTM, PPS, POT, OTP, FODP és PowerPoint XML formátumokat a megfelelő prezentáció mentési formátumokra képezi le. Csak a prezentáció forrásformátumait térképezi; nem arra szolgál, hogy exportformátumokat, például PDF-et, HTML-t, TIFF-et vagy képeket válasszon. Nem támogatott vagy érvénytelen [SourceFormat] érték átadása kivételt eredményez.
A régi PPT, PPS és POT fájlok ugyanazt a bináris konténert használják. Ha egy ilyen prezentációt fájlkiterjesztés nélküli adatfolyamból töltnek be, a PPS vagy POT fájl ezért PPT‑ként azonosítható. Ha meg kell tartani ezeket a régi altípusokat, akkor a eredeti fájlnevet vagy formátum metaadatait külön tárolja, és használja ezeket a kimeneti fájlnév és formátum kiválasztásakor.
Prezentációk mentése adatfolyamba
Egy prezentáció írásához, anélkül, hogy végső fájlútra támaszkodna, adjon meg egy írható BinaryIO adatfolyamot és egy SaveFormat értéket a Presentation.save metódusnak. Ez a megközelítés akkor hasznos, ha a kimenetet egy webszolgáltatásból kell visszaadni, adatbázisba kell tárolni vagy memóriában kell feldolgozni.
A következő példa egy új prezentációt fájl adatfolyamba ment:
import aspose.slides as slides
with slides.Presentation() as presentation:
with open("Output.pptx", "wb") as output_stream:
presentation.save(output_stream, slides.export.SaveFormat.PPTX)
Prezentációk mentése előre definiált nézeti típussal
Megadhatja, hogy a PowerPoint melyik nézetben nyissa meg a mentett prezentációt. A mentés előtt állítsa a ViewProperties.last_view tulajdonságot egy ViewType értékre.
A következő példa a Diákmester nézetet állítja be kezdő nézetként:
import aspose.slides as slides
with slides.Presentation() as presentation:
presentation.view_properties.last_view = slides.ViewType.SLIDE_MASTER_VIEW
presentation.save("SlideMasterView.pptx", slides.export.SaveFormat.PPTX)
Prezentációk mentése a szigorú Office Open XML formátumban
Egy PPTX fájl létrehozásához, amely megfelel az Office Open XML szigorú profiljának, hozzon létre egy PptxOptions példányt, és állítsa a conformance tulajdonságát a Conformance.ISO_29500_2008_STRICT értékre. Ezután adja át a beállításokat a Presentation.save metódusnak.
import aspose.slides as slides
options = slides.export.PptxOptions()
options.conformance = slides.export.Conformance.ISO_29500_2008_STRICT
with slides.Presentation() as presentation:
presentation.save("StrictOfficeOpenXml.pptx", slides.export.SaveFormat.PPTX, options)
Prezentációk mentése Office Open XML formátumban Zip64 módban
Egy szabványos ZIP archívum korlátozza minden bejegyzés tömörített és tömörítetlen méretét, az archívum teljes méretét és a bejegyzések számát. Mivel egy PPTX fájl ZIP archívum, egy nagyon nagy prezentáció túllépheti ezeket a korlátokat. A ZIP64 kiterjesztések növelik az alkalmazható méret- és bejegyzésszám-korlátokat.
Használja a PptxOptions.zip_64_mode tulajdonságot annak vezérlésére, hogy az Aspose.Slides írja‑e a ZIP64 kiterjesztéseket:
IF_NECESSARYcsak akkor használ ZIP64‑et, amikor a prezentáció meghaladja a szabványos ZIP korlátokat. Ez az alapértelmezett mód.NEVERletiltja a ZIP64 kiterjesztéseket.ALWAYSmindig írja a ZIP64 kiterjesztéseket.
A következő példa mindig engedélyezi a ZIP64 kiterjesztéseket a kimeneti prezentációhoz:
import aspose.slides as slides
with slides.Presentation("Sample.pptx") as presentation:
options = slides.export.PptxOptions()
options.zip_64_mode = slides.export.Zip64Mode.ALWAYS
presentation.save("OutputZip64.pptx", slides.export.SaveFormat.PPTX, options)
Warning
Ha aZip64Mode.NEVER értéket használják, és a prezentáció nem fér bele a szabványos ZIP korlátokba, a mentési művelet egy PptxException kivételt dob.
Prezentációk mentése Office Open XML formátumban tömörítési szintekkel
Az PPTX kimenethez a PptxOptions.compression_level tulajdonság beállításával egyensúlyba hozhatja a mentési sebességet és a fájlméretet. A CompressionLevel felsorolás a következő értékeket kínálja:
NONEadatot tömörítés nélkül tárol.LEVEL1a leggyorsabb tömörítést és a legnagyobb tömörített kimenetet biztosítja.LEVEL2‑tőlLEVEL5‑ig fokozatosan a kisebb kimenetet részesítik előnyben a mentési sebességgel szemben.LEVEL6egyensúlyt teremt a mentési sebesség és a fájlméret között. Ez az alapértelmezett szint.LEVEL7ésLEVEL8tovább a kisebb kimenetet részesítik előnyben a mentési sebességgel szemben.LEVEL9a legerősebb tömörítést biztosítja, és a legtöbb feldolgozási időt igényli.
A következő példa egy prezentációt tömörítés nélkül ment:
import aspose.slides as slides
with slides.Presentation("Sample.pptx") as presentation:
options = slides.export.PptxOptions()
options.compression_level = slides.export.CompressionLevel.NONE
presentation.save("OutputNoCompression.pptx", slides.export.SaveFormat.PPTX, options)
A következő példa a maximális tömörítési szintet használja:
import aspose.slides as slides
with slides.Presentation("Sample.pptx") as presentation:
options = slides.export.PptxOptions()
options.compression_level = slides.export.CompressionLevel.LEVEL9
presentation.save("OutputMaximumCompression.pptx", slides.export.SaveFormat.PPTX, options)
Prezentációk mentése a bélyegkép frissítése nélkül
Amikor egy prezentációt PPTX‑ként mentenek, a PptxOptions.refresh_thumbnail tulajdonság vezérli a dokumentum bélyegképét:
Truea mentési művelet során regenerálja a bélyegképet. Ez az alapértelmezett érték.Falsemegőrzi a meglévő bélyegképet. Ha a prezentációnak nincs bélyegképe, az Aspose.Slides nem generál újat.
A következő példa egy prezentációt ment frissítés nélkül a bélyegképén:
import aspose.slides as slides
with slides.Presentation("Sample.pptx") as presentation:
options = slides.export.PptxOptions()
options.refresh_thumbnail = False
presentation.save("Output.pptx", slides.export.SaveFormat.PPTX, options)
Note
A bélyegkép frissítésének letiltása csökkentheti a PPTX fájl mentéséhez szükséges időt.Note
Az Aspose ingyenes PowerPoint Splitter eszközt biztosít, amely az Aspose.Slides API‑val készült. Kiválasztott diák mentése a prezentációból különálló PPT vagy PPTX fájlokként.GYIK
Támogatja az Aspose.Slides inkrementális vagy „gyors mentés” funkciót?
Nem. Minden mentési művelet egy teljes kimeneti fájlt ír, a megváltozott részek csak frissítése helyett.
Több szál is mentheti ugyanazt a Presentation példányt?
Nem. Egy Presentation példány nem szálbiztos. Minden példányhoz egyszerre csak egy szál férjen hozzá, és így mentse.
Mi történik a hiperhivatkozásokkal és a külsőleg hivatkozott fájlokkal, amikor egy prezentációt mentek?
Hyperlinks megmaradnak a prezentációban. Az Aspose.Slides nem másolja a külsőleg hivatkozott fájlokat, így a mentett prezentációnak továbbra is hozzá kell férnie azok helyéhez.
Menthetek dokumentum metaadatokat, például szerzőt, címet, céget és a létrehozás dátumát?
Igen. Állítsa be a megfelelő document properties értékeket a mentés előtt, és az Aspose.Slides beírja őket a kimeneti fájlba.