PS, EPS ve XPS Dönüştürme
Çok yönlü API çözümümüzle C++ uygulamalarınızın tüm potansiyelini ortaya çıkarın! C++ için çok yönlü API çözümümüzle PS, EPS ve XPS dosyalarını sorunsuz bir şekilde yüksek kaliteli PDF’lere ve çarpıcı görüntülere dönüştürün!
Çok yönlü yerel API çözümümüzle C++ uygulamalarınızın tüm potansiyelini keşfedin! PS, EPS ve XPS dosyalarını hızlı ve kolay bir şekilde yüksek kaliteli PDF'lere ve çarpıcı görüntülere dönüştürün. İster hassas belge dönüştürmeye ister mükemmel görsel içeriğe ihtiyacınız olsun, API'miz süreci basitleştirerek projelerinizi zahmetsizce geliştirmeniz için araçlar sunar. Belge yönetiminizi iyileştirin ve görsellerinize yeni bir soluk getirin. C++ API'miz ile PostScript (PS) ve Encapsulated PostScript (EPS) ve ayrıca XPS belgelerinin PDF'ye ve görüntülere dönüştürülmesinin sihrini deneyimleyin. Belgelerinizi dönüştürmeye hazır mısınız? Ücretsiz denememizi deneyin veya şimdi satın alın ve içeriğinizi bugün yükseltin!
Programcılar bunu PostScript ve XPS belgelerinin toplu işlenmesi için kolayca kullanabilir, hatta tuvalleri (canvases), yolları (paths) ve glif (glyphs) öğelerini manipüle edebilir ve vektör grafik şekillerini ve metin dizelerini yönetebilirler.
Buradaki C++ API çözümü, PS, EPS ve XPS gibi PDL formatlarındaki dosyaları programlı olarak dönüştürmenize olanak tanır; ancak bu yerel API'ler üzerinde geliştirilen platformlar arası çözümleri görmek ve denemek faydalı olabilir. İşte EPS'den Görüntüye, EPS'den PDF'ye, PostScript'ten PDF'ye, PostScript'ten Görüntüye, XPS'den Görüntüye ve XPS'den PDF'ye gibi bazı dönüştürme senaryoları.
PostScript (PS, EPS) Dosyalarını C++ Aracılığıyla Görüntülere Dönüştürün.
C++ kitaplığı, PostScript (PS) ve Encapsulated PostScript (EPS) dosyalarının Windows, Linux ve macOS platformlarında görüntülere dönüştürülmesine olanak tanır. Süreç şöyledir:
- Parametre olarak giriş dosyası akışı veya dosya adı alan PsDocument sınıfı constructor ‘ını kullanarak belgeyi yükleyin.
- ImageSaveOptions Class nesnesi oluşturun ve gerekli ayarlarla başlatın. Görüntü formatını ImageFormat değeri olarak ayarlamak için set_ImageFormat metodunu çağırın.
- SaveAsImage ile her giriş dosyası sayfasını bir görüntü bayt dizisine kaydedin.
EPS'den Görüntüye Dönüştürme için C++ Kodu
// The path to the documents directory.
System::String dataDir = RunExamples::GetDataDir_WorkingWithDocumentConversion();
// Initialize PsDocument with the name of PostScript file.
System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(dataDir + u"inputForImage.ps");
// If you want to convert Postscript file despite of minor errors set this flag
bool suppressErrors = true;
//Initialize options object with necessary parameters.
System::SharedPtr<ImageSaveOptions> options = System::MakeObject<ImageSaveOptions>();
//Set output image format.
options->set_ImageFormat(Aspose::Page::Drawing::Imaging::ImageFormat::Png);
// 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}"}));
// Save PS document as array of image bytes, one bytes array for one page.
System::ArrayPtr<System::ArrayPtr<uint8_t>> imagesBytes = document->SaveAsImage(options);
//Save images bytes arrays as image files.
int32_t i = 0;
for (System::ArrayPtr<uint8_t> imageBytes : imagesBytes)
{
System::String imagePath = System::IO::Path::GetFullPath(dataDir + u"out_image" + System::Convert::ToString(i) + u"." + System::ObjectExt::ToString(options->get_ImageFormat()).ToLower());
{
System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(imagePath, System::IO::FileMode::Create, System::IO::FileAccess::Write);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ fs});
// ------------------------------------------
try
{
fs->Write(imageBytes, 0, imageBytes->get_Length());
}
catch(...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
i++;
}
//Review errors
if (suppressErrors)
{
for (auto&& ex : System::IterateOver(options->get_Exceptions()))
{
System::Console::WriteLine(ex->get_Message());
}
}
C++ Aracılığıyla PostScript'ten PDF'e Dönüştürme.
PostScript’i PDF’e dönüştürme işlemi, PostScript’i Görüntüye dönüştürmek kadar basittir:
- Parametre olarak giriş dosyası akışı veya dosya adı alan PsDocument sınıfı constructor ‘ını kullanarak belgeyi yükleyin.
- AdditionalFontsFolder ve SuppressError değeri gibi ek ayarları tanımlamak için PdfSaveOptions Class nesnesi oluşturun.
- PDF dosyası dönüştürme için SaveAsPdf metodunu çağırın.
PostScript'ten PDF'e Dönüştürme için C++ Kodu
// The path to the documents directory.
System::String dataDir = RunExamples::GetDataDir_WorkingWithDocumentConversion();
// Initialize PsDocument with the name of PostScript file.
System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(dataDir + u"input.ps");
// If you want to convert Postscript file despite of minor errors set this flag
bool suppressErrors = true;
//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 PdfSaveOptions
// But if you need to specify sizeuse following line
//PdfSaveOptions options = new PdfSaveOptions(suppressErrorsnew, Aspose.Page.Drawing.Size(595x842));
// or
//saveOptions.Size = new Aspose.Page.Drawing.Size(595x842);
// Save document as PDF
document->SaveAsPdf(dataDir + u"outputPDF_out.pdf", options);
//Review errors
if (suppressErrors)
{
for (auto&& ex : System::IterateOver(options->get_Exceptions()))
{
System::Console::WriteLine(ex->get_Message());
}
}XPS Dosyalarını C++ Aracılığıyla Görüntülere Dönüştürün.
C++ XPS İşleme API'si, Windows ve Linux tabanlı sistemlerde BMP, JPG, TIFF, PNG ve daha fazlası dahil olmak üzere XPS'den Görüntülere dönüştürmenin yanı sıra XPS'den PDF'e dönüştürme işlemlerini gerçekleştirir. XPS'i görüntüye dönüştürme süreci şöyledir:
- Giriş dosyası adı ve XpsLoadOptions ile yapılandırıcı parametreleri olarak XpsDocument Class örneği oluşturun.
- Aspose::Page::XPS::Presentation::Image sınıfından bir örneği kaydetme seçeneği olarak oluşturun.
- Her belge sayfasını bir görüntü bayt dizisine kaydetmek için XPS belgesinin SaveAsImage metodunu çağırın.
XPS'den Görüntüye Dönüştürme için C++ Kodu
// The path to the documents directory.
System::String dataDir = RunExamples::GetDataDir_WorkingWithDocumentConversion();
//Outut file
System::String outputFileName = dataDir + u"XPStoImage_out.bmp";
// Load XPS document form the XPS file
System::SharedPtr<XpsDocument> document = System::MakeObject<XpsDocument>(dataDir + u"input.xps", System::MakeObject<XpsLoadOptions>());
// Initialize options object with necessary parameters.
System::SharedPtr<BmpSaveOptions> options = System::MakeObject<BmpSaveOptions>();
options->set_SmoothingMode(System::Drawing::Drawing2D::SmoothingMode::HighQuality);
options->set_Resolution(300);
options->set_PageNumbers(System::MakeArray<int32_t>({1, 2, 6}));
// Save XPS document to the images byte arrays. The first dimension is for inner documents
// and the second one is for pages within inner documents.
System::ArrayPtr<System::ArrayPtr<System::ArrayPtr<uint8_t>>> imagesBytes = document->SaveAsImage(options);
// Iterate through document partitions (fixed documents, in XPS terms)
for (int32_t i = 0; i < imagesBytes->get_Length(); i++)
{
// Iterate through partition pages
for (int32_t j = 0; j < imagesBytes[i]->get_Length(); j++)
{
// Initialize image output stream
{
System::SharedPtr<System::IO::Stream> imageStream = System::IO::File::Open(System::IO::Path::GetDirectoryName(outputFileName) + System::IO::Path::DirectorySeparatorChar + System::IO::Path::GetFileNameWithoutExtension(outputFileName) + u"_" + (i + 1) + u"_" + (j + 1) + System::IO::Path::GetExtension(outputFileName), System::IO::FileMode::Create, System::IO::FileAccess::Write);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ imageStream});
// ------------------------------------------
try
{
imageStream->Write(imagesBytes[i][j], 0, imagesBytes[i][j]->get_Length());
}
catch(...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
}
}
C++ Aracılığıyla XPS'ten PDF'e Dönüştürme.
C++ XPS İşleme API'si, Windows ve Linux tabanlı sistemlerde BMP, JPG, TIFF, PNG ve daha fazlası dahil olmak üzere XPS'den Görüntülere dönüştürmenin yanı sıra XPS'den PDF'e dönüştürme işlemlerini gerçekleştirir. XPS'i PDF'e dönüştürme süreci şöyledir:
- PDF çıkışı için çıkış akışını tanımlayın.
- Giriş dosyası adı ve XpsLoadOptions ile yapılandırıcı parametreleri olarak XpsDocument Class örneği oluşturun.
- PdfSaveOptions kullanarak TextCompression, ImageCompression ve JpegQualityLevel gibi PDF’e özgü kaydetme seçeneklerini belirtin.
- Son olarak SaveAsPdf metodlarından herhangi birini kullanarak XPS belgesini PDF’e dönüştürün.
XPS'den PDF'e Dönüştürme için C++ Kodu
// The path to the documents directory.
System::String dataDir = RunExamples::GetDataDir_WorkingWithDocumentConversion();
// Initialize PDF output stream
{
System::SharedPtr<System::IO::Stream> pdfStream = System::IO::File::Open(dataDir + u"XPStoPDF_out.pdf", System::IO::FileMode::OpenOrCreate, System::IO::FileAccess::Write);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ pdfStream});
// ------------------------------------------
try
{
// Load XPS document form the XPS file
System::SharedPtr<XpsDocument> document = System::MakeObject<XpsDocument>(dataDir + u"input.xps", System::MakeObject<XpsLoadOptions>());
// Initialize options object with necessary parameters.
System::SharedPtr<Aspose::Page::XPS::Presentation::Pdf::PdfSaveOptions> options = System::MakeObject<Aspose::Page::XPS::Presentation::Pdf::PdfSaveOptions>();
options->set_JpegQualityLevel(100);
options->set_ImageCompression(Aspose::Page::XPS::Presentation::Pdf::PdfImageCompression::Jpeg);
options->set_TextCompression(Aspose::Page::XPS::Presentation::Pdf::PdfTextCompression::Flate);
options->set_PageNumbers(System::MakeArray<int32_t>({1, 2, 6}));
document->SaveAsPdf(pdfStream, options);
}
catch(...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}FAQ
1. Bu API çözümüyle Postscript’i dönüştürebilir miyim?
Aspose.Page, PS, XPS ve EPS dosyalarını çevrimiçi veya programlı olarak diğer biçimlere dönüştürmenize olanak tanıyan işlevselliğe sahiptir. Dosyalarınızı anında çevrimiçi dönüştürmeniz gerekiyorsa, platformlar arası Sayfa Açıklama Dil biçimi dosyaları Dönüştürücü uygulamasını kullanmak isteyebilirsiniz.
2. Dönüştürücü hangi Sayfa açıklama dillerini destekler?
Bu dönüştürme işlevi, .ps, .eps ve .xps uzantılı dosyaları destekler. PDF ve SVG gibi ünlü PDL’ler Aspose.products’ta ayrı çözümler olarak sunulmaktadır.
3. İşlev ücretsiz mi?
Platformlar arası dönüştürücüler ücretsizdir, API çözümü için ücretsiz Deneme sürümü alabilir ve ardından gerekirse ürünü satın alabilirsiniz.
Support and Learning Resources
- Öğrenme Kaynakları
- belgeler
- Kaynak kodu
- API Referansları
- Ürün desteği
- Ücretsiz Destek
- Ücretli Destek
- Blog
- Release Notes
- Neden C++ için Aspose.Page?
- Müşteri Listesi
- Başarı Öyküleri