ภาพที่มีค่าพันคำ. ดังนั้น รูปภาพและกราฟิกจึงมีบทบาทสำคัญใน PDF เช่นเดียวกับเอกสารอื่นๆ เนื่องจาก PDF กลายเป็นหนึ่งในรูปแบบไฟล์ที่ได้รับความนิยมและใช้กันอย่างแพร่หลาย บทความนี้จึงมุ่งไปที่วิธีจัดการรูปภาพในไฟล์ PDF โดยทางโปรแกรม แม่นยำยิ่งขึ้น คุณจะได้เรียนรู้วิธีเพิ่ม แยก ลบ และแทนที่รูปภาพจากไฟล์ PDF ใน C# .NET
- C# .NET API เพื่อทำงานกับรูปภาพในรูปแบบ PDF
- เพิ่มรูปภาพใน PDF โดยใช้ C#
- แยกรูปภาพจาก PDF โดยใช้ C #
- ลบรูปภาพออกจาก PDF โดยใช้ C#
- แทนที่รูปภาพใน PDF โดยใช้ C#
- รับใบอนุญาตฟรี
C# API สำหรับเพิ่ม ลบ และแทนที่รูปภาพใน PDF - ดาวน์โหลดฟรี
Aspose.PDF for .NET เป็นไลบรารีคลาส C# ที่ให้คุณสร้างและจัดการเอกสาร PDF จากภายในแอปพลิเคชัน .NET เมื่อใช้ API คุณสามารถใช้คุณลักษณะการทำงานอัตโนมัติของ PDF ทั้งขั้นพื้นฐานและขั้นสูงได้อย่างง่ายดาย นอกจากนี้ คุณสามารถจัดการรูปภาพในไฟล์ PDF ที่มีอยู่ได้ สามารถดาวน์โหลด API เป็น DLL หรือติดตั้งผ่าน NuGet
PM> Install-Package Aspose.Pdf
เพิ่มรูปภาพในไฟล์ PDF ใน C# .NET
ต่อไปนี้เป็นขั้นตอนในการเพิ่มรูปภาพไปยังไฟล์ PDF โดยใช้ Aspose.PDF for .NET
- ใช้คลาส Document เพื่อสร้างใหม่หรือโหลดไฟล์ PDF ที่มีอยู่
- รับการอ้างอิงของหน้าที่ต้องการในวัตถุ หน้า
- เพิ่มรูปภาพไปยังคอลเลกชัน ทรัพยากร ของเพจ
- ใช้ตัวดำเนินการต่อไปนี้เพื่อวางภาพบนหน้า:
- GSave operator to save the current graphical state.
- ConcatenateMatrix operator to specify where the image is to be placed.
- ทำ operator to draw the image on the page.
- GRestore operator to save the updated graphical state.
- บันทึกไฟล์ PDF ที่อัปเดตโดยใช้เมธอด Document.Save(String)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มรูปภาพในไฟล์ PDF โดยใช้ C#
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// เปิดเอกสาร
Document pdfDocument = new Document("AddImage.pdf");
// ตั้งค่าพิกัด
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
// รับหน้าที่ต้องการเพิ่มรูปภาพ
Page page = pdfDocument.Pages[1];
// โหลดรูปภาพลงในสตรีม
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);
// เพิ่มรูปภาพไปยังคอลเลกชันรูปภาพของทรัพยากรของเพจ
page.Resources.Images.Add(imageStream);
// การใช้ตัวดำเนินการ GSave: ตัวดำเนินการนี้บันทึกสถานะกราฟิกปัจจุบัน
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
// สร้างวัตถุสี่เหลี่ยมผืนผ้าและเมทริกซ์
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });
// การใช้ตัวดำเนินการ ConcatenateMatrix (concatenate matrix): กำหนดวิธีการวางรูปภาพ
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
// การใช้ตัวดำเนินการ Do: ตัวดำเนินการนี้วาดภาพ
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
// การใช้ตัวดำเนินการ GRestore: ตัวดำเนินการนี้จะกู้คืนสถานะกราฟิก
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());
// บันทึกเอกสารที่อัปเดต
pdfDocument.Save("AddImage_out.pdf");
แยกรูปภาพจาก PDF ใน C
ในกรณีที่คุณต้องการแยกรูปภาพทั้งหมดออกจากไฟล์ PDF คุณสามารถทำได้โดยทำตามขั้นตอนด้านล่าง
- ใช้คลาส Document เพื่อโหลดไฟล์ PDF ที่มีอยู่
- รับภาพที่ต้องการในวัตถุ XImage จากคอลเลกชัน ทรัพยากร ของหน้าใดหน้าหนึ่งโดยใช้ดัชนี
- บันทึกภาพที่แยกออกมาในรูปแบบที่ต้องการโดยใช้เมธอด XImage.Save(FileStream, ImageFormat)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกรูปภาพจาก PDF โดยใช้ C#
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// เปิดเอกสาร
Document pdfDocument = new Document("ExtractImages.pdf");
// แยกภาพเฉพาะ
XImage xImage = pdfDocument.Pages[1].Resources.Images[1];
FileStream outputImage = new FileStream("output.jpg", FileMode.Create);
// บันทึกภาพเอาต์พุต
xImage.Save(outputImage, ImageFormat.Jpeg);
outputImage.Close();
ลบรูปภาพออกจาก PDF ใน C#
เมื่อคุณเข้าถึงทรัพยากรของหน้าใน PDF แล้ว คุณสามารถลบรูปภาพออกจากหน้านั้นได้ ต่อไปนี้เป็นขั้นตอนในการลบรูปภาพออกจากไฟล์ PDF โดยใช้ C#
- โหลดไฟล์ PDF โดยใช้คลาส Document
- ลบรูปภาพโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- ลบ() - Delete all images.
- ลบ (Int32) - Delete image by index.
- ลบ (สตริง) - Delete image by name.
- บันทึกไฟล์ PDF ที่อัปเดตโดยใช้เมธอด Document.Save(String)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีลบรูปภาพออกจาก PDF โดยใช้ C#
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// เปิดเอกสาร
Document pdfDocument = new Document("DeleteImages.pdf");
// ลบภาพใดภาพหนึ่ง
pdfDocument.Pages[1].Resources.Images.Delete(1);
// บันทึกไฟล์ PDF ที่อัปเดต
pdfDocument.Save("output.pdf");
แทนที่รูปภาพใน PDF ใน C#
Aspose.PDF for .NET ยังให้คุณแทนที่รูปภาพเฉพาะใน PDF สำหรับสิ่งนี้ คุณสามารถแทนที่รูปภาพในคอลเลกชันรูปภาพของเพจได้ ต่อไปนี้เป็นขั้นตอนในการแทนที่รูปภาพใน PDF โดยใช้ C#
- โหลดไฟล์ PDF โดยใช้คลาส Document
- แทนที่รูปภาพที่ต้องการโดยใช้เมธอด [Document.Pages1.Resources.Images.Replace(Int32, Stream, Int32, Boolean)]24
- บันทึกไฟล์ PDF ที่อัปเดตโดยใช้เมธอด Document.Save(String)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแทนที่รูปภาพใน PDF โดยใช้ C#
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// เปิดเอกสาร
Document pdfDocument = new Document("input.pdf");
// แทนที่รูปภาพเฉพาะ
pdfDocument.Pages[1].Resources.Images.Replace(1, new FileStream("lovely.jpg", FileMode.Open));
// บันทึกไฟล์ PDF ที่อัปเดต
pdfDocument.Save("output.pdf");
C# .NET PDF API - รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อทดลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
รูปภาพและวัตถุกราฟิกเป็นองค์ประกอบที่สำคัญของเอกสาร PDF ดังนั้นในบทความนี้ เราจึงกล่าวถึงวิธีจัดการรูปภาพใน PDF โดยใช้ C# .NET API บทช่วยสอนทีละขั้นตอนและตัวอย่างโค้ดแสดงวิธีเพิ่ม แยก ลบ และแทนที่รูปภาพในไฟล์ PDF ใน C# คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ C# PDF API ได้โดยใช้ เอกสารประกอบ