Konwertuj PPT i PPTX do PDF w PHP [Zawiera zaawansowane funkcje]
Przegląd
Konwertowanie prezentacji PowerPoint (PPT, PPTX, ODP itp.) na format PDF w PHP oferuje kilka zalet, w tym kompatybilność na różnych urządzeniach oraz zachowanie układu i formatowania prezentacji. Ten przewodnik pokazuje, jak konwertować prezentacje do dokumentów PDF, używać różnych opcji do kontrolowania jakości obrazu, włączać ukryte slajdy, zabezpieczać pliki PDF hasłem, wykrywać podstawienia czcionek, wybierać określone slajdy do konwersji oraz stosować standardy zgodności w dokumentach wyjściowych.
Konwersje PowerPoint do PDF
Korzystając z Aspose.Slides, możesz konwertować prezentacje w następujących formatach do PDF:
- PPT
- PPTX
- ODP
Aby przekonwertować prezentację do PDF, przekaż nazwę pliku jako argument do klasy Presentation i następnie zapisz prezentację jako PDF używając metody save. Klasa Presentation udostępnia metodę save, która jest zazwyczaj używana do konwersji prezentacji do PDF.
Note
Aspose.Slides for PHP via Java wstawia informacje o API oraz numer wersji do dokumentów wyjściowych. Na przykład, przy konwersji prezentacji do PDF, Aspose.Slides wypełnia pole Application wartością “Aspose.Slides” oraz pole PDF Producer wartością w formacie “Aspose.Slides v XX.XX”. Uwaga że nie można nakazać Aspose.Slides zmiany lub usunięcia tych informacji z dokumentów wyjściowych.Aspose.Slides pozwala konwertować:
- Całe prezentacje do PDF
- Wybrane slajdy z prezentacji do PDF
Aspose.Slides eksportuje prezentacje do PDF, zapewniając, że powstałe pliki PDF ściśle odpowiadają oryginalnym prezentacjom. Elementy i atrybuty są renderowane dokładnie w konwersji, w tym:
- Obrazy
- Pola tekstowe i kształty
- Formatowanie tekstu
- Formatowanie akapitu
- Hiperłącza
- Nagłówki i stopki
- Wypunktowania
- Tabele
Konwertuj PowerPoint do PDF
Standardowy proces konwersji PowerPoint do PDF używa domyślnych opcji. W tym przypadku Aspose.Slides próbuje konwertować podaną prezentację do PDF, wykorzystując optymalne ustawienia przy maksymalnych poziomach jakości.
Poniższy przykład ładuje prezentację i zapisuje wszystkie widoczne slajdy do PDF, używając domyślnych ustawień eksportu.
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation("PowerPoint.pptx");
try {
$presentation->save("PPT-to-PDF.pdf", SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
Note
Aspose oferuje darmowy internetowy konwerter PowerPoint do PDF, który demonstruje proces konwersji prezentacji do PDF. Możesz przeprowadzić test przy użyciu tego konwertera, aby zobaczyć działanie procedury opisanej tutaj.Konwertuj PowerPoint do PDF z opcjami
Aspose.Slides udostępnia własne opcje — właściwości klasy PdfOptions — które pozwalają dostosować wynikowy PDF, zabezpieczyć PDF hasłem lub określić, jak ma przebiegać proces konwersji.
Konwertuj PowerPoint do PDF z własnymi opcjami
Korzystając z własnych opcji konwersji, możesz określić preferowane ustawienie jakości dla obrazów rastrowych, określić sposób obsługi plików metafile, ustawić poziom kompresji tekstu, skonfigurować DPI dla obrazów i nie tylko.
Poniższy przykład eksportuje prezentację do PDF 1.5 z jakością JPEG ustawioną na 90, rozdzielczością obrazu 300 DPI, metafile zapisanymi jako PNG oraz kompresją tekstu Flate.
use aspose\slides\PdfCompliance;
use aspose\slides\PdfOptions;
use aspose\slides\PdfTextCompression;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setJpegQuality(90);
$pdfOptions->setSufficientResolution(300);
$pdfOptions->setSaveMetafilesAsPng(true);
$pdfOptions->setTextCompression(PdfTextCompression::Flate);
$pdfOptions->setCompliance(PdfCompliance::Pdf15);
$presentation = new Presentation("PowerPoint.pptx");
try {
$presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Zachowaj osadzone pliki OLE jako załączniki PDF
Jeśli prezentacja zawiera osadzony skoroszyt Excel, możesz chcieć, aby odbiorcy PDF mogli uzyskać dostęp do danych skoroszytu oraz oglądać slajdy. Wywołaj setIncludeOleData z wartością true, aby zachować osadzone pliki OLE jako załączniki w powstałym PDF.
Domyślna wartość to false: podgląd obrazu lub ikona obiektu OLE jest renderowana na stronie PDF, ale osadzony plik nie jest dołączany jako załącznik. Ustawienie opcji na true dodatkowo dołącza dane pliku. Podgląd pozostaje wizualną reprezentacją; załącznik umożliwia odbiorcom otwarcie lub zapisanie osadzonego pliku osobno. Obiekt OLE nie staje się interaktywnym arkuszem Excel na stronie PDF.
Poniższy przykład ładuje prezentację, która już zawiera osadzony skoroszyt Excel i eksportuje ją do PDF z dołączonym skoroszytem.
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setIncludeOleData(true);
$presentation = new Presentation("presentation.pptx");
try {
$presentation->save("presentation.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
- Otwórz wyeksportowany PDF w przeglądarce, która obsługuje załączniki plików, takiej jak Adobe Acrobat Reader.
- Otwórz panel Załączniki przeglądarki i zlokalizuj osadzony skoroszyt.
- Zapisz załącznik i otwórz go w Excelu, aby sprawdzić jego dane, lub otwórz go bezpośrednio, jeśli przeglądarka na to pozwala. Podgląd na stronie PDF jest oddzielny od załącznika.
Note
Standardy PDF/A nakładają ograniczenia na załączniki: PDF/A-1 zabrania osadzonych plików, PDF/A-2 pozwala tylko na załączniki PDF/A, a PDF/A-3 dopuszcza inne typy plików, w tym skoroszyty Excel. Są to wymagania standardów, a nie ograniczenia specyficzne dla Aspose.Slides. Ten przykład używa domyślnego ustawienia zgodności PDF i nie demonstruje eksportu PDF/A.Konwertuj PowerPoint do PDF z ukrytymi slajdami
Jeśli prezentacja zawiera ukryte slajdy, możesz użyć metody setShowHiddenSlides z klasy PdfOptions, aby uwzględnić ukryte slajdy jako strony w powstałym PDF.
Poniższy przykład eksportuje prezentację do PDF, włączając wszystkie ukryte slajdy.
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setShowHiddenSlides(true);
$presentation = new Presentation("PowerPoint.pptx");
try {
$presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Konwertuj PowerPoint do PDF chronionego hasłem
Poniższy przykład eksportuje prezentację do PDF, który wymaga hasła password do otwarcia. Uprawnienia dostępu umożliwiają drukowanie, w tym drukowanie wysokiej jakości.
use aspose\slides\PdfAccessPermissions;
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setPassword("password");
$pdfOptions->setAccessPermissions(PdfAccessPermissions::PrintDocument | PdfAccessPermissions::HighQualityPrint);
$presentation = new Presentation("PowerPoint.pptx");
try {
$presentation->save("PPTX-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Wykryj podstawienia czcionek
Aspose.Slides udostępnia metodę setWarningCallback w klasie PdfOptions, umożliwiając wykrywanie podstawień czcionek podczas procesu konwersji prezentacji do PDF.
Poniższy przykład eksportuje prezentację do PDF i wypisuje ostrzeżenia o podstawieniu czcionek w konsoli. Ostrzeżenie jest wyświetlane tylko wtedy, gdy podczas eksportu podstawiona zostaje niedostępna czcionka.
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\ReturnAction;
use aspose\slides\SaveFormat;
use aspose\slides\WarningType;
class FontSubstitutionHandler {
function warning($warning)
{
if (java_values($warning->getWarningType()) == WarningType::DataLoss && $warning->getDescription()->startsWith("Font will be substituted")) {
echo("Font substitution warning: " . $warning->getDescription());
}
return ReturnAction::Continue;
}
}
$warningCallback = java_closure(new FontSubstitutionHandler(), null, java("com.aspose.slides.IWarningCallback"));
$pdfOptions = new PdfOptions();
$pdfOptions->setWarningCallback($warningCallback);
$presentation = new Presentation("sample.pptx");
try {
$presentation->save("output.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Note
Więcej informacji o podstawieniu czcionek znajdziesz w artykule Font Substitution.Obsługa czcionek bez dedykowanego kroju pogrubionego
Prezentacja może zastosować formatowanie pogrubione do tekstu, nawet gdy czcionka nie ma dedykowanego kroju pogrubionego. Tekst może nadal wyglądać pogrubienie dzięki syntetycznemu pogrubianiu, które sztucznie zagęszcza zwykłe glify. Gdy taki tekst wygląda zbyt ciężko lub różni się od zamierzonego wyglądu w PDF, spróbuj wywołać PdfOptions::setRasterizeUnsupportedFontStyles z wartością true. Ta opcja renderuje dotknięty tekst jako bitmapę podczas eksportu PDF i może poprawić jego wygląd dla niektórych czcionek. Jej domyślna wartość to false.
Przykładowa prezentacja zawiera dwie ramki tekstowe: jedną z normalnym tekstem i jedną z pogrubionym formatowaniem zastosowanym do tej samej czcionki, która nie ma dedykowanego kroju pogrubionego. Poniższy przykład ładuje prezentację, włącza rasteryzację nieobsługiwanych stylów czcionek i eksportuje ją do PDF:
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setRasterizeUnsupportedFontStyles(true);
$presentation = new Presentation("unsupported-bold.pptx");
try {
$presentation->save("rasterized.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Poniższe podglądy pokazują wynik z wyłączoną i włączoną opcją. W tym przykładzie pogrubiony tekst ma cięższe linie przy wyłączonej opcji. Po włączeniu opcji jego linie są lżejsze; tekst normalny pozostaje niezmieniony. Porównaj wyniki przed wybraniem ustawienia dla swojej prezentacji.
Opcja wyłączona (false, domyślnie) |
Opcja włączona (true) |
|---|---|
![]() |
![]() |
W tym przykładzie włączenie opcji zamienia tylko pogrubiony tekst w bitmapę: nie można go zaznaczyć, skopiować ani przeszukać jako tekst bez OCR, a jego krawędzie wydają się miększe przy 800 % powiększeniu. Normalny tekst pozostaje wyszukiwalny. Przy wyłączonej opcji oba ciągi pozostają tekstem.
Ta opcja rasteryzuje tekst sformatowany jako pogrubiony, gdy jego czcionka nie ma dedykowanego kroju pogrubionego. Font substitution zamiast tego wybiera inną czcionkę, gdy oryginalna jest niedostępna.
Konwertuj wybrane slajdy z PowerPoint do PDF
Poniższy przykład eksportuje slajdy 1 i 3 z prezentacji do PDF. Numery slajdów w tej tablicy są numerowane od jedynki, a prezentacja wejściowa musi zawierać co najmniej trzy slajdy.
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation("PowerPoint.pptx");
try {
$slides = array(1, 3);
$presentation->save("PPTX-to-PDF.pdf", $slides, SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
Konwertuj PowerPoint do PDF z niestandardowym rozmiarem slajdu
Poniższy przykład kopiuje pierwszy slajd z prezentacji do nowej prezentacji o rozmiarze slajdu 612 × 792 punktów (8,5 × 11 cali). Skaluje zawartość slajdu, aby dopasować, i eksportuje pojedynczy slajd do PDF.
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\SlideSizeScaleType;
$slideWidth = 612.0;
$slideHeight = 792.0;
$presentation = new Presentation("SelectedSlides.pptx");
$resizedPresentation = new Presentation();
try {
$resizedPresentation->getSlideSize()->setSize($slideWidth, $slideHeight, SlideSizeScaleType::EnsureFit);
$slide = $presentation->getSlides()->get_Item(0);
$resizedPresentation->getSlides()->insertClone(0, $slide);
// Usuń pusty slajd, który został utworzony w nowej prezentacji.
$resizedPresentation->getSlides()->removeAt(1);
$resizedPresentation->save("PDF_with_custom_slide_size.pdf", SaveFormat::Pdf);
} finally {
$resizedPresentation->dispose();
$presentation->dispose();
}
Konwertuj PowerPoint do PDF w widoku notatek slajdu
Poniższy przykład eksportuje prezentację do PDF, umieszczając notatki prelegenta każdego slajdu pod slajdem. Użyj prezentacji zawierającej notatki prelegenta, aby zobaczyć rezultat.
use aspose\slides\NotesCommentsLayoutingOptions;
use aspose\slides\NotesPositions;
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$notesOptions = new NotesCommentsLayoutingOptions();
$notesOptions->setNotesPosition(NotesPositions::BottomFull);
$pdfOptions = new PdfOptions();
$pdfOptions->setSlidesLayoutOptions($notesOptions);
$presentation = new Presentation("SelectedSlides.pptx");
try {
$presentation->save("PDF_with_notes.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Standardy dostępności i zgodności PDF
Aspose.Slides umożliwia użycie procedury konwersji zgodnej z Web Content Accessibility Guidelines (WCAG). Możesz wyeksportować dokument PowerPoint do PDF, stosując dowolny z następujących standardów zgodności: PDF/A1a, PDF/A1b i PDF/UA.
Ten kod demonstruje proces konwersji PowerPoint do PDF, który generuje wiele plików PDF w oparciu o różne standardy zgodności:
$presentation = new Presentation("pres.pptx");
try {
$pdfOptions = new PdfOptions();
$pdfOptions->setCompliance(PdfCompliance::PdfA1a);
$presentation->save("pres-a1a-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
$pdfOptions->setCompliance(PdfCompliance::PdfA1b);
$presentation->save("pres-a1b-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
$pdfOptions->setCompliance(PdfCompliance::PdfUa);
$presentation->save("pres-ua-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Note
Aspose.Slides obsługuje operacje konwersji PDF, umożliwiając konwersję plików PDF do popularnych formatów. Możesz wykonać konwersje PDF do HTML, PDF do obrazu, PDF do JPG, oraz PDF do PNG. Inne operacje konwersji PDF do formatów specjalistycznych — PDF do SVG, PDF do TIFF, i PDF do XML — są również obsługiwane.Uwaga: Podczas eksportu do PDF/UA, Aspose.Slides traktuje złożone grafiki, takie jak SmartArt, wykresy i formuły, jako jedną figurę. Poszczególne elementy ścieżek nie są zachowywane jako oddzielna treść i mogą być oznaczone jako artefakty; tekst alternatywny jest dostarczany tylko dla całej figury.
FAQ
Czy mogę konwertować wiele plików PowerPoint do PDF jednorazowo?
Tak, Aspose.Slides obsługuje konwersję wsadową wielu plików PPT lub PPTX do PDF. Możesz iterować po swoich plikach i programowo zastosować proces konwersji.
Czy możliwe jest zabezpieczenie hasłem przekonwertowanego PDF?
Tak. Użyj klasy PdfOptions aby ustawić hasło i określić uprawnienia dostępu podczas procesu konwersji.
Jak włączyć ukryte slajdy w PDF?
Wywołaj setShowHiddenSlides z wartością true w klasie PdfOptions, aby uwzględnić ukryte slajdy w powstałym PDF.
Czy Aspose.Slides może utrzymać wysoką jakość obrazu w PDF?
Tak, możesz kontrolować jakość obrazu, używając metod takich jak setJpegQuality i setSufficientResolution w klasie PdfOptions, aby zapewnić wysokiej jakości obrazy w PDF.
Czy Aspose.Slides obsługuje standardy zgodności PDF/A?
Tak, Aspose.Slides umożliwia eksport PDF‑ów zgodnych z różnymi standardami, w tym PDF/A1a, PDF/A1b i PDF/UA, zapewniając, że dokumenty spełniają wymagania dotyczące dostępności i archiwizacji.

