For complete examples and data files, please go to https://github.com/aspose-page/Aspose.Page-for-C // Initialize PDF output stream System::SharedPtr<System::Drawing::Imaging::ImageFormat> imageFormat = System::Drawing::Imaging::ImageFormat::get_Png(); // Initialize PostScript input stream System::SharedPtr<System::IO::FileStream> psStream = System::MakeObject<System::IO::FileStream>(dataDir() + u"inputForImage.ps", System::IO::FileMode::Open, System::IO::FileAccess::Read); System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(psStream); // 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>(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 image format is PNG and it is not mandatory to set it in ImageDevice // Default image size is 595x842 and it is not mandatory to set it in ImageDevice System::SharedPtr<Aspose::Page::EPS::Device::ImageDevice> device = System::MakeObject<Aspose::Page::EPS::Device::ImageDevice>(); // But if you need to specify size and image format use constructor with parameters //ImageDevice device = new ImageDevice(new System.Drawing.Size(595, 842), System.Drawing.Imaging.ImageFormat.Jpeg); { auto __finally_guard_0 = ::System::MakeScopeGuard([&psStream]() { psStream->Close(); }); try { document->Save(device, options); } catch (...) { throw; } } System::ArrayPtr<System::ArrayPtr<uint8_t>> imagesBytes = device->get_ImagesBytes(); int32_t i = 0; { for (System::ArrayPtr<uint8_t> imageBytes : imagesBytes) { System::String imagePath = System::IO::Path::GetFullPath(outDir() + System::String(u"out_image") + System::Convert::ToString(i) + u"." + System::ObjectExt::ToString(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_1({ fs }); // ------------------------------------------ try { fs->Write(imageBytes, 0, imageBytes->get_Length()); } catch (...) { __dispose_guard_1.SetCurrentException(std::current_exception()); } } i++; } }