XPS belgelerini PDF’de birleştirin
Birkaç XPS dosyasını birleştirmek için C++ API çözümü
XPS dosya biçimi, birden çok belgenin tek bir dosyada depolanmasına olanak tanır ve ayrıca birden çok sayfa içerebilir. C++ için Aspose.Page API Çözümü, birden çok dosyayı tek bir dosyada birleştirerek tüm orijinal dosyaların birleştirilmiş içeriğini içeren bir XPS veya PDF dosyası oluşturma olanağı sunar.
Burada, XPS dosyalarını birleştirmek için API’nin nasıl kullanılacağına dair bir kod örneği bulacaksınız. Bu işlevin bir web çözümüne nasıl entegre edilebileceğini veya çevrimiçi dosya birleştirme için nasıl kullanılabileceğini keşfetmek için platformlar arası XPS Merger aracını deneyebilirsiniz. alet.
PS ve EPS dosyalarını birleştirmek için şunlara ihtiyacınız vardır:
C++ platformu için zengin özelliklere sahip, güçlü ve kullanımı kolay bir belge işleme ve dönüştürme API'si olan Aspose.Page for C++ API.
En son sürümünü doğrudan indirebilir, NuGet paket yöneticisini açıp Aspose.Page.Cpp'yi aratıp kurmanız yeterlidir. Paket Yöneticisi Konsolundan aşağıdaki komutu da kullanabilirsiniz.
Package Manager Console Command
PM> Install-Package Aspose.Page
Birkaç XPS dosyasını C++ ile PDF'de birleştirme adımları.
- Belgeler dizinine giden yolu ayarlayın.
- PDF çıktısını ve XPS dosya giriş akışlarını başlatın.
- Daha önce oluşturulan giriş akışından bir XpsDocument örneği oluşturun.
- PdfSaveOptions Sınıfı yoluyla çıktı dosyası için TextCompression, ImageCompression, JpegQualityLevel parametreleriyle seçenekler nesnesini başlatın.
- PdfDevice Sınıfını kullanarak, PDF formatı için bir işleme aygıtı oluşturun.
- XPS belgesini çıkarmak için XPS dosyalarını birleştirin.
XPS'yi PDF'ye birleştirmek için C++ Kodu
using Aspose::Page::XPS;
using Aspose::Page::IO;
using Aspose::Page::Presentation::Pdf;
// Input file
System::SharedPtr<System::IO::Stream> pdfStream = System::IO::File::Open(RunExamples::outDir() + u"XPStoPDF.pdf", System::IO::FileMode::Create, System::IO::FileAccess::Write);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_1({ pdfStream });
// ------------------------------------------
try {
System::SharedPtr<System::IO::Stream> xpsStream = System::IO::File::Open(RunExamples::dataDir() + u"input xps", System::IO::FileMode::Open, System::IO::FileAccess::Read);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ xpsStream });
// ------------------------------------------
try
{
// Load XPS document form the stream
System::SharedPtr<XpsDocument> document = System::MakeObject<XpsDocument>(xpsStream, System::MakeObject<XpsLoadOptions>());
// or load XPS document directly from file. No xpsStream is needed then.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());
// Initialize options object with necessary parameters.
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, 2, 6 })); return tmp_0; }();
// Create rendering device for PDF format
System::SharedPtr<Aspose::Page::Xps::Presentation::Pdf::PdfDevice> device = System::MakeObject<Aspose::Page::Xps::Presentation::Pdf::PdfDevice>(pdfStream);
// Create an array of XPS files that will be merged with the first one
System::ArrayPtr<System::String> filesForMerge = System::MakeArray<System::String>({dataDir() + u"input2.xps", dataDir() + u"input3.xps"});
document->Merge(filesForMerge, device, options);
}
catch (...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
catch (...)
{
__dispose_guard_1.SetCurrentException(std::current_exception());
}
Birkaç XPS dosyasını C++ ile tek bir dosyada birleştirme adımları.
- XPS çıkışını ve giriş akışlarını başlatın.
- İlki ile birleştirilecek bir dizi XPS dosyası oluşturun.
- Daha önce oluşturulan giriş akışından bir XpsDocument örneği oluşturun.
- XPS belgesini çıkarmak için XPS dosyalarını birleştirin.
XPS'yi XPS ile birleştirmek için C++ Kodu
// Output stream
System::SharedPtr<System::IO::Stream> outStream = System::IO::File::Open(RunExamples::outDir() + u"mergedXPSfiles.xps", System::IO::FileMode::Create, System::IO::FileAccess::Write);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_1({ outStream });
// ------------------------------------------
try {
System::SharedPtr<System::IO::Stream> inStream = System::IO::File::Open(RunExamples::dataDir() + u"input.xps", System::IO::FileMode::Open, System::IO::FileAccess::Read);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ inStream });
// ------------------------------------------
try
{
// Load XPS document form the stream
System::SharedPtr<XpsDocument> document = System::MakeObject<XpsDocument>(xpsStream, System::MakeObject<XpsLoadOptions>());
// or load XPS document directly from file. No xpsStream is needed then.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());
// Create an array of XPS files that will be merged with the first one
System::ArrayPtr<System::String> filesForMerge = System::MakeArray<System::String>({dataDir() + u"input2.xps", dataDir() + u"input3.xps"});
document->Merge(filesForMerge, outStream);
}
catch (...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
catch (...)
{
__dispose_guard_1.SetCurrentException(std::current_exception());
}
XPS XPS Dosya Biçimi nedir
XPS formatı, PDF formatına benzer. Her ikisi de sayfa açıklama dili (PDL) biçimleridir. EPS, PostScript diline değil, HTML'ye dayalıdır. .eps dosyası, belgenin nasıl görüneceğine ilişkin bilgilerle birlikte belgenin yapısının bir işaretini içerebilir. Belgenin nasıl yazdırılacağına ve oluşturulacağına ilişkin ek talimatlar da vardır. Formatın özelliği, belgenin açıklamasını düzeltmesidir, bu da onu kimden ve hangi işletim sisteminden açarsa açsın aynı görüneceği anlamına gelir.