در این آموزش، نحوه تبدیل PUB) به PNG با استفاده از C++ را خواهیم فهمید. متوجه خواهید شد که تبدیل در دو مرحله انجام می شود. ابتدا فایل PUB به یک فایل PDF تبدیل می شود و سپس فایل پی دی اف میانی با استفاده از C++ با فراخوانی های ساده API به فرمت PNG ارائه می شود.
مراحل تبدیل PUB به PNG با استفاده از ++C
- Aspose.PUB for C++ و Aspose.PDF for C++ را از ابزار مدیریت بسته NuGet نصب کنید
- مرجع به فضاهای نام Aspose::Pub و Aspose::Pdf اضافه کنید
- فایل PUB ورودی را با نمونه کلاس Document بارگیری کنید
- فایل پی دی اف میانی را با روش ConvertToPdf ایجاد کنید
- هر صفحه را تکرار کنید و تصاویر PNG خروجی را ایجاد کنید
میتوانید با استفاده از C++* با فراخوانیهای ساده API در چند خط کد، PUB را به PNG صادر کنید. شما فقط باید مسیرهای فایل را مشخص کنید و متد را فراخوانی کنید، سپس API تمام جزئیات جزئی فرآیند تبدیل را به تنهایی در نظر می گیرد. پس از پردازش، تصاویر PNG خروجی مطابق با نیاز شما ذخیره می شوند.
کد برای تبدیل PUB به PNG با استفاده از ++C
#pragma once | |
#include <stdio.h> | |
#include <tchar.h> | |
#include <cstdint> | |
#include <iostream> | |
// TODO: reference additional headers your program requires here | |
#include "system/console.h" | |
#include "system/string.h" | |
#include "system/io/directory.h" | |
#include <Aspose.Pub.Cpp/Properties/AssemblyInfo.h> | |
#include <Aspose.Pub.Cpp/PubFactory.h> | |
#include <Aspose.Pub.Cpp/Document.h> | |
#include <Aspose.Pub.Cpp/Interfaces.h> | |
#include <Aspose.Pub.Cpp/License.h> | |
#include <Aspose.Pub.Cpp/MetaInfo.h> | |
#include <Aspose.PDF.Cpp/Page.h> | |
#include <Aspose.PDF.Cpp/Document.h> | |
#include <Aspose.PDF.Cpp/PageCollection.h> | |
#include <Aspose.PDF.Cpp/Resources.h> | |
#include <Aspose.PDF.Cpp/XImageCollection.h> | |
#include <Aspose.PDF.Cpp/XImage.h> | |
#include <Aspose.PDF.Cpp/License.h> | |
#include <Aspose.PDF.Cpp/License.h> | |
#include <Aspose.PDF.Cpp/Devices/PngDevice.h> | |
#include <Aspose.PDF.Cpp/Devices/Resolution.h> | |
#include <Aspose.PUB.Cpp/License.h> | |
#include <Aspose.PUB.Cpp/PubFactory.h> | |
#include <Aspose.PUB.Cpp/Utils/UtilityObjects.h> | |
#include <system/smart_ptr.h> | |
using namespace System; | |
using namespace Aspose::Pdf; | |
using namespace Aspose::Pub; | |
class ConvertPUBtoPNGEx { | |
public: | |
static void PUBtoPNG() | |
{ | |
// Initialize license object of Aspose.PUB to convert PUB to PDF | |
auto PUBlicense = System::MakeObject<Aspose::Pub::License>(); | |
// Set license | |
PUBlicense->SetLicense(u"Aspose.Total.NET.lic"); | |
// Initialize license object of Aspose.PDF API to convert PDF to PNG | |
auto PDFlicense = System::MakeObject<Aspose::Pdf::License>(); | |
// Set license | |
PDFlicense->SetLicense(u"Aspose.Total.NET.lic"); | |
System::String filePub = u"Sample.pub"; | |
System::String filePdf = u"Test.pdf"; | |
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub); | |
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse(); | |
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf); | |
// Load the intermediate PDF file created from PUB file | |
System::SharedPtr<Aspose::Pdf::Document> pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf); | |
// Iterate throught the PDF pages for image conversion | |
for (System::SharedPtr<Page> page : pdfDocument->get_Pages()) | |
{ | |
// Create an instance of the FileStream class for output PNG image | |
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"page_{0}.png", page->get_Number())); | |
// Create an instance of the Resolution class to set resolution of PNG | |
System::SharedPtr<Aspose::Pdf::Devices::Resolution> resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300); | |
// Create an instance of the PngDevice class to render images | |
System::SharedPtr<Aspose::Pdf::Devices::PngDevice> pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution); | |
// Save the page as PNG image output | |
pngDevice->Process(page, imageStream); | |
// Close the stream | |
imageStream->Close(); | |
} | |
} | |
}; |
در مبحث قبلی، نحوه خواندن فایل پی دی اف در سی پلاس پلاس را یاد گرفتیم. در حالی که، در این مقاله نحوه ایجاد PNG از فایل PUB* را با استفاده از *C++ مورد بحث قرار داده ایم.