Об’єднайте файли EPS у PDF за допомогою C++

Ви можете перевірити якість об’єднання EPS Aspose.Page і переглянути результати за допомогою безкоштовної онлайн-сторінки EPS Merger

Злиття Aspose.Page для C++ EPS дозволяє об’єднувати файли Encapsulated PostScript (EPS) у PDF-документ у Windows і Linux.
Щоб виконати злиття EPS у PDF, необхідно виконати кілька кроків:

  1. Ініціалізуйте вхідний потік для першого вхідного файлу EPS.
  2. Ініціалізуйте вихідний потік для вихідного документа PDF.
  3. Створіть масив файлів EPS, який буде об’єднано з першим.
  4. Створіть екземпляр PsDocument із створеного раніше вхідного потоку.
  5. Використовуйте PdfSaveOptions, щоб указати логічні значення AdditionalFontsFolder і SuppressError.
  6. Створіть екземпляр PdfDevice із створеного раніше вихідного потоку.
  7. Об’єднайте документ EPS як PDF із параметрами збереження PDF.
  8. Якщо значення SuppressErrors було істинним, як це за замовчуванням, можна побачити, які помилки виникли під час об’єднання EPS у PDF і збережені у списку Винятки.


Наведений нижче фрагмент коду показує, як об’єднати файли EPS із документом PDF у C++:

 1Повні приклади і файли даних див https://github.com/aspose-page/Aspose.Page-for-C
 2// Initialize PDF output stream
 3System::SharedPtr<System::IO::FileStream> pdfStream = System::MakeObject<System::IO::FileStream>(outDir() + u"outputPDF_out.pdf", System::IO::FileMode::Create, System::IO::FileAccess::Write);
 4// Initialize EPS input stream
 5System::SharedPtr<System::IO::FileStream> psStream = System::MakeObject<System::IO::FileStream>(dataDir() + u"input.eps", System::IO::FileMode::Open, System::IO::FileAccess::Read);
 6System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(psStream);
 7
 8// Create an array of EPS file that will be merged with the first one
 9System::ArrayPtr<System::String> filesForMerge = System::MakeArray<System::String>({dataDir() + u"input2.eps", dataDir() + u"input3.eps"});
10
11// If you want to convert Postscript file despite of minor errors set this flag
12bool suppressErrors = true;
13
14//Initialize options object with necessary parameters.
15System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>(suppressErrors);
16// If you want to add special folder where fonts are stored. Default fonts folder in OS is always included.
17options->set_AdditionalFontsFolders(System::MakeArray<System::String>({FONT_FOLDER}));
18
19// Default page size is 595x842 і it is not mandatory to set it in PdfDevice
20System::SharedPtr<Aspose::Page::EPS::Device::PdfDevice> device = System::MakeObject<Aspose::Page::EPS::Device::PdfDevice>(pdfStream);
21// But if you need to specify size і image format use following line
22//System::SharedPtr<Aspose::Page::EPS::Device::PdfDevice> device = System::MakeObject<Aspose::Page::EPS::Device::PdfDevice>(pdfStream, System::Drawing::Size(595, 842));
23
24
25{
26	auto __finally_guard_0 = ::System::MakeScopeGuard([&psStream, &pdfStream]()
27	{
28		psStream->Close();
29		pdfStream->Close();
30	});
31
32	try
33	{
34		document->Merge(filesForMerge, device, options);
35	}
36	catch (...)
37	{
38		throw;
39	}
40}

Див. EPS об’єднання .Net і Java.

Давайте розглянемо PdfSaveOptions. Використовуючи цей клас, ми можемо призначати різні параметри перетворення під час об’єднання EPS у PDF.

Оцініть злиття EPS онлайн на прикладі EPS Merger.

Ви можете завантажити приклади та файли даних із GitHub.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.