Konversikan PUB ke Gambar menggunakan C++

File Microsoft Publisher (PUB) digunakan untuk mencetak atau menerbitkan informasi. Mungkin ada skenario di mana Anda perlu berbagi file ini, dan pihak penerima tidak memiliki akses ke Microsoft Publisher. Dalam kasus seperti itu, mengonversi file-file ini menjadi gambar sebelum dibagikan terbukti dapat membantu. Untuk itu, artikel ini akan mengajarkan Anda cara mengonversi file PUB ke berbagai format gambar menggunakan C++.

C++ API untuk Mengonversi File PUB ke Format Gambar

Kami akan menggunakan API Aspose.PUB for C++ dan Aspose.PDF for C++ untuk melakukan konversi ini. Yang pertama adalah perpustakaan untuk bekerja dengan file Microsoft Publisher (PUB), sedangkan yang terakhir adalah perpustakaan untuk membuat, membaca, dan memodifikasi file PDF. Kami akan menggunakan Aspose.PUB for C++ API untuk mengonversi file PUB ke format PDF dan Aspose.PDF for C++ API untuk mengonversi file PDF yang dihasilkan ke format gambar. Anda dapat menginstal API melalui NuGet atau mengunduhnya langsung dari bagian Unduhan.

PM> Install-Package Aspose.PUB.Cpp
PM> Install-Package Aspose.PDF.Cpp

Konversikan File PUB ke Gambar JPG menggunakan C++

Berikut adalah langkah-langkah untuk mengonversi file PUB menjadi gambar JPG.

Kode contoh berikut menunjukkan cara mengonversi file PUB ke gambar JPG menggunakan C++.

// Sumber PUB dan keluaran jalur file PDF
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// Muat file PUB
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// Konversikan file PUB ke PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// Muat file PDF yang dihasilkan
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// Ulangi melalui halaman PDF
for (auto page : pdfDocument->get_Pages())
{
	// Dapatkan dimensi halaman PDF
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// Buat instance dari kelas Resolution
	auto resolution = MakeObject<Devices::Resolution>(300);

	// Buat perangkat JPEG dengan Lebar, Tinggi, dan Resolusi yang ditentukan
	auto device = MakeObject<Devices::JpegDevice>(width, height, resolution);

	// Buat File Stream untuk gambar keluaran
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.jpg", page->get_Number()));

	// Ubah halaman PDF menjadi gambar JPG
	device->Process(page, imageStream);

	// Tutup alirannya
	imageStream->Close();
}

Konversikan File PUB ke Gambar PNG menggunakan C++

Untuk mengonversi file PUB menjadi gambar PNG, ikuti langkah-langkah berikut.

Kode contoh berikut menunjukkan cara mengonversi file PUB ke gambar PNG menggunakan C++.

// Sumber PUB dan keluaran jalur file PDF
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// Muat file PUB
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// Konversikan file PUB ke PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// Muat file PDF yang dihasilkan
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// Ulangi melalui halaman PDF
for (auto page : pdfDocument->get_Pages())
{
	// Dapatkan dimensi halaman PDF
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// Buat instance dari kelas Resolution
	auto resolution = MakeObject<Devices::Resolution>(300);

	// Buat perangkat PNG dengan Lebar, Tinggi, dan Resolusi yang ditentukan
	auto device = MakeObject<Devices::PngDevice>(width, height, resolution);

	// Buat File Stream untuk gambar keluaran
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

	// Ubah halaman PDF menjadi gambar PNG
	device->Process(page, imageStream);

	// Tutup alirannya
	imageStream->Close();
}

Mengonversi File PUB ke Gambar TIFF menggunakan C++

Berikut adalah langkah-langkah untuk mengonversi file PUB menjadi gambar TIFF.

Kode contoh berikut menunjukkan cara mengonversi file PUB ke gambar TIFF menggunakan C++.

// Sumber PUB dan keluaran jalur file PDF
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// Muat file PUB
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// Konversikan file PUB ke PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// Muat file PDF yang dihasilkan
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// Dapatkan dimensi halaman PDF pertama
int width = info->GetPageWidth(1);
int height = info->GetPageHeight(1);

// Buat instance dari kelas Resolution
auto resolution = MakeObject<Devices::Resolution>(300);

// Buat instance kelas TiffSettings dan atur pengaturan yang diperlukan
auto settings = MakeObject<Devices::TiffSettings>();
settings->set_Compression(Devices::CompressionType::None);
settings->set_Depth(Devices::ColorDepth::Default);

// Buat perangkat TIFF dengan Pengaturan Lebar, Tinggi, Resolusi, dan Tiff yang ditentukan
auto device = MakeObject<Devices::TiffDevice>(width, height, resolution, settings);

// Buat File Stream untuk gambar keluaran
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(u"OutputDirectory\\pdf.tiff");

// Konversikan file PDF ke gambar TIFF
device->Process(pdfDocument, 1, 1, imageStream);

// Tutup alirannya
imageStream->Close();

Dapatkan Lisensi Gratis

Anda dapat mencoba API tanpa batasan evaluasi dengan meminta lisensi sementara gratis.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara mengonversi file Microsoft Publisher (PUB) ke gambar JPG, PNG, dan TIFF menggunakan C++. Kami menggunakan Aspose.PUB for C++ dan Aspose.PDF for C++ API untuk mencapai hal ini. Anda dapat menjelajahi API ini secara mendetail dengan mengunjungi dokumentasi resminya. Jika ada pertanyaan, jangan ragu untuk menghubungi kami di forum dukungan gratis.

Lihat juga