แปลง PPT และ PPTX เป็น PDF ใน PHP [รวมคุณลักษณะขั้นสูง]
ภาพรวม
การแปลงงานนำเสนอ PowerPoint (PPT, PPTX, ODP ฯลฯ) เป็นรูปแบบ PDF ใน PHP มีข้อได้เปรียบหลายประการ รวมถึงความเข้ากันได้กับอุปกรณ์ต่าง ๆ และการรักษารูปแบบและการจัดหน้าของงานนำเสนอของคุณ คู่มือนี้จะแสดงวิธีการแปลงงานนำเสนอเป็นเอกสาร PDF ใช้ตัวเลือกต่าง ๆ เพื่อควบคุมคุณภาพของภาพ รวมถึงการใส่สไลด์ที่ซ่อนอยู่ ป้องกัน PDF ด้วยรหัสผ่าน ตรวจจับการแทนที่ฟอนต์ เลือกสไลด์เฉพาะสำหรับการแปลง และใช้มาตรฐานการปฏิบัติตามกับเอกสารผลลัพธ์
การแปลง PowerPoint เป็น PDF
โดยใช้ Aspose.Slides คุณสามารถแปลงงานนำเสนอในรูปแบบต่อไปนี้เป็น PDF:
- PPT
- PPTX
- ODP
ในการแปลงงานนำเสนอเป็น PDF ให้ส่งชื่อไฟล์เป็นอาร์กิวเมนต์ให้กับคลาส Presentation แล้วบันทัตว์งานนำเสนอเป็น PDF ด้วยเมธอด save คลาส Presentation แสดงเมธอด save ที่โดยปกติใช้เพื่อแปลงงานนำเสนอเป็น PDF
NOTE
Aspose.Slides for PHP via Java ใส่ข้อมูล API และหมายเลขเวอร์ชันลงในเอกสารผลลัพธ์ ตัวอย่างเช่น เมื่อแปลงงานนำเสนอเป็น PDF, Aspose.Slides จะเติมฟิลด์ Application ด้วย “Aspose.Slides” และฟิลด์ PDF Producer ด้วยค่าในรูปแบบ “Aspose.Slides v XX.XX” Noteว่าคุณไม่สามารถสั่ง Aspose.Slides ให้เปลี่ยนหรือเอาข้อมูลนี้ออกจากเอกสารผลลัพธ์ได้.Aspose.Slides อนุญาตให้คุณแปลง:
- งานนำเสนอทั้งหมดเป็น PDF
- สไลด์เฉพาะจากงานนำเสนอเป็น PDF
Aspose.Slides ส่งออกงานนำเสนอเป็น PDF โดยทำให้ PDF ที่ได้ตรงกับงานนำเสนอเดิมอย่างใกล้เคียง ส่วนประกอบและแอตทริบิวต์จะถูกแสดงอย่างแม่นยำในการแปลง รวมถึง:
- ภาพ
- กล่องข้อความและรูปทรง
- การจัดรูปแบบข้อความ
- การจัดรูปแบบย่อหน้า
- ไฮเปอร์ลิงก์
- หัวกระดาษและท้ายกระดาษ
- สัญลักษณ์หัวข้อย่อย
- ตาราง
แปลง PowerPoint เป็น PDF
กระบวนการแปลง PowerPoint เป็น PDF มาตรฐานใช้ตัวเลือกเริ่มต้น ในกรณีนี้ Aspose.Slides จะพยายามแปลงงานนำเสนอที่ระบุเป็น PDF โดยใช้การตั้งค่าที่เหมาะสมที่สุดที่ระดับคุณภาพสูงสุด
# สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์ PowerPoint หรือ OpenDocument
$presentation = new Presentation("PowerPoint.pptx");
try {
# บันทึกงานนำเสนอเป็น PDF
$presentation->save("PPT-to-PDF.pdf", SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
แปลง PowerPoint เป็น PDF พร้อมตัวเลือก
Aspose.Slides มีตัวเลือกแบบกำหนดเอง — คุณสมบัติภายใต้คลาส PdfOptions — ที่ให้คุณปรับแต่ง PDF ที่ได้, ล็อค PDF ด้วยรหัสผ่าน, หรือระบุวิธีการดำเนินการแปลง
แปลง PowerPoint เป็น PDF ด้วยตัวเลือกแบบกำหนดเอง
โดยใช้ตัวเลือกการแปลงแบบกำหนดเอง คุณสามารถกำหนดการตั้งค่าคุณภาพที่ต้องการสำหรับภาพเรสเตอร์ ระบุวิธีการจัดการเมตาไฟล์ ตั้งระดับการบีบอัดสำหรับข้อความ ปรับค่า DPI สำหรับภาพ และอื่น ๆ
ตัวอย่างโค้ดด้านล่างแสดงวิธีการแปลงงานนำเสนอ PowerPoint เป็น PDF พร้อมตัวเลือกแบบกำหนดเองหลายอย่าง.
# สร้างอินสแตนซ์ของคลาส PdfOptions.
$pdfOptions = new PdfOptions();
# ตั้งค่าคุณภาพสำหรับภาพ JPG.
$pdfOptions->setJpegQuality(90);
# ตั้งค่า DPI สำหรับภาพ.
$pdfOptions->setSufficientResolution(300);
# ตั้งค่าการทำงานสำหรับเมตาไฟล์.
$pdfOptions->setSaveMetafilesAsPng(true);
# ตั้งค่าระดับการบีบอัดข้อความสำหรับเนื้อหาข้อความ.
$pdfOptions->setTextCompression(PdfTextCompression::Flate);
# กำหนดโหมดการปฏิบัติตาม PDF.
$pdfOptions->setCompliance(PdfCompliance::Pdf15);
# สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์ PowerPoint หรือ OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# Save the presentation as a PDF document.
$presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
แปลง PowerPoint เป็น PDF พร้อมสไลด์ที่ซ่อน
ถ้างานนำเสนอมีสไลด์ที่ซ่อนอยู่ คุณสามารถใช้เมธอด setShowHiddenSlides ของคลาส PdfOptions เพื่อใส่สไลด์ที่ซ่อนเป็นหน้าใน PDF ที่ได้
โค้ดนี้แสดงวิธีการแปลงงานนำเสนอ PowerPoint เป็น PDF พร้อมรวมสไลด์ที่ซ่อน:
# สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์ PowerPoint หรือ OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# สร้างอินสแตนซ์ของคลาส PdfOptions.
$pdfOptions = new PdfOptions();
# เพิ่มสไลด์ที่ซ่อนอยู่.
$pdfOptions->setShowHiddenSlides(true);
# บันทึกงานนำเสนอเป็น PDF.
$presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
แปลง PowerPoint เป็น PDF ที่มีการป้องกันด้วยรหัสผ่าน
โค้ดนี้แสดงวิธีการแปลงงานนำเสนอ PowerPoint เป็น PDF ที่มีการป้องกันด้วยรหัสผ่านโดยใช้พารามิเตอร์การป้องกันจากคลาส PdfOptions :
# สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์ PowerPoint หรือ OpenDocument file.
$presentation = new Presentation("PowerPoint.pptx");
try {
# สร้างอินสแตนซ์ของคลาส PdfOptions.
$pdfOptions = new PdfOptions();
# ตั้งรหัสผ่าน PDF และกำหนดสิทธิ์การเข้าถึง.
$pdfOptions->setPassword("password");
$pdfOptions->setAccessPermissions(PdfAccessPermissions::PrintDocument | PdfAccessPermissions::HighQualityPrint);
# บันทึกงานนำเสนอเป็น PDF.
$presentation->save("PPTX-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
ตรวจจับการแทนที่ฟอนต์
Aspose.Slides มีเมธอด setWarningCallback ภายใต้คลาส PdfOptions ที่ช่วยให้คุณตรวจจับการแทนที่ฟอนต์ระหว่างกระบวนการแปลงงานนำเสนอเป็น PDF
โค้ดนี้แสดงวิธีการตรวจจับการแทนที่ฟอนต์:
// ตั้งค่าฟังก์ชันคอลแบ็คการแจ้งเตือนในตัวเลือก PDF.
$pdfOptions = new PdfOptions();
$warningCallback = java_closure(new FontSubstitutionHandler(), null, java("com.aspose.slides.IWarningCallback"));
$pdfOptions->setWarningCallback($warningCallback);
// สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์ PowerPoint หรือ OpenDocument file.
$presentation = new Presentation("sample.pptx");
try {
// บันทึกงานนำเสนอเป็น PDF.
$presentation->save("output.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
แปลงสไลด์ที่เลือกใน PowerPoint เป็น PDF
โค้ดนี้แสดงวิธีการแปลงเฉพาะสไลด์ที่เลือกจากงานนำเสนอ PowerPoint เป็น PDF:
# สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์ PowerPoint หรือ OpenDocument.
$presentation = new Presentation("PowerPoint.pptx");
try {
# ตั้งค่าอาร์เรย์ของหมายเลขสไลด์.
$slides = array(1, 3);
# บันทึกงานนำเสนอเป็น PDF.
$presentation->save("PPTX-to-PDF.pdf", $slides, SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
แปลง PowerPoint เป็น PDF ด้วยขนาดสไลด์ที่กำหนดเอง
โค้ดนี้แสดงวิธีการแปลงงานนำเสนอ PowerPoint เป็น PDF ด้วยขนาดสไลด์ที่ระบุ:
$slideWidth = 612.0;
$slideHeight = 792.0;
# สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์ PowerPoint หรือ OpenDocument file.
$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);
# บันทึกงานนำเสนอที่ปรับขนาดเป็น PDF พร้อมบันทึกย่อ.
$resizedPresentation->save("PDFnotes_out.pdf", SaveFormat::Pdf);
} finally {
$resizedPresentation->dispose();
$presentation->dispose();
}
แปลง PowerPoint เป็น PDF ในมุมมองบันทึกย่อของสไลด์
โค้ดนี้แสดงวิธีการแปลงงานนำเสนอ PowerPoint เป็น PDF ที่รวมบันทึกย่อของสไลด์:
# สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์ PowerPoint หรือ OpenDocument
$presentation = new Presentation("SelectedSlides.pptx");
try {
# กำหนดค่าตัวเลือก PDF ด้วยรูปแบบบันทึกย่อ.
$notesOptions = new NotesCommentsLayoutingOptions();
$notesOptions->setNotesPosition(NotesPositions::BottomFull);
$pdfOptions = new PdfOptions();
$pdfOptions->setSlidesLayoutOptions($notesOptions);
# บันทึกงานนำเสนอเป็น PDF พร้อมบันทึกย่อ.
$presentation->save("PDF_with_notes.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
มาตรฐานการเข้าถึงและการปฏิบัติตามสำหรับ PDF
Aspose.Slides อนุญาตให้คุณใช้ขั้นตอนการแปลงที่สอดคล้องกับ Web Content Accessibility Guidelines (WCAG) คุณสามารถส่งออกเอกสาร PowerPoint เป็น PDF โดยใช้มาตรฐานการปฏิบัติตามเหล่านี้: PDF/A1a, PDF/A1b, และ PDF/UA.
โค้ดนี้แสดงกระบวนการแปลง PowerPoint เป็น PDF ที่สร้าง PDF หลายไฟล์ตามมาตรฐานการปฏิบัติตามที่ต่างกัน:
$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 รองรับการทำงานแปลง PDF ให้เป็นรูปแบบไฟล์ที่นิยม คุณสามารถทำการแปลง PDF to HTML, PDF to image, PDF to JPG, และ PDF to PNG อีกทั้งยังรองรับการแปลง PDF ไปยังรูปแบบพิเศษอื่น ๆ — PDF to SVG, PDF to TIFF, และ PDF to XML — ด้วยNote: เมื่อส่งออกเป็น PDF/UA, Aspose.Slides จะถือกราฟิกซับซ้อนเช่น SmartArt, แผนภูมิ, และสูตรเป็นรูปเดียว องค์ประกอบเส้นทางแยกต่างหากจะไม่ถูกเก็บเป็นเนื้อหาแยกและอาจถูกทำเครื่องหมายเป็นศิลปวัตถุ; ข้อความแทนที่จะให้เฉพาะกับรูปทั้งหมดเท่านั้น.
คำถามที่พบบ่อย
สามารถแปลงไฟล์ PowerPoint หลายไฟล์เป็น PDF อย่างเป็นกลุ่มได้หรือไม่?
ใช่, Aspose.Slides รองรับการแปลงเป็นชุดของไฟล์ PPT หรือ PPTX หลายไฟล์เป็น PDF คุณสามารถวนลูปผ่านไฟล์ของคุณและใช้กระบวนการแปลงแบบโปรแกรมได้
สามารถตั้งรหัสผ่านป้องกัน PDF ที่แปลงแล้วได้หรือไม่?
แน่นอน. ใช้คลาส PdfOptions เพื่อตั้งรหัสผ่านและกำหนดสิทธิ์การเข้าถึงระหว่างกระบวนการแปลง
จะใส่สไลด์ที่ซ่อนใน PDF อย่างไร?
ใช้เมธอด setShowHiddenSlides ในคลาส PdfOptions เพื่อใส่สไลด์ที่ซ่อนใน PDF ที่ได้
Aspose.Slides สามารถรักษาคุณภาพภาพสูงใน PDF ได้หรือไม่?
ใช่, คุณสามารถควบคุมคุณภาพของภาพโดยใช้เมธอดเช่น setJpegQuality และ setSufficientResolution ในคลาส PdfOptions เพื่อให้ได้ภาพคุณภาพสูงใน PDF ของคุณ
Aspose.Slides รองรับมาตรฐานการปฏิบัติตาม PDF/A หรือไม่?
ใช่, Aspose.Slides ให้คุณส่งออก PDF ที่สอดคล้องกับมาตรฐานต่าง ๆ รวมถึง PDF/A1a, PDF/A1b, และ PDF/UA เพื่อให้เอกสารของคุณตรงตามข้อกำหนดการเข้าถึงและการเก็บรักษา