Konversi PPT dan PPTX ke PDF dalam PHP [Fitur Lanjutan Termasuk]
Gambaran Umum
Mengonversi presentasi PowerPoint (PPT, PPTX, ODP, dll.) ke format PDF dalam PHP menawarkan beberapa keuntungan, termasuk kompatibilitas di berbagai perangkat dan mempertahankan tata letak serta format presentasi Anda. Panduan ini menunjukkan cara mengonversi presentasi ke dokumen PDF, menggunakan berbagai opsi untuk mengendalikan kualitas gambar, menyertakan slide tersembunyi, melindungi file PDF dengan kata sandi, mendeteksi substitusi font, memilih slide tertentu untuk konversi, dan menerapkan standar kepatuhan pada dokumen keluaran.
Konversi PowerPoint ke PDF
Dengan Aspose.Slides, Anda dapat mengonversi presentasi dalam format berikut ke PDF:
- PPT
- PPTX
- ODP
Untuk mengonversi presentasi ke PDF, berikan nama file sebagai argumen ke kelas Presentation dan kemudian simpan presentasi sebagai PDF menggunakan metode save. Kelas Presentation menyediakan metode save yang biasanya digunakan untuk mengonversi presentasi ke PDF.
Catatan
Aspose.Slides untuk PHP via Java menyisipkan informasi API dan nomor versinya ke dalam dokumen keluaran. Misalnya, saat mengonversi presentasi ke PDF, Aspose.Slides mengisi bidang Application dengan “Aspose.Slides” dan bidang PDF Producer dengan nilai dalam format “Aspose.Slides v XX.XX”. Catatan bahwa Anda tidak dapat menginstruksikan Aspose.Slides untuk mengubah atau menghapus informasi ini dari dokumen keluaran.Aspose.Slides memungkinkan Anda untuk mengonversi:
- Seluruh presentasi ke PDF
- Slide tertentu dari presentasi ke PDF
Aspose.Slides mengekspor presentasi ke PDF, memastikan PDF yang dihasilkan sangat mirip dengan presentasi aslinya. Elemen dan atribut dirender secara akurat dalam konversi, termasuk:
- Gambar
- Kotak teks dan bentuk
- Pemformatan teks
- Pemformatan paragraf
- Tautan hiper
- Header dan footer
- Bullet
- Tabel
Konversi PowerPoint ke PDF
Proses konversi standar PowerPoint-ke-PDF menggunakan opsi default. Dalam hal ini, Aspose.Slides berusaha mengonversi presentasi yang diberikan ke PDF menggunakan pengaturan optimal pada tingkat kualitas maksimum.
Contoh berikut memuat presentasi dan menyimpan semua slide yang terlihat ke PDF menggunakan pengaturan ekspor default.
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();
}
Catatan
Aspose menawarkan konverter PowerPoint ke PDF gratis secara online yang memperlihatkan proses konversi presentasi ke PDF. Anda dapat menjalankan tes dengan konverter ini untuk implementasi langsung dari prosedur yang dijelaskan di sini.Konversi PowerPoint ke PDF dengan Opsi
Aspose.Slides menyediakan opsi kustom—properti di bawah kelas PdfOptions—yang memungkinkan Anda menyesuaikan PDF yang dihasilkan, mengunci PDF dengan kata sandi, atau menentukan bagaimana proses konversi harus dijalankan.
Konversi PowerPoint ke PDF dengan Opsi Kustom
Menggunakan opsi konversi kustom, Anda dapat menentukan pengaturan kualitas yang diinginkan untuk gambar raster, menentukan cara penanganan metafile, mengatur tingkat kompresi untuk teks, mengonfigurasi DPI untuk gambar, dan lain-lain.
Contoh berikut mengekspor presentasi ke PDF 1.5 dengan kualitas JPEG diatur ke 90, resolusi gambar diatur ke 300 DPI, metafile disimpan sebagai PNG, dan kompresi teks 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();
}
Pilih Kompresi Gambar Secara Otomatis
Ketika sebuah presentasi berisi banyak foto atau tangkapan layar, mengurangi ukuran PDF yang diekspor dapat mempermudah pengiriman email atau pengunduhan. Panggil PdfOptions::setBestImagesCompressionRatio dengan true untuk secara otomatis memilih algoritma kompresi yang paling tepat untuk setiap gambar selama ekspor PDF.
Contoh berikut memuat presentasi yang ada, mengaktifkan pemilihan kompresi gambar otomatis, dan menyimpannya sebagai dokumen PDF. Semua pengaturan ekspor PDF lainnya mempertahankan nilai defaultnya.
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setBestImagesCompressionRatio(true);
$presentation = new Presentation("image-heavy.pptx");
try {
$presentation->save("image-heavy.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Opsi ini memilih algoritma kompresi untuk setiap gambar. Menurunkan nilai yang diberikan ke setJpegQuality justru mengurangi kualitas gambar JPEG, sementara menurunkan nilai yang diberikan ke setSufficientResolution memungkinkan gambar diturunkan ke resolusi lebih rendah, yang dapat mengurangi detail. Mengaktifkan pemilihan kompresi otomatis tidak secara otomatis menurunkan salah satu dari pengaturan ini.
Memilih algoritma kompresi gambar memerlukan waktu pemrosesan dan memori tambahan. Pengurangan ukuran bergantung pada gambar dalam presentasi dan pengaturan ekspor; pengurangan tetap tidak dijamin untuk setiap presentasi.
Pertahankan File OLE Tersemat sebagai Lampiran PDF
Jika sebuah presentasi berisi buku kerja Excel yang tersemat, Anda mungkin ingin penerima PDF dapat mengakses data buku kerja tersebut sekaligus melihat slide. Panggil setIncludeOleData dengan true untuk mempertahankan file OLE tersemat sebagai lampiran dalam PDF yang dihasilkan.
Nilai default adalah false: gambar pratinjau atau ikon objek OLE dirender pada halaman PDF, namun file tersematnya tidak disertakan sebagai lampiran. Mengatur opsi ke true juga menyertakan data file. Pratinjau tetap menjadi representasi visual; lampiran memungkinkan penerima membuka atau menyimpan file tersemat secara terpisah. Objek OLE tidak menjadi lembar kerja Excel interaktif pada halaman PDF.
Contoh berikut memuat presentasi yang sudah berisi buku kerja Excel tersemat dan mengekspornya ke PDF dengan buku kerja terlampir.
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();
}
Untuk memeriksa hasilnya:
- Buka PDF yang diekspor dalam penampil yang mendukung lampiran file, seperti Adobe Acrobat Reader.
- Buka panel Attachments pada penampil dan temukan buku kerja tersemat.
- Simpan lampiran dan buka di Excel untuk memeriksa datanya, atau buka langsung jika penampil mengizinkannya. Pratinjau pada halaman PDF terpisah dari lampiran.
Catatan
Standar PDF/A memberlakukan pembatasan pada lampiran: PDF/A-1 melarang file tersemat, PDF/A-2 hanya mengizinkan lampiran PDF/A, dan PDF/A-3 mengizinkan tipe file lain, termasuk buku kerja Excel. Ini adalah persyaratan standar, bukan pembatasan khusus pada Aspose.Slides. Contoh ini menggunakan pengaturan kepatuhan PDF default dan tidak memperlihatkan ekspor PDF/A.Konversi PowerPoint ke PDF dengan Slide Tersembunyi
Jika sebuah presentasi berisi slide tersembunyi, Anda dapat menggunakan metode setShowHiddenSlides dari kelas PdfOptions untuk menyertakan slide tersembunyi sebagai halaman dalam PDF yang dihasilkan.
Contoh berikut mengekspor presentasi ke PDF, termasuk semua slide tersembunyi.
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();
}
Konversi PowerPoint ke PDF yang Dilindungi Kata Sandi
Contoh berikut mengekspor presentasi ke PDF yang memerlukan kata sandi password untuk dibuka. Izin akses memungkinkan pencetakan, termasuk pencetakan berkualitas tinggi.
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();
}
Deteksi Substitusi Font
Aspose.Slides menyediakan metode setWarningCallback pada kelas PdfOptions, yang memungkinkan Anda mendeteksi substitusi font selama proses konversi presentasi ke PDF.
Contoh berikut mengekspor presentasi ke PDF dan mencetak peringatan substitusi font ke konsol. Peringatan dicetak hanya ketika font yang tidak tersedia digantikan selama ekspor.
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();
}
Catatan
Untuk informasi lebih lanjut tentang substitusi font, lihat artikel Substitusi Font.Tangani Font Tanpa Gaya Tebal Khusus
Presentasi dapat menerapkan pemformatan tebal pada teks meskipun fontnya tidak memiliki gaya tebal khusus. Teks tersebut masih dapat terlihat tebal melalui bold sintetis, yang secara artifisial menebalkan glif standar. Ketika teks tersebut terlihat terlalu berat atau berbeda dari tampilan yang diinginkan dalam PDF, coba panggil PdfOptions::setRasterizeUnsupportedFontStyles dengan true. Opsi ini merender teks yang terkena sebagai bitmap selama ekspor PDF dan dapat memperbaiki penampilannya untuk font tertentu. Nilai defaultnya adalah false.
Presentasi contoh berisi dua kotak teks: satu dengan teks biasa dan satu dengan pemformatan tebal yang diterapkan pada font yang sama, yang tidak memiliki gaya tebal khusus. Contoh berikut memuat presentasi, mengaktifkan rasterisasi gaya font yang tidak didukung, dan mengekspornya ke 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();
}
Pratinjau berikut menunjukkan output dengan opsi dinonaktifkan dan diaktifkan. Dalam contoh ini, teks tebal memiliki goresan lebih tebal ketika opsi dimatikan. Dengan opsi diaktifkan, goresannya lebih ringan; teks biasa tidak berubah. Bandingkan hasilnya sebelum memilih pengaturan untuk presentasi Anda.
Opsi dinonaktifkan (false, default) |
Opsi diaktifkan (true) |
|---|---|
![]() |
![]() |
Dalam contoh ini, mengaktifkan opsi mengubah hanya teks tebal menjadi bitmap: teks tersebut tidak dapat dipilih, disalin, atau dicari sebagai teks tanpa OCR, dan tepinya tampak lebih lembut pada zoom 800%. Teks biasa tetap dapat dicari. Dengan opsi dimatikan, kedua string tetap teks.
Opsi ini meraster teks yang diformat tebal ketika fontnya tidak memiliki gaya tebal khusus. Substitusi Font justru memilih font lain ketika yang asli tidak tersedia.
Konversi Slide Terpilih dari PowerPoint ke PDF
Contoh berikut mengekspor slide 1 dan 3 dari sebuah presentasi ke PDF. Nomor slide dalam array ini mulai dari satu, dan presentasi input harus memiliki setidaknya tiga slide.
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();
}
Konversi PowerPoint ke PDF dengan Ukuran Slide Kustom
Contoh berikut menyalin slide pertama dari sebuah presentasi ke dalam presentasi baru dengan ukuran slide 612 × 792 poin (8,5 × 11 inci). Ia menskala konten slide agar pas dan mengekspor slide tunggal ke 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);
// Hapus slide kosong yang dibuat bersama presentasi baru.
$resizedPresentation->getSlides()->removeAt(1);
$resizedPresentation->save("PDF_with_custom_slide_size.pdf", SaveFormat::Pdf);
} finally {
$resizedPresentation->dispose();
$presentation->dispose();
}
Konversi PowerPoint ke PDF dalam Tampilan Catatan Slide
Contoh berikut mengekspor presentasi ke PDF, menempatkan catatan pembicara setiap slide di bawah slide. Gunakan presentasi yang berisi catatan pembicara untuk melihat hasilnya.
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();
}
Aksesibilitas dan Standar Kepatuhan untuk PDF
Aspose.Slides memungkinkan Anda menggunakan prosedur konversi yang mematuhi Pedoman Aksesibilitas Konten Web (WCAG). Anda dapat mengekspor dokumen PowerPoint ke PDF menggunakan salah satu standar kepatuhan berikut: PDF/A1a, PDF/A1b, dan PDF/UA.
Kode ini memperlihatkan proses konversi PowerPoint-ke-PDF yang menghasilkan beberapa PDF berdasarkan standar kepatuhan yang berbeda:
$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();
}
Catatan
Aspose.Slides mendukung operasi konversi PDF, memungkinkan Anda mengonversi file PDF ke format file populer. Anda dapat melakukan PDF ke HTML, PDF ke gambar, PDF ke JPG, dan PDF ke PNG. Operasi konversi PDF lain ke format khusus—PDF ke SVG, PDF ke TIFF, dan PDF ke XML—juga didukung.Catatan: Saat mengekspor ke PDF/UA, Aspose.Slides memperlakukan grafik kompleks seperti SmartArt, chart, dan formula sebagai satu gambar tunggal. Elemen jalur individu tidak dipertahankan sebagai konten terpisah dan dapat ditandai sebagai artefak; teks alternatif hanya disediakan untuk seluruh gambar.
FAQ
Apakah saya dapat mengonversi beberapa file PowerPoint ke PDF secara massal?
Ya, Aspose.Slides mendukung konversi batch banyak file PPT atau PPTX ke PDF. Anda dapat melakukan iterasi pada file Anda dan menerapkan proses konversi secara programatis.
Apakah memungkinkan melindungi PDF yang dikonversi dengan kata sandi?
Ya. Gunakan kelas PdfOptions untuk menyetel kata sandi dan mendefinisikan izin akses selama proses konversi.
Bagaimana cara menyertakan slide tersembunyi dalam PDF?
Panggil setShowHiddenSlides dengan true pada kelas PdfOptions untuk menyertakan slide tersembunyi dalam PDF yang dihasilkan.
Apakah Aspose.Slides dapat mempertahankan kualitas gambar tinggi dalam PDF?
Ya, Anda dapat mengontrol kualitas gambar dengan menggunakan metode seperti setJpegQuality dan setSufficientResolution pada kelas PdfOptions untuk memastikan gambar berkualitas tinggi dalam PDF Anda.
Apakah Aspose.Slides mendukung standar kepatuhan PDF/A?
Ya, Aspose.Slides memungkinkan Anda mengekspor PDF yang mematuhi berbagai standar, termasuk PDF/A1a, PDF/A1b, dan PDF/UA, memastikan dokumen Anda memenuhi persyaratan aksesibilitas dan arsip.

