في هذا البرنامج التعليمي ، سوف نفهم كيفية ** تحويل PUB) إلى PNG باستخدام C ++ **. ستلاحظ أن التحويل يتم في خطوتين. أولاً ، يتم تحويل ملف PUB إلى ملف PDF ثم يتم تحويل ملف PDF الوسيط إلى تنسيق PNG باستخدام C ++ مع استدعاءات API بسيطة.
خطوات تحويل PUB إلى PNG باستخدام C ++
- قم بتثبيت Aspose.PUB for C++ و Aspose.PDF for C++ من NuGet package Manager Tool
- أضف مرجعًا إلى مساحات الأسماء Aspose::Pub و Aspose::Pdf
- قم بتحميل ملف PUB للإدخال مع مثيل فئة Document
- قم بإنشاء ملف PDF وسيط باستخدام طريقة ConvertToPdf
- كرر كل صفحة وأنشئ صور PNG الناتجة
يمكنك * تصدير PUB إلى PNG بكفاءة باستخدام C ++ * مع استدعاءات بسيطة لواجهة برمجة التطبيقات في سطور قليلة من التعليمات البرمجية. ما عليك سوى تحديد مسارات الملفات وإجراء استدعاءات الطريقة ، ثم تأخذ واجهة برمجة التطبيقات (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(); | |
} | |
} | |
}; |
في الموضوع السابق ، تعلمنا كيف تقرأ ملف PDF في C ++. حيث ناقشنا في هذه المقالة كيفية استخدام * C ++ إنشاء ملف PNG من PUB *.