แปลงหน้า PDF เป็นภาพ PNG โดยใช้ C ++

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

C ++ API สำหรับแปลงหน้า PDF เป็นภาพ PNG

Aspose.PDF for C++ คือไลบรารี C++ ที่ให้คุณสร้าง อ่าน และอัปเดตเอกสาร PDF นอกจากนี้ API ยังรองรับการแปลงหน้า PDF เป็นภาพ PNG คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด

PM> Install-Package Aspose.PDF.Cpp

แปลงหน้า PDF เป็นภาพ PNG โดยใช้ C ++

ต่อไปนี้เป็นขั้นตอนในการแปลงหน้า PDF เป็นภาพ PNG

  • โหลดไฟล์ PDF โดยใช้คลาส Document
  • ทำซ้ำผ่านหน้าต่างๆ ของไฟล์ PDF
  • ภายในลูป ให้สร้างอินสแตนซ์ของคลาส FileStream สำหรับอิมเมจเอาต์พุต
  • สร้างอินสแตนซ์ของคลาส Resolution
  • สร้างอินสแตนซ์ของคลาส PngDevice
  • การใช้ [กระบวนการ (System::SharedPtr หน้า, System::SharedPtrSystem::IO::Stream เอาต์พุต) 10 วิธีการของคลาส PngDevice บันทึกรูปภาพของหน้า PDF

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

// โหลดไฟล์ PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");

// ทำซ้ำผ่านหน้า PDF
for (auto page : pdfDocument->get_Pages())
{
	// สร้างอินสแตนซ์ของคลาส FileStream
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

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

	// สร้างอินสแตนซ์ของคลาส PngDevice
	auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);

	// บันทึกหน้าเป็นภาพ
	pngDevice->Process(page, imageStream);

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

แปลงหน้า PDF เดียวเป็นภาพ PNG โดยใช้ C ++

ต่อไปนี้เป็นขั้นตอนในการแปลงไฟล์ PDF หน้าเดียวเป็นภาพ PNG

  • โหลดไฟล์ PDF โดยใช้คลาส Document
  • ดึงหน้าที่คุณต้องการแปลงโดยใช้เมธอด Document->getPages()->idxget(int32t index)
  • สร้างอินสแตนซ์ของคลาส FileStream สำหรับอิมเมจเอาต์พุต
  • สร้างอินสแตนซ์วัตถุของคลาส Resolution
  • สร้างอินสแตนซ์ของคลาส PngDevice
  • การใช้ [กระบวนการ (System::SharedPtr หน้า, System::SharedPtrSystem::IO::Stream เอาต์พุต) 17 วิธีการของคลาส PngDevice บันทึกรูปภาพของหน้า PDF

โค้ดตัวอย่างต่อไปนี้แสดงวิธีแปลงหน้า PDF เดียวเป็นภาพ PNG โดยใช้ C++

// โหลดไฟล์ PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");

// ดึงหน้าแรก
auto page = pdfDocument->get_Pages()->idx_get(1);

// สร้างอินสแตนซ์ของคลาส FileStream
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

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

// สร้างอินสแตนซ์ของคลาส PngDevice
auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);

// บันทึกหน้าเป็นภาพ
pngDevice->Process(page, imageStream);

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

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

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

บทสรุป

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

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