C++ kullanarak XPS veya OXPS Dosyalarını PDF Formatına Dönüştürün

XPS ve OXPS belgeleri düzeni, görünümü ve yazdırma bilgilerini tanımlar. Bu belgeler PDF dosyalarına benzer. PDF formatının yüksek popülaritesi nedeniyle, kendinizi XPS ve OXPS belgelerini PDF formatına dönüştürmeniz gereken durumlarda bulabilirsiniz. Bu amaçla, bu makale size XPS ve OXPS belgelerini C++ kullanarak PDF formatına nasıl dönüştüreceğinizi öğretecektir.

XPS ve OXPS Belgelerini PDF Biçimine Dönüştürmek için C++ API

Aspose.Page for C++, XPS ve PostScript dosyalarını işlemek ve işlemek için kullanılan bir C++ kitaplığıdır. XPS belgeleri oluşturmanıza, okumanıza ve güncellemenize olanak tanır. Ayrıca API, XPS ve OXPS belgelerinin PDF formatına dönüştürülmesini destekler. API’yi NuGet aracılığıyla yükleyebilir veya doğrudan indirilenler bölümünden indirebilirsiniz.

PM> Install-Package Aspose.Page.Cpp

XPS/OXPS Belgelerini PDF Formatına Dönüştürün

Aşağıda, XPS ve OXPS belgelerini PDF biçimine dönüştürme adımları yer almaktadır.

Aşağıdaki örnek kod, XPS/OXPS belgelerinin C++ kullanılarak PDF biçimine nasıl dönüştürüleceğini gösterir.

// Çıktı dosyası
System::SharedPtr<System::IO::Stream> pdfStream = System::IO::File::Open(u"OutputDirectory\\XPStoPDF.pdf", System::IO::FileMode::Create, System::IO::FileAccess::Write);
// Kaynakları 'kullanma' ifadesi altında temizleme
System::Details::DisposeGuard<1> __dispose_guard_1({ pdfStream });
// ------------------------------------------
try {
	// Kaynak dosyası
	System::SharedPtr<System::IO::Stream> xpsStream = System::IO::File::Open(u"SourceDirectory\\sample.xps", System::IO::FileMode::Open, System::IO::FileAccess::Read);
	// Kaynakları 'kullanma' ifadesi altında temizleme
	System::Details::DisposeGuard<1> __dispose_guard_0({ xpsStream });
	// ------------------------------------------

	try
	{
		// Akıştan XPS belgesi yükleyin
		System::SharedPtr<XpsDocument> document = System::MakeObject<XpsDocument>(xpsStream, System::MakeObject<XpsLoadOptions>());
		// veya XPS belgesini doğrudan dosyadan yükleyin. O zaman xpsStream gerekmez.
		// XpsDocument belgesi = new XpsDocument(inputFileName, new XpsLoadOptions());

		// Gerekli parametrelerle PdfSaveOptions nesnesini başlatın.
		System::SharedPtr<Aspose::Page::XPS::Presentation::Pdf::PdfSaveOptions> options = [&] {
			auto tmp_0 = System::MakeObject<Aspose::Page::XPS::Presentation::Pdf::PdfSaveOptions>();
			tmp_0->set_JpegQualityLevel(100);
			tmp_0->set_ImageCompression(Aspose::Page::XPS::Presentation::Pdf::PdfImageCompression::Jpeg);
			tmp_0->set_TextCompression(Aspose::Page::XPS::Presentation::Pdf::PdfTextCompression::Flate);
			return tmp_0;
		}();

		// PDF formatı için işleme cihazı oluşturun
		System::SharedPtr<Aspose::Page::XPS::Presentation::Pdf::PdfDevice> device = System::MakeObject<Aspose::Page::XPS::Presentation::Pdf::PdfDevice>(pdfStream);

		// PDF dosyasını kaydet
		document->Save(device, options);
	}
	catch (...)
	{
		__dispose_guard_0.SetCurrentException(std::current_exception());
	}
}
catch (...)
{
	__dispose_guard_1.SetCurrentException(std::current_exception());
}
Örnek kod tarafından oluşturulan çıktı PDF dosyasının görüntüsü

