รูปภาพสามารถใช้เพื่อแสดงสิ่งต่างๆ มากมายตั้งแต่ภาพถ่ายผลิตภัณฑ์ไปจนถึงเวิร์กโฟลว์และแผนผังลำดับงาน ไฟล์ PDF สามารถมีรูปภาพตามประเภทของข้อมูลที่มี ตัวอย่างเช่น คู่มือการติดตั้งเก้าอี้จะมีรูปภาพของเก้าอี้ที่สาธิตวิธีการประกอบ อาจมีสถานการณ์ที่คุณต้องจัดการรูปภาพในไฟล์ PDF โดยทางโปรแกรม ในกรณีดังกล่าว บทความนี้จะสอนวิธีทำงานกับรูปภาพในไฟล์ PDF โดยใช้ C++ โดยเฉพาะอย่างยิ่ง เราจะพูดถึงวิธีการเพิ่ม แทนที่ แยกและลบรูปภาพใน PDF โดยใช้ C++
- C++ API เพื่อเพิ่ม อัปเดต ลบ และแทนที่รูปภาพ PDF
- เพิ่มรูปภาพลงในไฟล์ PDF โดยใช้ C++
- แยกรูปภาพออกจากไฟล์ PDF โดยใช้ C++
- ลบรูปภาพออกจากไฟล์ PDF โดยใช้ C++
- แทนที่รูปภาพในไฟล์ PDF โดยใช้ C++
C++ API เพื่อเพิ่ม อัปเดต ลบ และแทนที่รูปภาพ PDF
Aspose.PDF for C++ เป็นไลบรารี C++ ที่มีประสิทธิภาพซึ่งช่วยให้คุณสร้าง อ่าน และแก้ไขไฟล์ PDF นอกจากนี้ API ยังรองรับการทำงานกับรูปภาพในเอกสาร PDF คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด
PM> Install-Package Aspose.PDF.Cpp
เพิ่มรูปภาพไปยังไฟล์ PDF ใน C ++
ต่อไปนี้เป็นขั้นตอนในการเพิ่มรูปภาพลงในไฟล์ PDF
- โหลดไฟล์ PDF โดยใช้คลาส Document
- ดึงหน้าที่คุณต้องการเพิ่มรูปภาพโดยใช้เมธอด Document->getPages()->idxget(int32t index)
- สร้างอินสแตนซ์ของคลาส Rectangle
- เพิ่มรูปภาพลงในเพจโดยใช้ Page->AddImage(System::String imagePath, System::SharedPtrAspose::Pdf::Rectangle สี่เหลี่ยมผืนผ้า) วิธีการ
- บันทึกไฟล์ PDF โดยใช้วิธี Document->Save(System::String outputFileName)
โค้ดตัวอย่างต่อไปนี้แสดงวิธีเพิ่มรูปภาพลงในไฟล์ PDF โดยใช้ C++
// โหลดไฟล์ PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");
// ดึงหน้าแรก
auto page = pdfDocument->get_Pages()->idx_get(1);
// สร้างตัวอย่างของคลาสสี่เหลี่ยมผืนผ้า
double x = 100.0, y = 600.0, width = 200.0, height = 200.0;
auto rectangle = MakeObject<Aspose::Pdf::Rectangle>(x, y, x + width, y + height);
// เพิ่มรูปภาพลงในเพจ
page->AddImage(u"SourceDirectory\\Images\\AsposeLogo.png", rectangle);
// บันทึกไฟล์ PDF
pdfDocument->Save(u"OutputDirectory\\add_image_output.pdf");
แยกรูปภาพจาก PDF ใน C ++
ในการแยกรูปภาพจากไฟล์ PDF ใน C ++ ให้ทำตามขั้นตอนด้านล่าง
- โหลดไฟล์ PDF โดยใช้คลาส Document
- แยกรูปภาพโดยใช้เมธอด Document->getPages()->idxget(int32t index)->getResources()->getImages()->idxget(int32t index)
- สร้างอินสแตนซ์ของคลาส FileStream เพื่อบันทึกภาพเอาต์พุต
- บันทึกภาพโดยใช้ XImage->Save(System::SharedPtrSystem::IO::Stream สตรีม, ระบบ::SharedPtrSystem::Drawing::Imaging::ImageFormat รูปแบบ) วิธีการ
- ปิดสตรีม.
โค้ดตัวอย่างต่อไปนี้สาธิตวิธีแยกรูปภาพจาก PDF ใน C++
// โหลดไฟล์ PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// แยกภาพเฉพาะ
auto image = pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);
// สร้างสตรีมวัตถุเพื่อบันทึกอิมเมจเอาต์พุต
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(u"OutputDirectory\\extract_image_output.jpg");
// บันทึกภาพผลลัพธ์
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
// ปิดสตรีม
outputImage->Close();
ลบรูปภาพออกจากไฟล์ PDF โดยใช้ C++
ต่อไปนี้เป็นขั้นตอนในการลบรูปภาพออกจากไฟล์ PDF ใน C++
- โหลดไฟล์ PDF โดยใช้คลาส Document
- ลบรูปภาพเฉพาะโดยใช้เมธอด Document->getPages()->idxget(int32t index)->getResources()->getImages()->Delete(int32t index)
- บันทึกไฟล์ PDF โดยใช้วิธี Document->Save(System::String outputFileName)
โค้ดตัวอย่างต่อไปนี้แสดงวิธีลบรูปภาพออกจากไฟล์ PDF ใน C++
// โหลดไฟล์ PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// ลบภาพใดภาพหนึ่ง
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Delete(1);
// บันทึกไฟล์ PDF
pdfDocument->Save(u"OutputDirectory\\delete_image_output.pdf");
แทนที่รูปภาพใน PDF ใน C ++
ในการแทนที่รูปภาพใน PDF ใน C ++ ให้ทำตามขั้นตอนด้านล่าง
- โหลดไฟล์ PDF โดยใช้คลาส Document
- เปิดรูปภาพใหม่โดยใช้คลาส FileStream
- แทนที่รูปภาพเก่าโดยใช้ Document->getPages()->idxget(int32t index)->getResources()->getImages()->Replace(int32t index, System::SharedPtrSystem::IO::Stream สตรีม) วิธีการ
- ปิดสตรีม.
- บันทึกไฟล์ PDF โดยใช้วิธี Document->Save(System::String outputFileName)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทนที่รูปภาพในไฟล์ PDF ใน C++
// โหลดไฟล์ PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// เปิดภาพใหม่ด้วย FileStream
System::SharedPtr<System::IO::FileStream> newImage = System::IO::File::OpenRead(u"SourceDirectory\\Images\\aspose.png");
// แทนที่ภาพเก่า
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Replace(1, newImage);
// ปิดสตรีม
newImage->Close();
// บันทึกไฟล์ PDF
pdfDocument->Save(u"OutputDirectory\\replace_image_output.pdf");
C ++ API เพื่อทำงานกับรูปภาพ PDF - รับใบอนุญาตฟรี
คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีการทำงานกับรูปภาพในไฟล์ PDF โดยใช้ C++ โดยเฉพาะอย่างยิ่ง คุณได้เรียนรู้วิธีเพิ่ม แยก แทนที่ และลบรูปภาพจากไฟล์ PDF โดยใช้ Aspose.PDF for C++ API API มีคุณสมบัติเพิ่มเติมมากมายสำหรับการทำงานกับไฟล์ PDF ซึ่งคุณสามารถสำรวจโดยละเอียดได้โดยไปที่ เอกสารอย่างเป็นทางการ ในกรณีที่มีข้อสงสัย โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี