Konwertuj PUB na obraz za pomocą C++

Pliki Microsoft Publisher (PUB) służą do drukowania lub publikowania informacji. Mogą zaistnieć sytuacje, w których musisz udostępnić te pliki, a odbiorca nie ma dostępu do programu Microsoft Publisher. W takich przypadkach konwersja tych plików na obrazy przed udostępnieniem może okazać się pomocna. W tym celu w tym artykule dowiesz się, jak konwertować pliki PUB do różnych formatów obrazów przy użyciu C++.

Interfejsy API języka C++ do konwertowania plików PUB do formatu obrazu

Do wykonania tej konwersji użyjemy interfejsów API Aspose.PUB for C++ i Aspose.PDF for C++. Pierwsza to biblioteka do pracy z plikami Microsoft Publisher (PUB), druga to biblioteka do tworzenia, czytania i modyfikowania plików PDF. Użyjemy Aspose.PUB for C++ API do konwersji plików PUB do formatu PDF oraz Aspose.PDF for C++ API do konwersji wygenerowanych plików PDF do formatu obrazu. Możesz zainstalować interfejsy API przez NuGet lub pobrać je bezpośrednio z sekcji Downloads.

PM> Install-Package Aspose.PUB.Cpp
PM> Install-Package Aspose.PDF.Cpp

Konwertuj pliki PUB na obrazy JPG za pomocą C ++

Poniżej przedstawiono kroki konwersji plików PUB na obrazy JPG.

Poniższy przykładowy kod pokazuje, jak konwertować pliki PUB na obrazy JPG przy użyciu języka C++.

// Źródło PUB i wyjściowe ścieżki plików PDF
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// Załaduj plik PUB
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// Konwertuj plik PUB do formatu PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// Załaduj wygenerowany plik PDF
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// Iteruj przez strony PDF
for (auto page : pdfDocument->get_Pages())
{
	// Pobierz wymiary strony PDF
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// Utwórz instancję klasy Resolution
	auto resolution = MakeObject<Devices::Resolution>(300);

	// Utwórz urządzenie JPEG o określonej szerokości, wysokości i rozdzielczości
	auto device = MakeObject<Devices::JpegDevice>(width, height, resolution);

	// Utwórz strumień plików dla obrazu wyjściowego
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.jpg", page->get_Number()));

	// Konwertuj stronę PDF na obraz JPG
	device->Process(page, imageStream);

	// Zamknij strumień
	imageStream->Close();
}

Konwertuj pliki PUB na obrazy PNG za pomocą C++

Aby przekonwertować pliki PUB na obrazy PNG, wykonaj czynności podane poniżej.

Poniższy przykładowy kod pokazuje, jak konwertować pliki PUB na obrazy PNG przy użyciu języka C++.

// Źródło PUB i wyjściowe ścieżki plików PDF
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// Załaduj plik PUB
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// Konwertuj plik PUB do formatu PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// Załaduj wygenerowany plik PDF
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// Iteruj przez strony PDF
for (auto page : pdfDocument->get_Pages())
{
	// Pobierz wymiary strony PDF
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// Utwórz instancję klasy Resolution
	auto resolution = MakeObject<Devices::Resolution>(300);

	// Utwórz urządzenie PNG o określonej szerokości, wysokości i rozdzielczości
	auto device = MakeObject<Devices::PngDevice>(width, height, resolution);

	// Utwórz strumień plików dla obrazu wyjściowego
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

	// Konwertuj stronę PDF na obraz PNG
	device->Process(page, imageStream);

	// Zamknij strumień
	imageStream->Close();
}

Konwersja plików PUB do obrazów TIFF przy użyciu języka C++

Poniżej przedstawiono kroki konwersji plików PUB na obrazy TIFF.

Poniższy przykładowy kod ilustruje sposób konwertowania plików PUB na obrazy TIFF przy użyciu języka C++.

// Źródło PUB i wyjściowe ścieżki plików PDF
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// Załaduj plik PUB
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// Konwertuj plik PUB do formatu PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// Załaduj wygenerowany plik PDF
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// Uzyskaj wymiary pierwszej strony PDF
int width = info->GetPageWidth(1);
int height = info->GetPageHeight(1);

// Utwórz instancję klasy Resolution
auto resolution = MakeObject<Devices::Resolution>(300);

// Utwórz instancję klasy TiffSettings i ustaw wymagane ustawienia
auto settings = MakeObject<Devices::TiffSettings>();
settings->set_Compression(Devices::CompressionType::None);
settings->set_Depth(Devices::ColorDepth::Default);

// Utwórz urządzenie TIFF z określoną szerokością, wysokością, rozdzielczością i ustawieniami Tiff
auto device = MakeObject<Devices::TiffDevice>(width, height, resolution, settings);

// Utwórz strumień plików dla obrazu wyjściowego
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(u"OutputDirectory\\pdf.tiff");

// Konwertuj plik PDF na obraz TIFF
device->Process(pdfDocument, 1, 1, imageStream);

// Zamknij strumień
imageStream->Close();

Uzyskaj bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się konwertować pliki Microsoft Publisher (PUB) na obrazy JPG, PNG i TIFF przy użyciu języka C++. Aby to osiągnąć, wykorzystaliśmy interfejsy API Aspose.PUB dla języka C++ i Aspose.PDF dla języka C++. Możesz szczegółowo zapoznać się z tymi interfejsami API, odwiedzając ich oficjalną dokumentację. W przypadku jakichkolwiek pytań prosimy o kontakt z nami na naszym darmowym forum pomocy technicznej.

Zobacz też