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
- C++ kullanarak PUB Dosyalarını JPG Görüntülerine Dönüştürün
- C++ kullanarak PUB Dosyalarını PNG Görüntülerine Dönüştürün
- PUB Dosyalarını C++ Kullanarak TIFF Görüntülerine Dönüştürme
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.
- PubFactory::CreateParser(System::String fileName) yöntemini kullanarak PUB dosyasını yükleyin.
- PUB dosyasını ConvertToPdf(System::SharedPtr) kullanarak PDF formatına dönüştürün. doc, System::String fileName) yöntemi.
- Document sınıfını kullanarak oluşturulan PDF dosyasını yükleyin.
- PDF dosyasının sayfaları arasında dolaşın.
- PDF sayfasının boyutlarını alın.
- Çözünürlük sınıfının bir örneğini oluşturun.
- Genişlik, yükseklik ve çözünürlüğü sağlayarak JpegDevice sınıfını oluşturun.
- Çıktı görüntüsü için bir FileStream örneği oluşturun.
- JpegDevice->Process(System::SharedPtr) kullanarak PDF sayfasını JPG görüntüsüne dönüştürün sayfası, System::SharedPtr< System::IO::Stream > çıktı) yöntemi.
- Akışı kapatın.
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.
- PubFactory::CreateParser(System::String fileName) yöntemini kullanarak PUB dosyasını yükleyin.
- PUB dosyasını ConvertToPdf(System::SharedPtr) kullanarak PDF formatına dönüştürün. doc, System::String fileName) yöntemi.
- Belge sınıfını kullanarak oluşturulan PDF dosyasını yükleyin.
- PDF dosyasının sayfaları arasında dolaşın.
- PDF sayfasının boyutlarını alın.
- Çözünürlük sınıfının bir örneğini oluşturun.
- Genişlik, yükseklik ve çözünürlüğü sağlayarak PngDevice sınıfını somutlaştırın.
- Çıktı görüntüsü için bir FileStream örneği oluşturun.
- PngDevice->Process(System::SharedPtr) kullanarak PDF sayfasını PNG görüntüsüne dönüştürün sayfa, Sistem::SharedPtrSystem::IO::Stream çıktı) yöntemi.
- Akışı kapatın.
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.
- PubFactory::CreateParser(System::String fileName) yöntemini kullanarak PUB dosyasını yükleyin.
- PUB dosyasını ConvertToPdf(System::SharedPtr) kullanarak PDF formatına dönüştürün. doc, System::String fileName) yöntemi.
- Belge sınıfını kullanarak oluşturulan PDF dosyasını yükleyin.
- İlk PDF sayfasının boyutlarını alın.
- Resolution sınıfının bir örneğini oluşturun.
- TiffSettings sınıfının bir örneğini oluşturun ve gerekli ayarları yapın.
- Genişlik, yükseklik, çözünürlük ve TiffSettings sağlayarak TiffDevice sınıfını somutlaştırın.
- Çıktı görüntüsü için bir FileStream örneği oluşturun.
- TiffDevice->Process( System::SharedPtr) kullanarak PDF dosyasını TIFF görüntüsüne dönüştürünAspose::Pdf::Document belge, Sayfadan int32t, Sayfaya int32t, System::SharedPtrSystem::IO::Stream çıktı) yöntemi.
- Akışı kapatın.
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.