Konwertowanie prezentacji PowerPoint do TIFF w C++

Wprowadzenie

TIFF (Tagged Image File Format) to szeroko stosowany, bezstratny format rastrowych obrazów znany ze swojej wyjątkowej jakości i szczegółowego zachowania grafiki. Projektanci, fotografowie i wydawcy komputerowi często wybierają TIFF, aby zachować warstwy, dokładność kolorów i oryginalne ustawienia w swoich obrazach.

Korzystając z Aspose.Slides, możesz bez wysiłku konwertować swoje slajdy PowerPoint (PPT, PPTX) oraz slajdy OpenDocument (ODP) bezpośrednio na wysokiej jakości obrazy TIFF, zapewniając maksymalną wierność wizualną prezentacji.

Konwertowanie prezentacji do formatu TIFF

Korzystając z metody Save udostępnionej przez klasę Presentation, możesz szybko przekształcić całą prezentację PowerPoint do formatu TIFF. Powstałe obrazy TIFF odpowiadają domyślnemu rozmiarowi slajdu.

#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System;

// Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji (PPT, PPTX, ODP itp.).
auto presentation = MakeObject<Presentation>(u"Demo_File.pptx");

// Zapisz prezentację jako TIFF.
presentation->Save(u"Output.tiff", SaveFormat::Tiff);

presentation->Dispose();

Konwertowanie prezentacji do czarno-białego TIFF

Metoda set_BwConversionMode w klasie TiffOptions umożliwia określenie algorytmu używanego przy konwersji kolorowego slajdu lub obrazu do czarno-białego TIFF. Zauważ, że to ustawienie ma zastosowanie tylko wtedy, gdy metoda set_CompressionType jest ustawiona na CCITT4 lub CCITT3.

Załóżmy, że mamy plik „sample.pptx” z następującym slajdem:

Slajd prezentacji

#include <DOM/Presentation.h>
#include <Export/BlackWhiteConversionMode.h>
#include <Export/SaveFormat.h>
#include <Export/TiffCompressionTypes.h>
#include <Export/TiffOptions.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System;

auto tiffOptions = MakeObject<TiffOptions>();
tiffOptions->set_CompressionType(TiffCompressionTypes::CCITT4);
tiffOptions->set_BwConversionMode(BlackWhiteConversionMode::Dithering);

auto presentation = MakeObject<Presentation>(u"sample.pptx");
presentation->Save(u"output.tiff", SaveFormat::Tiff, tiffOptions);

presentation->Dispose();

Wynik:

Czarno‑biały TIFF

Konwertowanie prezentacji do TIFF o niestandardowym rozmiarze

Jeśli potrzebujesz obrazu TIFF o określonych wymiarach, możesz ustawić żądane wartości przy użyciu metod dostępnych w TiffOptions. Na przykład metoda set_ImageSize pozwala określić rozmiar wynikowego obrazu.

#include <DOM/Presentation.h>
#include <Export/NotesCommentsLayoutingOptions.h>
#include <Export/NotesPositions.h>
#include <Export/SaveFormat.h>
#include <Export/TiffCompressionTypes.h>
#include <Export/TiffOptions.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System;

// Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji (PPT, PPTX, ODP itp.).
auto presentation = MakeObject<Presentation>(u"sample.pptx");

auto tiffOptions = MakeObject<TiffOptions>();

// Ustaw typ kompresji.
tiffOptions->set_CompressionType(TiffCompressionTypes::Default);
/*
Typy kompresji:
    Default - Określa domyślny schemat kompresji (LZW).
    None - Określa brak kompresji.
    CCITT3
    CCITT4
    LZW
    RLE
*/

// Głębokość zależy od typu kompresji i nie może być ustawiona ręcznie.

// Ustaw DPI obrazu.
tiffOptions->set_DpiX(200);
tiffOptions->set_DpiY(200);

// Ustaw rozmiar obrazu.
tiffOptions->set_ImageSize(System::Drawing::Size(1728, 1078));

auto notesOptions = MakeObject<NotesCommentsLayoutingOptions>();
notesOptions->set_NotesPosition(NotesPositions::BottomFull);
tiffOptions->set_SlidesLayoutOptions(notesOptions);

// Zapisz prezentację jako TIFF o określonym rozmiarze.
presentation->Save(u"custom_size.tiff", SaveFormat::Tiff, tiffOptions);

presentation->Dispose();

Konwertowanie prezentacji do TIFF z niestandardowym formatem pikseli obrazu

Korzystając z metody set_PixelFormat klasy TiffOptions, możesz określić preferowany format pikseli dla powstałego obrazu TIFF.

#include <DOM/Presentation.h>
#include <Export/ImagePixelFormat.h>
#include <Export/SaveFormat.h>
#include <Export/TiffOptions.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System;

// Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji (PPT, PPTX, ODP itp.).
auto presentation = MakeObject<Presentation>(u"Demo_File.pptx");

auto tiffOptions = MakeObject<TiffOptions>();

tiffOptions->set_PixelFormat(ImagePixelFormat::Format8bppIndexed);
/*
ImagePixelFormat zawiera następujące wartości (zgodnie z dokumentacją):
    Format1bppIndexed - 1 bit na piksel, indeksowany.
    Format4bppIndexed - 4 bity na piksel, indeksowany.
    Format8bppIndexed - 8 bitów na piksel, indeksowany.
    Format24bppRgb    - 24 bity na piksel, RGB.
    Format32bppArgb   - 32 bity na piksel, ARGB.
*/

// Zapisz prezentację jako TIFF o określonym rozmiarze obrazu.
presentation->Save(u"Custom_Image_Pixel_Format.tiff", SaveFormat::Tiff, tiffOptions);

presentation->Dispose();

FAQ

Czy mogę konwertować pojedynczy slajd zamiast całej prezentacji PowerPoint do TIFF?

Tak. Aspose.Slides umożliwia konwertowanie pojedynczych slajdów z prezentacji PowerPoint i OpenDocument na obrazy TIFF osobno.

Czy istnieje limit liczby slajdów przy konwersji prezentacji do TIFF?

Nie, Aspose.Slides nie nakłada żadnych ograniczeń dotyczących liczby slajdów. Możesz konwertować prezentacje dowolnej wielkości do formatu TIFF.

Czy animacje i efekty przejść PowerPoint są zachowywane przy konwersji slajdów do TIFF?

Nie, TIFF jest formatem obrazu statycznego. Dlatego animacje i efekty przejść nie są zachowywane; eksportowane są jedynie statyczne migawki slajdów.