แปลงงานนำเสนอ PowerPoint เป็น TIFF ใน PHP

บทนำ

TIFF (Tagged Image File Format) คือรูปแบบไฟล์ภาพเรสเตอร์แบบไม่สูญเสียคุณภาพที่ได้รับความนิยมอย่างกว้างขวาง เนื่องจากคุณภาพยอดเยี่ยมและการเก็บรายละเอียดของกราฟิกได้อย่างสมบูรณ์ นักออกแบบ, ช่างภาพ, และผู้จัดพิมพ์บนเดสก์ท็อปมักเลือกใช้ TIFF เพื่อคงหลายชั้น, ความแม่นยำของสี, และการตั้งค่าเดิมของภาพ

โดยใช้ Aspose.Slides คุณสามารถแปลงสไลด์ PowerPoint (PPT, PPTX) และสไลด์ OpenDocument (ODP) เป็นภาพ TIFF คุณภาพสูงได้อย่างง่ายดาย ทำให้การนำเสนอของคุณคงความละเอียดสูงสุดของภาพ

แปลงงานพรีเซนเทชันเป็น TIFF

โดยใช้เมธอด save ที่มาจากคลาส Presentation คุณสามารถแปลงงานพรีเซนเทชัน PowerPoint ทั้งหมดเป็น TIFF ได้อย่างรวดเร็ว ภาพ TIFF ที่ได้จะสอดคล้องกับขนาดสไลด์เริ่มต้น

โค้ดตัวอย่างแสดงวิธีแปลงงานพรีเซนเทชัน PowerPoint เป็น TIFF:

// สร้างอินสแตนซ์ของคลาส Presentation ที่เป็นตัวแทนของไฟล์งานนำเสนอ (PPT, PPTX, ODP ฯลฯ).
$presentation = new Presentation("presentation.pptx");
try {
    // บันทึกงานนำเสนอเป็น TIFF.
    $presentation->save("output.tiff", SaveFormat::Tiff);
} finally {
    $presentation->dispose();
}

แปลงงานพรีเซนเทชันเป็น TIFF ขาว-ดำ

เมธอด setBwConversionMode ในคลาส TiffOptions ให้คุณกำหนดอัลกอริทึมที่ใช้เมื่อแปลงสไลด์หรือภาพสีเป็น TIFF ขาว-ดำ โปรดทราบว่าการตั้งค่านี้ใช้ได้เฉพาะเมื่อเมธอด setCompressionType ถูกตั้งค่าเป็น CCITT4 หรือ CCITT3

สมมติว่าเรามีไฟล์ “sample.pptx” ที่มีสไลด์ดังต่อไปนี้:

สไลด์การนำเสนอ

โค้ดตัวอย่างแสดงวิธีแปลงสไลด์สีเป็น TIFF ขาว-ดำ:

$tiffOptions = new TiffOptions();
$tiffOptions->setCompressionType(TiffCompressionTypes::CCITT4);
$tiffOptions->setBwConversionMode(BlackWhiteConversionMode::Dithering);

$presentation = new Presentation("sample.pptx");
try {
    $presentation->save("output.tiff", SaveFormat::Tiff, $tiffOptions);
} finally {
    $presentation->dispose();
}

ผลลัพธ์:

TIFF ขาว-ดำ

แปลงงานพรีเซนเทชันเป็น TIFF ด้วยขนาดกำหนดเอง

หากคุณต้องการภาพ TIFF ที่มีขนาดเฉพาะ คุณสามารถตั้งค่าตามที่ต้องการได้โดยใช้เมธอดที่มีใน TiffOptions ตัวอย่างเช่น เมธอด setImageSize ให้คุณระบุขนาดของภาพผลลัพธ์

โค้ดตัวอย่างแสดงวิธีแปลงงานพรีเซนเทชัน PowerPoint เป็นภาพ TIFF ที่มีขนาดกำหนดเอง:

