Prezentációk mentése PHP-ben
Áttekintés
Open Presentations in PHP bemutatta, hogyan kell használni a Presentation osztályt egy prezentáció megnyitásához. Ez a cikk elmagyarázza, hogyan hozhatunk létre és menthetünk prezentációkat. A Presentation osztály tartalmazza a prezentáció tartalmát. Akár a semmiből hoz létre egy prezentációt, akár meglévőt módosít, a végén menteni szeretné. Az Aspose.Slides for PHP-vel fájlba vagy folyamba menthet. Ez a cikk bemutatja a prezentáció mentésének különböző módjait.
Prezentációk mentése fájlokba
Mentse a prezentációt fájlba a Presentation osztály save metódusának meghívásával. A metódusnak adja át a fájlnév és a mentési formátum paramétereket. Az alábbi példa megmutatja, hogyan menthet egy prezentációt az Aspose.Slides segítségével.
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
$presentation = new Presentation();
try {
// Végezzen itt némi munkát...
// Mentse a prezentációt egy fájlba.
$presentation->save("Output.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Prezentációk mentése folyamokba
A prezentációt egy folyamba mentheti, ha egy kimeneti folyamot ad át a Presentation osztály save metódusának. A prezentáció számos folyam típusba írható. Az alábbi példában egy új prezentációt hozunk létre és egy fájlfolyamba mentjük.
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
$presentation = new Presentation();
try {
$fileStream = new Java("java.io.FileOutputStream", "Output.pptx");
try {
// Mentse a prezentációt a folyamra.
$presentation->save($fileStream, SaveFormat::Pptx);
} finally {
$fileStream->close();
}
} finally {
$presentation->dispose();
}
Prezentációk mentése előre meghatározott nézet típussal
Az Aspose.Slides lehetővé teszi, hogy beállítsa a PowerPoint által a generált prezentáció megnyitásakor használt kezdeti nézetet a ViewProperties osztály segítségével. Használja a setLastView metódust a ViewType felsorolás egy értékével.
$presentation = new Presentation();
try {
$presentation->getViewProperties()->setLastView(ViewType::SlideMasterView);
$presentation->save("SlideMasterView.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Prezentációk mentése a szigorú Office Open XML formátumban
Az Aspose.Slides lehetővé teszi, hogy a prezentációt a szigorú Office Open XML formátumban mentse. Használja a PptxOptions osztályt, és állítsa be a conformance tulajdonságát mentéskor. Ha a Conformance.Iso29500_2008_Strict értéket adja meg, a kimeneti fájl a szigorú Office Open XML formátumban lesz elmentve.
Az alábbi példa egy prezentációt hoz létre, és a szigorú Office Open XML formátumban menti.
$options = new PptxOptions();
$options->setConformance(Conformance::Iso29500_2008_Strict);
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
$presentation = new Presentation();
try {
// Mentse a prezentációt a szigorú Office Open XML formátumban.
$presentation->save("StrictOfficeOpenXml.pptx", SaveFormat::Pptx, $options);
} finally {
$presentation->dispose();
}
Prezentációk mentése Office Open XML formátumban Zip64 módban
Az Office Open XML fájl egy ZIP archívum, amely 4 GB (2^32 bájt) korlátot szab a bármely fájl kitömörített méretére, a bármely fájl tömörített méretére és a teljes archívum méretére, valamint legfeljebb 65 535 (2^16‑1) fájlt enged. A ZIP64 formátum kiterjesztések ezeket a korlátokat 2^64‑re emelik.
A PptxOptions.setZip64Mode metódus lehetővé teszi, hogy kiválassza, mikor használjon ZIP64 formátum kiterjesztéseket Office Open XML fájl mentésekor.
Ez a metódus a következő módokkal használható:
- IfNecessary csak akkor használja a ZIP64 formátum kiterjesztéseket, ha a prezentáció meghaladja a fent említett korlátokat. Ez az alapértelmezett mód.
- Never soha nem használ ZIP64 formátum kiterjesztéseket.
- Always mindig használ ZIP64 formátum kiterjesztéseket.
Az alábbi kód bemutatja, hogyan menthet egy prezentációt PPTX formátumban ZIP64 formátum kiterjesztésekkel engedélyezve:
$pptxOptions = new PptxOptions();
$pptxOptions->setZip64Mode(Zip64Mode::Always);
$presentation = new Presentation("Sample.pptx");
try {
$presentation->save("OutputZip64.pptx", SaveFormat::Pptx, $pptxOptions);
} finally {
$presentation->dispose();
}
MEGJEGYZÉS
Ha a Zip64Mode.Never opcióval ment, akkor egy PptxException kerül dobásra, ha a prezentációt nem lehet ZIP32 formátumban menteni.Prezentációk mentése a miniatűr frissítése nélkül
A PptxOptions.setRefreshThumbnail metódus szabályozza a miniatűr generálását, amikor egy prezentációt PPTX-be ment:
- Ha
true-ra van állítva, a miniatűr a mentés során frissül. Ez az alapértelmezett. - Ha
false-ra van állítva, a jelenlegi miniatűr megmarad. Ha a prezentációnak nincs miniatűrje, akkor egy sem nem lesz generálva.
Az alábbi kódban a prezentációt PPTX-be mentjük a miniatűr frissítése nélkül.
$pptxOptions = new PptxOptions();
$pptxOptions->setRefreshThumbnail(false);
$presentation = new Presentation("Sample.pptx");
try {
$presentation->save("Output.pptx", SaveFormat::Pptx, $pptxOptions);
}
finally {
$presentation->dispose();
}
Információ
Ez a lehetőség segít csökkenteni a PPTX formátumba történő mentés időtartamát.Mentés előrehaladásának százalékos frissítése
A mentés előrehaladásának jelentését a setProgressCallback metódussal állíthatja be a SaveOptions és annak származékaiban. Adjon meg egy Java proxy-t, amely implementálja az IProgressCallback interfészt; az exportálás során a callback időszakos százalékos frissítéseket kap.
Az alábbi kódrészletek bemutatják, hogyan használja az IProgressCallback-et.
class ExportProgressHandler {
function reporting($progressValue) {
// Használja itt a százalékos előrehaladási értéket.
$progress = java("java.lang.Double")->valueOf($progressValue)->intValue();
echo($progress . "% of the file has been converted.");
}
}
$progressHandler = java_closure(new ExportProgressHandler(), null, java("com.aspose.slides.IProgressCallback"));
$saveOptions = new PdfOptions();
$saveOptions->setProgressCallback($progressHandler);
$presentation = new Presentation("Sample.pptx");
try {
$presentation->save("Output.pdf", SaveFormat::Pdf, $saveOptions);
} finally {
$presentation->dispose();
}
Információ
Az Aspose egy ingyenes PowerPoint Splitter alkalmazást fejlesztett ki (https://products.aspose.app/slides/hu/splitter) a saját API-jával. Az alkalmazás lehetővé teszi, hogy egy prezentációt több fájlra bontson, a kiválasztott diák új PPTX vagy PPT fájlokként történő mentésével.FAQ
Támogatott a “gyors mentés” (inkrementális mentés), így csak a változások íródnak?
Nincs. A mentés minden alkalommal a teljes célfájlt hozza létre; az inkrementális „gyors mentés” nem támogatott.
Mentése szálbiztonságos ugyanazon Presentation példányt több szálról?
Nincs. A Presentation példány nem szálbiztonságos; csak egy szálról mentse.
Mi történik a hiperhivatkozásokkal és a külsőleg linkelt fájlokkal mentéskor?
A Hyperlinks megmaradnak. A külsőleg linkelt fájlok (például relatív útvonalakból elérhető videók) nem kerülnek automatikusan másolásra – győződjön meg róla, hogy a hivatkozott útvonalak elérhetők maradnak.
Beállíthatom/menthetem a dokumentum metaadatokat (Szerző, Cím, Cég, Dátum)?
Igen. A szabványos document properties támogatott, és mentéskor a fájlba kerülnek.