C++ kullanarak PUB'u Görüntüye Dönüştürme

Microsoft Publisher (PUB) dosyaları, bilgileri yazdırmak veya yayınlamak için kullanılır. Bu dosyaları paylaşmanız gereken ve alıcı tarafın Microsoft Publisher’a erişiminin olmadığı senaryolar olabilir. Bu gibi durumlarda, paylaşmadan önce bu dosyaları resimlere dönüştürmek yardımcı olabilir. Bu amaçla, bu makale size PUB dosyalarını C++ kullanarak çeşitli görüntü formatlarına nasıl dönüştüreceğinizi öğretecektir.

PUB Dosyalarını Görüntü Biçimine Dönüştürmek için C++ API’leri

Bu dönüştürmeyi gerçekleştirmek için Aspose.PUB for C++ ve Aspose.PDF for C++ API’lerini kullanacağız. İlki, Microsoft Publisher (PUB) dosyalarıyla çalışmak için bir kitaplıkken, ikincisi, PDF dosyalarını oluşturmak, okumak ve değiştirmek için kitaplıktır. PUB dosyalarını PDF formatına dönüştürmek için Aspose.PUB for C++ API’yi ve oluşturulan PDF dosyalarını görüntü formatına dönüştürmek için Aspose.PDF for C++ API’yi kullanacağız. API’leri NuGet aracılığıyla yükleyebilir veya doğrudan İndirilenler bölümünden indirebilirsiniz.

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

C++ kullanarak PUB Dosyalarını JPG Görüntülerine Dönüştürün

PUB dosyalarını JPG resimlere dönüştürme adımları aşağıda verilmiştir.

Aşağıdaki örnek kod, C++ kullanılarak PUB dosyalarının JPG resimlerine nasıl dönüştürüleceğini gösterir.

// Kaynak PUB ve çıktı PDF dosyası yolları
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// PUB dosyasını yükleyin
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// PUB dosyasını PDF'ye dönüştürün
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// Oluşturulan PDF dosyasını yükleyin
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// PDF sayfalarını yineleyin
for (auto page : pdfDocument->get_Pages())
{
	// PDF sayfasının boyutlarını alın
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// Resolution sınıfının bir örneğini oluşturun
	auto resolution = MakeObject<Devices::Resolution>(300);

	// Belirtilen Genişlik, Yükseklik ve Çözünürlük ile JPEG cihazı oluşturun
	auto device = MakeObject<Devices::JpegDevice>(width, height, resolution);

	// Çıktı görüntüsü için Dosya Akışı oluşturun
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.jpg", page->get_Number()));

	// PDF sayfasını JPG görüntüsüne dönüştürün
	device->Process(page, imageStream);

	// akışı kapat
	imageStream->Close();
}

C++ kullanarak PUB Dosyalarını PNG Görüntülerine Dönüştürün

PUB dosyalarını PNG resimlere dönüştürmek için aşağıda verilen adımları izleyin.

Aşağıdaki örnek kod, C++ kullanılarak PUB dosyalarının PNG resimlerine nasıl dönüştürüleceğini gösterir.

// Kaynak PUB ve çıktı PDF dosyası yolları
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// PUB dosyasını yükleyin
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// PUB dosyasını PDF'ye dönüştürün
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// Oluşturulan PDF dosyasını yükleyin
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// PDF sayfalarını yineleyin
for (auto page : pdfDocument->get_Pages())
{
	// PDF sayfasının boyutlarını alın
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// Resolution sınıfının bir örneğini oluşturun
	auto resolution = MakeObject<Devices::Resolution>(300);

	// Belirtilen Genişlik, Yükseklik ve Çözünürlük ile PNG cihazı oluşturun
	auto device = MakeObject<Devices::PngDevice>(width, height, resolution);

	// Çıktı görüntüsü için Dosya Akışı oluşturun
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

	// PDF sayfasını PNG görüntüsüne dönüştürün
	device->Process(page, imageStream);

	// akışı kapat
	imageStream->Close();
}

PUB Dosyalarını C++ Kullanarak TIFF Görüntülerine Dönüştürme

Aşağıda, PUB dosyalarını TIFF görüntülere dönüştürme adımları yer almaktadır.

Aşağıdaki örnek kod, C++ kullanılarak PUB dosyalarının TIFF resimlerine nasıl dönüştürüleceğini gösterir.

// Kaynak PUB ve çıktı PDF dosyası yolları
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// PUB dosyasını yükleyin
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// PUB dosyasını PDF'ye dönüştürün
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// Oluşturulan PDF dosyasını yükleyin
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// İlk PDF sayfasının boyutlarını alın
int width = info->GetPageWidth(1);
int height = info->GetPageHeight(1);

// Resolution sınıfının bir örneğini oluşturun
auto resolution = MakeObject<Devices::Resolution>(300);

// TiffSettings sınıfının bir örneğini oluşturun ve gerekli ayarları yapın
auto settings = MakeObject<Devices::TiffSettings>();
settings->set_Compression(Devices::CompressionType::None);
settings->set_Depth(Devices::ColorDepth::Default);

// Belirtilen Genişlik, Yükseklik, Çözünürlük ve TiffSettings ile TIFF aygıtı oluşturun
auto device = MakeObject<Devices::TiffDevice>(width, height, resolution, settings);

// Çıktı görüntüsü için Dosya Akışı oluşturun
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(u"OutputDirectory\\pdf.tiff");

// PDF dosyasını TIFF görüntüsüne dönüştürün
device->Process(pdfDocument, 1, 1, imageStream);

// akışı kapat
imageStream->Close();

Ücretsiz Lisans Alın

Ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmaksızın deneyebilirsiniz.

Çözüm

Bu makalede, Microsoft Publisher (PUB) dosyalarını C++ kullanarak JPG, PNG ve TIFF resimlerine dönüştürmeyi öğrendiniz. Bunu başarmak için Aspose.PUB for C++ ve Aspose.PDF for C++ API’lerini kullandık. Resmi belgelerini ziyaret ederek bu API’leri ayrıntılı olarak keşfedebilirsiniz. Herhangi bir sorunuz olması durumunda lütfen ücretsiz destek forumumuzdan bize ulaşmaktan çekinmeyin.

Ayrıca bakınız