แปลง PUB เป็นรูปภาพโดยใช้ C++

ไฟล์ Microsoft Publisher (PUB) ใช้สำหรับพิมพ์หรือเผยแพร่ข้อมูล อาจมีบางสถานการณ์ที่คุณจำเป็นต้องแชร์ไฟล์เหล่านี้ และฝ่ายรับไม่มีสิทธิ์เข้าถึง Microsoft Publisher ในกรณีเช่นนี้ การแปลงไฟล์เหล่านี้เป็นภาพก่อนแบ่งปันสามารถพิสูจน์ได้ว่ามีประโยชน์ ด้วยเหตุนี้ บทความนี้จะสอนวิธีแปลงไฟล์ PUB เป็นรูปแบบรูปภาพต่างๆ โดยใช้ C++

C ++ API สำหรับการแปลงไฟล์ PUB เป็นรูปแบบรูปภาพ

เราจะใช้ API ของ Aspose.PUB for C++ และ Aspose.PDF for C++ เพื่อดำเนินการแปลงนี้ แบบแรกเป็นไลบรารีสำหรับทำงานกับไฟล์ Microsoft Publisher (PUB) ส่วนแบบหลังเป็นไลบรารีสำหรับสร้าง อ่าน และแก้ไขไฟล์ PDF เราจะใช้ Aspose.PUB for C++ API เพื่อแปลงไฟล์ PUB เป็นรูปแบบ PDF และ Aspose.PDF for C++ API เพื่อแปลงไฟล์ PDF ที่สร้างขึ้นเป็นรูปแบบรูปภาพ คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด

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

แปลงไฟล์ PUB เป็นรูปภาพ JPG โดยใช้ C++

ต่อไปนี้เป็นขั้นตอนในการแปลงไฟล์ PUB เป็นรูปภาพ JPG

โค้ดตัวอย่างต่อไปนี้แสดงวิธีการแปลงไฟล์ PUB เป็นรูปภาพ JPG โดยใช้ C++

// ต้นทาง PUB และพาธไฟล์ PDF เอาต์พุต
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// โหลดไฟล์ PUB
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// แปลงไฟล์ PUB เป็น PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// โหลดไฟล์ PDF ที่สร้างขึ้น
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// วนซ้ำผ่านหน้า PDF
for (auto page : pdfDocument->get_Pages())
{
	// รับขนาดของหน้า PDF
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// สร้างอินสแตนซ์ของคลาส Resolution
	auto resolution = MakeObject<Devices::Resolution>(300);

	// สร้างอุปกรณ์ JPEG ด้วยความกว้าง ความสูง และความละเอียดที่ระบุ
	auto device = MakeObject<Devices::JpegDevice>(width, height, resolution);

	// สร้าง File Stream สำหรับอิมเมจเอาต์พุต
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.jpg", page->get_Number()));

	// แปลงหน้า PDF เป็นภาพ JPG
	device->Process(page, imageStream);

	// ปิดสตรีม
	imageStream->Close();
}

แปลงไฟล์ PUB เป็นภาพ PNG โดยใช้ C++

ในการแปลงไฟล์ PUB เป็นภาพ PNG ให้ทำตามขั้นตอนด้านล่าง

โค้ดตัวอย่างต่อไปนี้แสดงวิธีการแปลงไฟล์ PUB เป็นรูปภาพ PNG โดยใช้ C++

// ต้นทาง PUB และพาธไฟล์ PDF เอาต์พุต
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// โหลดไฟล์ PUB
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// แปลงไฟล์ PUB เป็น PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// โหลดไฟล์ PDF ที่สร้างขึ้น
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// วนซ้ำผ่านหน้า PDF
for (auto page : pdfDocument->get_Pages())
{
	// รับขนาดของหน้า PDF
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// สร้างอินสแตนซ์ของคลาส Resolution
	auto resolution = MakeObject<Devices::Resolution>(300);

	// สร้างอุปกรณ์ PNG ด้วยความกว้าง ความสูง และความละเอียดที่ระบุ
	auto device = MakeObject<Devices::PngDevice>(width, height, resolution);

	// สร้าง File Stream สำหรับอิมเมจเอาต์พุต
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

	// แปลงหน้า PDF เป็นภาพ PNG
	device->Process(page, imageStream);

	// ปิดสตรีม
	imageStream->Close();
}

การแปลงไฟล์ PUB เป็นรูปภาพ TIFF โดยใช้ C++

ต่อไปนี้เป็นขั้นตอนในการแปลงไฟล์ PUB เป็นรูปภาพ TIFF

  • โหลดไฟล์ PUB โดยใช้เมธอด PubFactory::CreateParser(System::String fileName)
  • แปลงไฟล์ PUB เป็นรูปแบบ PDF โดยใช้ ConvertToPdf(System::SharedPtr doc, System::String fileName) วิธีการ
  • โหลดไฟล์ PDF ที่สร้างขึ้นโดยใช้คลาส Document
  • รับขนาดของ PDF หน้าแรก
  • สร้างอินสแตนซ์ของคลาส Resolution
  • สร้างอินสแตนซ์ของคลาส TiffSettings และตั้งค่าที่จำเป็น
  • สร้างอินสแตนซ์ของคลาส TiffDevice โดยระบุความกว้าง ความสูง ความละเอียด และ TiffSettings
  • สร้างอินสแตนซ์ของ FileStream สำหรับภาพที่ส่งออก
  • แปลงไฟล์ PDF เป็นภาพ TIFF โดยใช้ TiffDevice->Process( System::SharedPtrAspose::Pdf::Document เอกสาร, int32t fromPage, int32t toPage, System::SharedPtrSystem::IO::Stream เอาต์พุต) วิธีการ
  • ปิดสตรีม.

โค้ดตัวอย่างต่อไปนี้สาธิตวิธีการแปลงไฟล์ PUB เป็นอิมเมจ TIFF โดยใช้ C++

// ต้นทาง PUB และพาธไฟล์ PDF เอาต์พุต
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// โหลดไฟล์ PUB
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// แปลงไฟล์ PUB เป็น PDF
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// โหลดไฟล์ PDF ที่สร้างขึ้น
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// รับขนาดของ PDF หน้าแรก
int width = info->GetPageWidth(1);
int height = info->GetPageHeight(1);

// สร้างอินสแตนซ์ของคลาส Resolution
auto resolution = MakeObject<Devices::Resolution>(300);

// สร้างอินสแตนซ์ของคลาส TiffSettings และตั้งค่าที่จำเป็น
auto settings = MakeObject<Devices::TiffSettings>();
settings->set_Compression(Devices::CompressionType::None);
settings->set_Depth(Devices::ColorDepth::Default);

// สร้างอุปกรณ์ TIFF ด้วยความกว้าง ความสูง ความละเอียด และการตั้งค่า TiffSettings ที่ระบุ
auto device = MakeObject<Devices::TiffDevice>(width, height, resolution, settings);

// สร้าง File Stream สำหรับอิมเมจเอาต์พุต
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(u"OutputDirectory\\pdf.tiff");

// แปลงไฟล์ PDF เป็นภาพ TIFF
device->Process(pdfDocument, 1, 1, imageStream);

// ปิดสตรีม
imageStream->Close();

รับใบอนุญาตฟรี

คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีแปลงไฟล์ Microsoft Publisher (PUB) เป็นรูปภาพ JPG, PNG และ TIFF โดยใช้ C++ เราใช้ Aspose.PUB for C++ และ Aspose.PDF for C++ API เพื่อให้บรรลุเป้าหมายนี้ คุณสามารถสำรวจ API เหล่านี้โดยละเอียดได้โดยไปที่เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย