نحوه تبدیل PUB به PNG با استفاده از ++C

در این آموزش، نحوه تبدیل PUB) به PNG با استفاده از C++ را خواهیم فهمید. متوجه خواهید شد که تبدیل در دو مرحله انجام می شود. ابتدا فایل PUB به یک فایل PDF تبدیل می شود و سپس فایل پی دی اف میانی با استفاده از C++ با فراخوانی های ساده API به فرمت PNG ارائه می شود.

مراحل تبدیل PUB به PNG با استفاده از ++C

  1. Aspose.PUB for C++ و Aspose.PDF for C++ را از ابزار مدیریت بسته NuGet نصب کنید
  2. مرجع به فضاهای نام Aspose::Pub و Aspose::Pdf اضافه کنید
  3. فایل PUB ورودی را با نمونه کلاس Document بارگیری کنید
  4. فایل پی دی اف میانی را با روش ConvertToPdf ایجاد کنید
  5. هر صفحه را تکرار کنید و تصاویر 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++ مورد بحث قرار داده ایم.

 فارسی