Örnek kod tarafından oluşturulan çıktı PDF dosyasının görüntüsü

XPS/OXPS Belgelerinin Seçilen Sayfalarını PDF Formatına Dönüştürün

XPS ve OXPS dosyalarını PDF formatına dönüştürürken dönüştürmek istediğiniz sayfaları da belirtebilirsiniz. Çıktı PDF dosyası yalnızca seçtiğiniz sayfaları içerecektir. Bunu başarmak için lütfen aşağıda verilen adımları izleyin.

Aşağıdaki örnek kod, XPS ve OXPS belgelerinin seçili sayfalarının C++ kullanılarak PDF biçimine nasıl dönüştürüleceğini gösterir.

// Çıktı dosyası
System::SharedPtr<System::IO::Stream> pdfStream = System::IO::File::Open(u"OutputDirectory\\XPStoPDF.pdf", System::IO::FileMode::Create, System::IO::FileAccess::Write);
// Kaynakları 'kullanma' ifadesi altında temizleme
System::Details::DisposeGuard<1> __dispose_guard_1({ pdfStream });
// ------------------------------------------
try {
	// Kaynak dosyası
	System::SharedPtr<System::IO::Stream> xpsStream = System::IO::File::Open(u"SourceDirectory\\sample.xps", System::IO::FileMode::Open, System::IO::FileAccess::Read);
	// Kaynakları 'kullanma' ifadesi altında temizleme
	System::Details::DisposeGuard<1> __dispose_guard_0({ xpsStream });
	// ------------------------------------------

	try
	{
		// Akıştan XPS belgesi yükleyin
		System::SharedPtr<XpsDocument> document = System::MakeObject<XpsDocument>(xpsStream, System::MakeObject<XpsLoadOptions>());
		// veya XPS belgesini doğrudan dosyadan yükleyin. O zaman xpsStream gerekmez.
		// XpsDocument belgesi = new XpsDocument(inputFileName, new XpsLoadOptions());

		// Gerekli parametrelerle PdfSaveOptions nesnesini başlatın.
		System::SharedPtr<Aspose::Page::XPS::Presentation::Pdf::PdfSaveOptions> options = [&] {
			auto tmp_0 = System::MakeObject<Aspose::Page::XPS::Presentation::Pdf::PdfSaveOptions>();
			tmp_0->set_JpegQualityLevel(100);
			tmp_0->set_ImageCompression(Aspose::Page::XPS::Presentation::Pdf::PdfImageCompression::Jpeg);
			tmp_0->set_TextCompression(Aspose::Page::XPS::Presentation::Pdf::PdfTextCompression::Flate);
			tmp_0->set_PageNumbers(System::MakeArray<int32_t>({ 1, 3 }));
			return tmp_0;
		}();

		// PDF formatı için işleme cihazı oluşturun
		System::SharedPtr<Aspose::Page::XPS::Presentation::Pdf::PdfDevice> device = System::MakeObject<Aspose::Page::XPS::Presentation::Pdf::PdfDevice>(pdfStream);

		// PDF dosyasını kaydet
		document->Save(device, options);
	}
	catch (...)
	{
		__dispose_guard_0.SetCurrentException(std::current_exception());
	}
}
catch (...)
{
	__dispose_guard_1.SetCurrentException(std::current_exception());
}
Örnek kod tarafından oluşturulan çıktı PDF dosyasının görüntüsü

Örnek kod tarafından oluşturulan çıktı PDF dosyasının görüntüsü

Ücretsiz Lisans Alın

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

Çözüm

Bu makalede, C++ kullanarak XPS ve OXPS belgelerini PDF formatına nasıl dönüştüreceğinizi öğrendiniz. Ek olarak, XPS/OXPS belgelerinin seçili sayfalarını Aspose.Page for C++ API kullanarak PDF formatına nasıl dönüştüreceğinizi gördünüz. API, XPS belgeleriyle çalışmak için resmi belgeleri ziyaret ederek ayrıntılı olarak keşfedebileceğiniz birçok ek özellik sağlar. Herhangi bir sorunuz olması durumunda lütfen ücretsiz destek forumumuzda bize ulaşmaktan çekinmeyin.

Ayrıca bakınız