PS belgelerini PDF’de birleştirin

Birkaç PostScript dosyasını birleştirmek için C++ API çözümü

 

PostScript dosya biçimi birden çok sayfa içerebilir, ancak birden çok dosyayı XPS biçimi gibi tek bir belgede birleştirme özelliğine sahip değildir. C++ için Aspose.Page API çözümü size birkaç PS veya EPS dosyasını tek bir PDF belgesinde birleştirme işlevselliği sağlar.

Aşağıdaki kod örneği, C++ kullanarak PostScript dosyalarının nasıl birleştirileceğini gösterir. Bu işlevin bir web çözümüne nasıl entegre edilebileceğini veya çevrimiçi dosyaları birleştirmeyi öğrenmeniz gerekiyorsa, platformlar arası PS Merger aracını deneyebilirsiniz. .

PS ve EPS dosyalarını birleştirmek için şunlara ihtiyacımız var:

  • 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

PostScript dosyalarını C++ ile birleştirme adımları

  1. PDF çıktısını ve PostScript giriş akışlarını başlatın.
  2. Birleştirmek için bir dizi PS dosyası oluşturun.
  3. Gerekli parametreleri belirtmek için PdfSaveOptions Sınıfını kullanın. Bu sınıf, birleştirme sırasında ek parametreler belirlemenizi sağlar.
  4. Daha önce oluşturulan çıktı akışından bir PdfDevice örneği oluşturun ve boyutu ve görüntü formatını belirtin.
  5. Dosyaları birleştirin. Bu işlevsellik hakkında daha fazla bilgi edinmek için Aspose.Page’e Documentation gidin.

PS'yi PDF'ye birleştirmek için C++ Kodu

    using Aspose::Page::IO;
    using Aspose::Page::Presentation::Pdf;
    // Initialize PDF output stream
    System::SharedPtr<System::IO::FileStream> pdfStream = System::MakeObject<System::IO::FileStream>(outDir() + u"outputPDF_out.pdf", System::IO::FileMode::Create, System::IO::FileAccess::Write);
    
    // Initialize PostScript input stream
    System::SharedPtr<System::IO::FileStream> psStream = System::MakeObject<System::IO::FileStream>(dataDir() + u"input.ps", System::IO::FileMode::Open, System::IO::FileAccess::Read);
    System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(psStream);

    // Create an array of PostScript files that will be merged with the first one
    System::ArrayPtr<System::String> filesForMerge = System::MakeArray<System::String>({dataDir() + u"input2.ps", dataDir() + u"input3.ps"});
 
    //Initialize options object with necessary parameters.
    System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>(suppressErrors);
    // If you want to add special folder where fonts are stored. Default fonts folder in OS is always included.
    options->set_AdditionalFontsFolders(System::MakeArray<System::String>({ u"{FONT_FOLDER}" }));

    // Default page size is 595x842 and it is not mandatory to set it in PdfDevice
    System::SharedPtr<Aspose::Page::EPS::Device::PdfDevice> device = System::MakeObject<Aspose::Page::EPS::Device::PdfDevice>(pdfStream);


    {
	    auto __finally_guard_0 = ::System::MakeScopeGuard([&psStream, &pdfStream]()
	    {
		    psStream->Close();
		    pdfStream->Close();
	    });

	    try
	    {
		    document->Merge(filesForMerge, device, options);
	    }
	    catch (...)
	    {
		    throw;
	    }
    }

Encapsulated PostScript dosyalarını C++ ile birleştirin

EPS’yi PDF’ye birleştirmek için PS’den PDF’ye birleştirmeyle aynı adımları uygulamanız gerekir. Daha ayrıntılı bir kod örneği öğrenmek için Aspose.Page’e Documentation gidin.

EPS'yi PDF'ye birleştirmek için C++ Kodu

    // Initialize PDF output stream
    System::SharedPtr<System::IO::FileStream> pdfStream = System::MakeObject<System::IO::FileStream>(outDir() + u"outputPDF_out.pdf", System::IO::FileMode::Create, System::IO::FileAccess::Write);
    
    // Initialize EPS input stream
    System::SharedPtr<System::IO::FileStream> psStream = System::MakeObject<System::IO::FileStream>(dataDir() + u"input.eps", System::IO::FileMode::Open, System::IO::FileAccess::Read);
    System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(psStream);

    // Create an array of EPS files that will be merged with the first one
    System::ArrayPtr<System::String> filesForMerge = System::MakeArray<System::String>({dataDir() + u"input2.eps", dataDir() + u"input3.eps"});
 
    //Initialize options object with necessary parameters.
    System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>(suppressErrors);
    // If you want to add special folder where fonts are stored. Default fonts folder in OS is always included.
    options->set_AdditionalFontsFolders(System::MakeArray<System::String>({ u"{FONT_FOLDER}" }));

    // Default page size is 595x842 and it is not mandatory to set it in PdfDevice
    System::SharedPtr<Aspose::Page::EPS::Device::PdfDevice> device = System::MakeObject<Aspose::Page::EPS::Device::PdfDevice>(pdfStream);


    {
	    auto __finally_guard_0 = ::System::MakeScopeGuard([&psStream, &pdfStream]()
	    {
		    psStream->Close();
		    pdfStream->Close();
	    });

	    try
	    {
		    document->Merge(filesForMerge, device, options);
	    }
	    catch (...)
	    {
		    throw;
	    }
    }

PS PS Dosya Biçimi nedir

PS formatı, sayfa açıklama dili (PDL) formatlarından biridir. Sayfada metin bilgilerinin yanı sıra grafik içerebilir. Bu nedenle format, görüntü düzenleme programlarının çoğu tarafından desteklendi. Postscript dosyasının kendisi, yazıcılar için bir tür talimattır. Sayfasından neyin ve nasıl yazdırılacağı hakkında bilgi içerir.