PHP에서 PowerPoint 프레젠테이션을 TIFF로 변환

소개

TIFF (Tagged Image File Format)은 널리 사용되는 무손실 래스터 이미지 형식으로, 뛰어난 품질과 그래픽의 상세한 보존으로 알려져 있습니다. 디자이너, 사진작가 및 데스크톱 퍼블리셔는 종종 이미지의 레이어, 색 정확도 및 원본 설정을 유지하기 위해 TIFF를 선택합니다.

Aspose.Slides를 사용하면 PowerPoint 슬라이드(PPT, PPTX)와 OpenDocument 슬라이드(ODP)를 직접 고품질 TIFF 이미지로 손쉽게 변환할 수 있어 프레젠테이션이 최대한의 시각적 사실성을 유지합니다.

프레젠테이션을 TIFF로 변환

제공되는 save 메서드와 Presentation 클래스를 사용하면 전체 PowerPoint 프레젠테이션을 빠르게 TIFF로 변환할 수 있습니다. 결과 TIFF 이미지는 기본 슬라이드 크기에 해당합니다.

다음 코드는 PowerPoint 프레젠테이션을 TIFF로 변환하는 방법을 보여줍니다:

// 프레젠테이션 파일(PPT, PPTX, ODP 등)을 나타내는 Presentation 클래스를 인스턴스화합니다.
$presentation = new Presentation("presentation.pptx");
try {
    // 프레젠테이션을 TIFF 형식으로 저장합니다.
    $presentation->save("output.tiff", SaveFormat::Tiff);
} finally {
    $presentation->dispose();
}

프레젠테이션을 흑백 TIFF로 변환

TiffOptions 클래스의 setBwConversionMode 메서드는 컬러 슬라이드나 이미지를 흑백 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 이미지로 변환하는 방법을 보여줍니다:

// 프레젠테이션 파일(PPT, PPTX, ODP 등)을 나타내는 Presentation 클래스를 인스턴스화합니다.
$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로 변환

TiffOptions 클래스의 setPixelFormat 메서드를 사용하면 결과 TIFF 이미지에 원하는 픽셀 형식을 지정할 수 있습니다.

다음 코드는 사용자 지정 픽셀 형식으로 PowerPoint 프레젠테이션을 TIFF 이미지로 변환하는 방법을 보여줍니다:

// 프레젠테이션 파일(PPT, PPTX, ODP 등)을 나타내는 Presentation 클래스를 인스턴스화합니다.
$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();
}

자주 묻는 질문

전체 PowerPoint 프레젠테이션이 아니라 개별 슬라이드를 TIFF로 변환할 수 있나요?

예. Aspose.Slides를 사용하면 PowerPoint 및 OpenDocument 프레젠테이션의 개별 슬라이드를 별도로 TIFF 이미지로 변환할 수 있습니다.

프레젠테이션을 TIFF로 변환할 때 슬라이드 수에 제한이 있나요?

아니요, Aspose.Slides는 슬라이드 수에 제한을 두지 않습니다. 어떤 크기의 프레젠테이션도 TIFF 형식으로 변환할 수 있습니다.

PowerPoint 애니메이션 및 전환 효과가 슬라이드를 TIFF로 변환할 때 보존되나요?

아니요, TIFF는 정적인 이미지 형식입니다. 따라서 애니메이션 및 전환 효과는 보존되지 않으며, 슬라이드의 정적 스냅샷만 내보내집니다.