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
- Konversikan File PUB ke Gambar JPG menggunakan C++
- Konversikan File PUB ke Gambar PNG menggunakan C++
- Mengonversi File PUB ke Gambar TIFF 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.
- Muat file PUB menggunakan metode PubFactory::CreateParser(System::String fileName).
- Konversikan file PUB ke format PDF menggunakan ConvertToPdf(System::SharedPtr doc, System::String fileName) metode.
- Muat file PDF yang dihasilkan menggunakan kelas Document.
- Ulangi halaman-halaman file PDF.
- Dapatkan dimensi halaman PDF.
- Buat instance dari kelas Resolution.
- Buat instance kelas JpegDevice dengan menyediakan lebar, tinggi, dan resolusi.
- Buat instance dari FileStream untuk gambar keluaran.
- Ubah halaman PDF menjadi gambar JPG menggunakan JpegDevice->Process(System::SharedPtr halaman, System::SharedPtr< System::IO::Stream > output) metode.
- Tutup alirannya.
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.
- Muat file PUB menggunakan metode PubFactory::CreateParser(System::String fileName).
- Konversikan file PUB ke format PDF menggunakan ConvertToPdf(System::SharedPtr doc, System::String fileName) metode.
- Muat file PDF yang dihasilkan menggunakan kelas Document.
- Ulangi halaman-halaman file PDF.
- Dapatkan dimensi halaman PDF.
- Buat instance dari kelas Resolution.
- Buat instance kelas PngDevice dengan menyediakan lebar, tinggi, dan resolusi.
- Buat instance dari FileStream untuk gambar keluaran.
- Ubah halaman PDF menjadi gambar PNG menggunakan PngDevice->Process(System::SharedPtr halaman, System::SharedPtrSystem::IO::Stream keluaran) metode.
- Tutup alirannya.
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.
- Muat file PUB menggunakan metode PubFactory::CreateParser(System::String fileName).
- Konversikan file PUB ke format PDF menggunakan ConvertToPdf(System::SharedPtr doc, metode System::String fileName).
- Muat file PDF yang dihasilkan menggunakan kelas Document.
- Dapatkan dimensi halaman PDF pertama.
- Buat instance dari kelas Resolution.
- Buat instance dari kelas TiffSettings dan atur pengaturan yang diperlukan.
- Buat instance kelas TiffDevice dengan menyediakan lebar, tinggi, resolusi, dan TiffSettings.
- Buat instance dari FileStream untuk gambar keluaran.
- Konversikan file PDF ke gambar TIFF menggunakan metode TiffDevice->Process( System::SharedPtrAspose::Pdf::Document dokumen, int32t dariPage, int32t kePage, Sistem::SharedPtrSystem::IO::Stream keluaran) metode.
- Tutup alirannya.
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.