نحوه تبدیل EPS به TIFF با استفاده از C++

در این مبحث، نحوه تبدیل EPS به TIFF با استفاده از C++ را بررسی خواهیم کرد. نحوه بارگذاری فایل EPS ورودی و تبدیل آن به تصویر در C++ را با استفاده از فراخوانی های ساده API مشاهده خواهید کرد.

مراحل تبدیل EPS به TIFF با استفاده از ++C

  1. Aspose.Page for C++ را از ابزار مدیریت بسته NuGet نصب کنید
  2. مرجع به فضای نام Aspose::Page اضافه کنید
  3. ImageFormat خروجی را مشخص کنید و یک جریان ورودی را مقداردهی اولیه کنید
  4. فایل EPS ورودی را با استفاده از شی کلاس PsDocument بارگیری کنید
  5. ویژگی های ImageSaveOptions را تنظیم کنید و فایل TIFF خروجی را ذخیره کنید

می‌توانید با استفاده از تماس‌های ساده API با چند خط کد، EPS را به TIFF با استفاده از C++* صادر کنید. شما فقط باید فایل EPS ورودی را بارگیری کنید و ویژگی های مختلف را مطابق با نیاز خود تنظیم کنید، سپس فایل را با استفاده از C++ با PsDocument class تبدیل کنید.

کد برای تبدیل EPS به TIFF با استفاده از C++

#pragma once
#include <stdio.h>
#include <tchar.h>
#include <cstdint>
#include <Aspose.Page.Cpp/eps/src_eps/PsDocument.h>
#include <Aspose.Page.Cpp/eps/src_eps/PsConverterException.h>
#include <Aspose.Page.Cpp/eps/src_eps/Device/ImageSaveOptions.h>
#include <Aspose.Page.Cpp/eps/src_eps/Device/ImageDevice.h>
#include <Aspose.Page.Cpp/eps/src_eps/Device/PdfDevice.h>
#include <Aspose.Page.Cpp/eps/src_eps/Device/PdfSaveOptions.h>
#include <Aspose.Page.Cpp/License.h>
#include "system/enum.h"
#include "system/object.h"
#include "system/scope_guard.h"
#include "system/special_casts.h"
#include "system/type_info.h"
#include "system/details/dispose_guard.h"
#include "system/io/directory.h"
#include "system/io/directory_info.h"
#include "system/io/file.h"
#include "system/io/file_mode.h"
#include "system/io/memory_stream.h"
#include "system/io/stream.h"
#include "system/io/stream_reader.h"
#include "system/io/seekorigin.h"
#include "system/reflection/assembly.h"
#include "system/text/unicode_encoding.h"
#include "drawing/rectangle.h"
#include "drawing/bitmap.h"
#include "drawing/graphics.h"
#include <system/object.h>
#include <system/array.h>
#include <system/string.h>
#include <system/int32.h>
#include <system/shared_ptr.h>
#include <system/object_ext.h>
#include <system/exceptions.h>
#include <system/environment.h>
#include <system/diagnostics/trace.h>
#include <system/console.h>
using namespace Aspose::Page;
using namespace Aspose::Page::EPS;
using namespace Aspose::Page::EPS::Device;
using namespace System;
class EpsToTiffConverter {
public:
static void ConvertEPStoTIFF()
{
// Set the license for Aspose.Page for CPP to Convert EPS File
SharedPtr<License> EPStoTIFFlicense = System::MakeObject<License>();
EPStoTIFFlicense->SetLicense(u"Aspose.Total.NET.lic");
// Specify the output TIFF image format
System::SharedPtr<System::Drawing::Imaging::ImageFormat> imageFormat = System::Drawing::Imaging::ImageFormat::get_Tiff();
// Initialize PostScript input stream
System::SharedPtr<System::IO::FileStream> psStream = System::MakeObject<System::IO::FileStream>
(u"Input.eps", System::IO::FileMode::Open, System::IO::FileAccess::Read);
System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(psStream);
// Set this flag if you want to convert EPS file ignoring minor errors
bool suppressErrors = true;
//Initialize ImageSaveOptions object with required parameters.
System::SharedPtr<ImageSaveOptions> options = System::MakeObject<ImageSaveOptions>(suppressErrors);
System::SharedPtr<ImageDevice> device = System::MakeObject<ImageDevice>(imageFormat);
{
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(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);
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++;
}
}
}
};

قبلاً نحوه استخراج ابرداده فایل Microsoft Project با استفاده از C++ را بررسی کردیم. با این حال، در این مبحث نحوه تولید TIFF از EPS با استفاده از C++ را پیاده سازی کرده ایم.

 فارسی