Konwertuj PPT i PPTX do PDF w PHP [Zawarte Zaawansowane Funkcje]
Przegląd
Konwertowanie prezentacji PowerPoint (PPT, PPTX, ODP itp.) do formatu PDF w PHP oferuje wiele korzyści, w tym kompatybilność z różnymi urządzeniami oraz zachowanie układu i formatowania prezentacji. Ten przewodnik pokazuje, jak konwertować prezentacje do dokumentów PDF, używać różnych opcji kontroli jakości obrazu, uwzględniać ukryte slajdy, zabezpieczać pliki PDF hasłem, wykrywać zastąpienia czcionek, wybierać konkretne slajdy do konwersji oraz stosować standardy zgodności do dokumentów wyjściowych.
Konwersje PowerPoint do PDF
Przy użyciu Aspose.Slides możesz konwertować prezentacje w następujących formatach do PDF:
- PPT
- PPTX
- ODP
Aby skonwertować prezentację do PDF, przekaż nazwę pliku jako argument do klasy Presentation i następnie zapisz prezentację jako PDF przy użyciu metody save. Klasa Presentation udostępnia metodę save, która zazwyczaj służy 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żesz polecić Aspose.Slides, aby zmieniło lub usunęło te informacje z dokumentów wyjściowych.Aspose.Slides umożliwia konwersję:
- Całych prezentacji do PDF
- Konkretnego zestawu slajdów z prezentacji do PDF
Aspose.Slides eksportuje prezentacje do PDF, zapewniając, że powstałe pliki PDF bardzo dokładnie odzwierciedlają oryginalne prezentacje. Elementy i atrybuty są renderowane precyzyjnie podczas konwersji, w tym:
- Obrazy
- Pola tekstowe i kształty
- Formatowanie tekstu
- Formatowanie akapitów
- 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 stara się skonwertować podaną prezentację do PDF przy użyciu optymalnych ustawień o maksymalnej jakości.
Ten kod pokazuje, jak skonwertować prezentację (PPT, PPTX, ODP itp.) do PDF:
# Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# Zapisz prezentację jako PDF.
$presentation->save("PPT-to-PDF.pdf", SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
Konwertuj PowerPoint do PDF z Opcjami
Aspose.Slides udostępnia niestandardowe opcje — właściwości klasy PdfOptions — pozwalające spersonalizować wynikowy PDF, zabezpieczyć go hasłem lub określić, jak ma przebiegać proces konwersji.
Konwertuj PowerPoint do PDF z Niestandardowymi Opcjami
Używając niestandardowych opcji konwersji, możesz określić preferowane ustawienie jakości dla obrazów rastrowych, określić sposób obsługi metafili, ustawić poziom kompresji tekstu, skonfigurować DPI dla obrazów i wiele innych.
Poniższy przykład kodu pokazuje, jak skonwertować prezentację PowerPoint do PDF z kilkoma niestandardowymi opcjami.
# Utwórz instancję klasy PdfOptions.
$pdfOptions = new PdfOptions();
# Ustaw jakość obrazów JPG.
$pdfOptions->setJpegQuality(90);
# Ustaw DPI dla obrazów.
$pdfOptions->setSufficientResolution(300);
# Ustaw zachowanie dla metaplików.
$pdfOptions->setSaveMetafilesAsPng(true);
# Ustaw poziom kompresji tekstu dla treści tekstowej.
$pdfOptions->setTextCompression(PdfTextCompression::Flate);
# Zdefiniuj tryb zgodności PDF.
$pdfOptions->setCompliance(PdfCompliance::Pdf15);
# Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# Zapisz prezentację jako dokument PDF.
$presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Konwertuj PowerPoint do PDF z Ukrytymi Slajdami
Jeśli prezentacja zawiera ukryte slajdy, możesz użyć metody setShowHiddenSlides klasy PdfOptions, aby uwzględnić ukryte slajdy jako strony w wynikowym PDF.
Ten kod pokazuje, jak skonwertować prezentację PowerPoint do PDF z uwzględnieniem ukrytych slajdów:
# Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# Utwórz instancję klasy PdfOptions.
$pdfOptions = new PdfOptions();
# Dodaj ukryte slajdy.
$pdfOptions->setShowHiddenSlides(true);
# Zapisz prezentację jako PDF.
$presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Konwertuj PowerPoint do PDF zabezpieczonego hasłem
Ten kod demonstruje, jak skonwertować prezentację PowerPoint do PDF zabezpieczonego hasłem, wykorzystując parametry ochrony z klasy PdfOptions:
# Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# Utwórz instancję klasy PdfOptions.
$pdfOptions = new PdfOptions();
# Ustaw hasło PDF i uprawnienia dostępu.
$pdfOptions->setPassword("password");
$pdfOptions->setAccessPermissions(PdfAccessPermissions::PrintDocument | PdfAccessPermissions::HighQualityPrint);
# Zapisz prezentację jako PDF.
$presentation->save("PPTX-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Wykrywanie Zastąpień Czcionek
Aspose.Slides udostępnia metodę setWarningCallback w ramach klasy PdfOptions, umożliwiającą wykrycie zastąpień czcionek podczas konwersji prezentacji do PDF.
Ten kod pokazuje, jak wykrywać zastąpienia czcionek:
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;
}
}
// Ustaw wywołanie zwrotne ostrzeżenia w opcjach PDF.
$pdfOptions = new PdfOptions();
$warningCallback = java_closure(new FontSubstitutionHandler(), null, java("com.aspose.slides.IWarningCallback"));
$pdfOptions->setWarningCallback($warningCallback);
// Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
$presentation = new Presentation("sample.pptx");
try {
// Zapisz prezentację jako PDF.
$presentation->save("output.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Konwertuj wybrane slajdy PowerPoint do PDF
Ten kod demonstruje, jak skonwertować wyłącznie wybrane slajdy z prezentacji PowerPoint do PDF:
# Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# Ustaw tablicę numerów slajdów.
$slides = array(1, 3);
# Zapisz prezentację jako PDF.
$presentation->save("PPTX-to-PDF.pdf", $slides, SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
Konwertuj PowerPoint do PDF z niestandardowym rozmiarem slajdu
Ten kod demonstruje, jak skonwertować prezentację PowerPoint do PDF przy użyciu określonego rozmiaru slajdu:
$slideWidth = 612.0;
$slideHeight = 792.0;
# Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
$presentation = new Presentation("SelectedSlides.pptx");
# Utwórz nową prezentację z dostosowanym rozmiarem slajdu.
$resizedPresentation = new Presentation();
try {
# Ustaw niestandardowy rozmiar slajdu.
$resizedPresentation->getSlideSize()->setSize($slideWidth, $slideHeight, SlideSizeScaleType::EnsureFit);
# Sklonuj pierwszy slajd z oryginalnej prezentacji.
$slide = $presentation->getSlides()->get_Item(0);
$resizedPresentation->getSlides()->insertClone(0, $slide);
# Zapisz przeskalowaną prezentację jako PDF z notatkami.
$resizedPresentation->save("PDFnotes_out.pdf", SaveFormat::Pdf);
} finally {
$resizedPresentation->dispose();
$presentation->dispose();
}
Konwertuj PowerPoint do PDF w widoku notatek slajdu
Ten kod demonstruje, jak skonwertować prezentację PowerPoint do PDF zawierającego notatki:
# Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
$presentation = new Presentation("SelectedSlides.pptx");
try {
# Skonfiguruj opcje PDF z układem notatek.
$notesOptions = new NotesCommentsLayoutingOptions();
$notesOptions->setNotesPosition(NotesPositions::BottomFull);
$pdfOptions = new PdfOptions();
$pdfOptions->setSlidesLayoutOptions($notesOptions);
# Zapisz prezentację jako PDF z notatkami.
$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 oraz 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 i PDF do PNG. Inne operacje konwersji PDF do formatów specjalistycznych — PDF do SVG, PDF do TIFF oraz PDF do XML — są również wspierane.Uwaga: Przy eksporcie do PDF/UA Aspose.Slides traktuje złożoną grafikę, taką jak SmartArt, wykresy i formuły, jako pojedynczą figurę. Poszczególne elementy ścieżek nie są zachowywane jako oddzielna zawartość i mogą być oznaczone jako artefakty; tekst alternatywny jest dostarczany jedynie dla całej figury.
FAQ
Czy mogę konwertować wiele plików PowerPoint do PDF jednocześnie?
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 istnieje możliwość zabezpieczenia konwertowanego PDF hasłem?
Oczywiście. Użyj klasy PdfOptions, aby ustawić hasło i zdefiniować uprawnienia dostępu podczas procesu konwersji.
Jak włączyć ukryte slajdy w PDF?
Użyj metody setShowHiddenSlides w klasie PdfOptions, aby uwzględnić ukryte slajdy w wynikowym PDF.
Czy Aspose.Slides utrzymuje wysoką jakość obrazu w PDF?
Tak, możesz kontrolować jakość obrazu, korzystając z 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 pozwala eksportować PDF spełniające różne standardy, w tym PDF/A1a, PDF/A1b oraz PDF/UA, zapewniając, że twoje dokumenty spełniają wymogi dostępności i archiwizacji.