// สร้างอินสแตนซ์ของคลาส Presentation ที่เป็นตัวแทนของไฟล์งานนำเสนอ (PPT, PPTX, ODP ฯลฯ).
$presentation = new Presentation("presentation.pptx");
try {
    $tiffOptions = new TiffOptions();

    // ตั้งค่าประเภทการบีบอัด.
    $tiffOptions->setCompressionType(TiffCompressionTypes::Default);
    /*
    ประเภทการบีบอัด:
        Default - ระบุแผนการบีบอัดเริ่มต้น (LZW).
        None - ระบุว่าไม่มีการบีบอัด.
        CCITT3
        CCITT4
        LZW
        RLE
    */

    // ความลึกขึ้นอยู่กับประเภทการบีบอัดและไม่สามารถตั้งค่าได้ด้วยตนเอง.

    // ตั้งค่า DPI ของภาพ.
    $tiffOptions->setDpiX(200);
    $tiffOptions->setDpiY(200);

    // ตั้งค่าขนาดภาพ.
    $tiffOptions->setImageSize(new Java("java.awt.Dimension", 1728, 1078));

    $notesOptions = new NotesCommentsLayoutingOptions();
    $notesOptions->setNotesPosition(NotesPositions::BottomFull);
    $tiffOptions->setSlidesLayoutOptions($notesOptions);

    // บันทึกงานนำเสนอเป็น TIFF ด้วยขนาดที่ระบุ.
    $presentation->save("tiff-ImageSize.tiff", SaveFormat::Tiff, $tiffOptions);
} finally {
    $presentation->dispose();
}

แปลงงานพรีเซนเทชันเป็น TIFF ด้วยรูปแบบพิกเซลของภาพที่กำหนดเอง

โดยใช้เมธอด setPixelFormat จากคลาส TiffOptions คุณสามารถกำหนดรูปแบบพิกเซลที่ต้องการสำหรับภาพ TIFF ผลลัพธ์ได้

โค้ดตัวอย่างแสดงวิธีแปลงงานพรีเซนเทชัน PowerPoint เป็นภาพ TIFF ที่มีรูปแบบพิกเซลกำหนดเอง:

// สร้างอินสแตนซ์ของคลาส Presentation ที่เป็นตัวแทนของไฟล์งานนำเสนอ (PPT, PPTX, ODP ฯลฯ).
$presentation = new Presentation("presentation.pptx");
try {
    $tiffOptions = new TiffOptions();

    $tiffOptions->setPixelFormat(ImagePixelFormat::Format8bppIndexed);
    /*
    ImagePixelFormat มีค่าต่อไปนี้ (ตามที่ระบุในเอกสาร):
        Format1bppIndexed - 1 บิตต่อพิกเซล, แบบดัชนี.
        Format4bppIndexed - 4 บิตต่อพิกเซล, แบบดัชนี.
        Format8bppIndexed - 8 บิตต่อพิกเซล, แบบดัชนี.
        Format24bppRgb    - 24 บิตต่อพิกเซล, RGB.
        Format32bppArgb   - 32 บิตต่อพิกเซล, ARGB.
    */

    // บันทึกงานนำเสนอเป็น TIFF ด้วยขนาดภาพที่ระบุ.
    $presentation->save("Tiff-PixelFormat.tiff", SaveFormat::Tiff, $tiffOptions);
} finally {
    $presentation->dispose();
}

FAQ

ฉันสามารถแปลงสไลด์เดี่ยวแทนการแปลงงานพรีเซนเทชันทั้งหมดเป็น TIFF ได้หรือไม่?

ได้เลย Aspose.Slides รองรับการแปลงสไลด์เดี่ยวจากงานพรีเซนเทชัน PowerPoint หรือ OpenDocument เป็นภาพ TIFF แยกกัน

มีขีดจำกัดจำนวนสไลด์เมื่อแปลงงานพรีเซนเทชันเป็น TIFF หรือไม่?

ไม่มี Aspose.Slides ไม่ได้กำหนดข้อจำกัดใด ๆ สำหรับจำนวนสไลด์ คุณสามารถแปลงงานพรีเซนเทชันขนาดใดก็ได้เป็นรูปแบบ TIFF

ภาพเคลื่อนไหวและเอฟเฟกต์การเปลี่ยนของ PowerPoint จะถูกเก็บไว้เมื่อตอนแปลงสไลด์เป็น TIFF หรือไม่?

ไม่เช่นนั้น TIFF เป็นรูปแบบภาพนิ่ง ดังนั้นภาพเคลื่อนไหวและเอฟเฟกต์การเปลี่ยนจะไม่ถูกเก็บไว้ มีเพียงภาพนิ่งของสไลด์เท่านั้นที่ถูกส่งออก