Cara Mengonversi PUB ke PNG menggunakan C++

Dalam tutorial ini, kita akan memahami cara mengonversi PUB) menjadi PNG menggunakan C++. Anda akan melihat bahwa konversi terjadi dalam dua langkah. Pertama, file PUB dikonversi ke file PDF dan kemudian file PDF perantara dirender ke format PNG menggunakan C++ dengan panggilan API sederhana.

Langkah-langkah untuk Mengkonversi PUB ke PNG menggunakan C++

  1. Instal Aspose.PUB for C++ dan Aspose.PDF for C++ dari NuGet package Manager Tool
  2. Tambahkan referensi ke Aspose::Pub dan Aspose::Pdf namespaces
  3. Muat file PUB input dengan instance kelas Document
  4. Buat file PDF perantara dengan metode ConvertToPdf
  5. Ulangi setiap halaman dan buat gambar PNG keluaran

Anda dapat mengekspor PUB ke PNG secara efisien menggunakan C++ dengan panggilan API sederhana dalam beberapa baris kode. Anda hanya perlu menentukan jalur file dan membuat pemanggilan metode, lalu API akan mempertimbangkan semua detail kecil dari proses konversi dengan sendirinya. Setelah diproses, gambar PNG keluaran disimpan sesuai kebutuhan Anda.

Kode untuk Mengonversi PUB ke PNG menggunakan 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();
}
}
};

Pada topik sebelumnya, kita telah mempelajari cara membaca File PDF di C++. Padahal, dalam artikel ini kita telah membahas cara menggunakan C++ membuat PNG dari file PUB.

 Indonesian