เพิ่มหรืออัปเดตไฮเปอร์ลิงก์ใน PDF โดยใช้ C# .NET

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

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

PM> Install-Package Aspose.PDF

ต่อไปนี้เป็นขั้นตอนในการเพิ่มไฮเปอร์ลิงก์ไปยังไฟล์ PDF ใน C#

  • สร้าง PDF ใหม่หรือโหลดไฟล์ที่มีอยู่โดยใช้คลาส Document
  • รับข้อมูลอ้างอิงของหน้าที่คุณต้องการเพิ่มไฮเปอร์ลิงก์จากคอลเล็กชัน Document.Pages
  • สร้างวัตถุของคลาส LinkAnnotation และตั้งค่าคุณสมบัติ
  • เริ่มต้นคุณสมบัติ LinkAnnotation.Action เป็นวัตถุ GoToURIaction ที่มี URL
  • เพิ่มลิงก์ไปยังคอลเลกชัน Page.Annotations
  • บันทึก PDF โดยใช้วิธี Document.Save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มไฮเปอร์ลิงก์ใน PDF ใน C#

// เปิดเอกสาร
Document document = new Document("input.pdf");
            
// รับการอ้างอิงของหน้า
var page = document.Pages[1];
            
// สร้างวัตถุคำอธิบายประกอบลิงก์
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
            
// สร้างวัตถุเส้นขอบสำหรับ LinkAnnotation
Border border = new Border(link);
            
// ตั้งค่าความกว้างของเส้นขอบเป็น 0
border.Width = 0;
            
// กำหนดเส้นขอบสำหรับ LinkAnnotation
link.Border = border;
            
// ระบุประเภทลิงก์เป็น URI ระยะไกล
link.Action = new GoToURIAction("www.aspose.com");
            
// เพิ่มคำอธิบายประกอบลิงก์ไปยังคอลเลกชันคำอธิบายประกอบของหน้าแรกของไฟล์ PDF
page.Annotations.Add(link);

// บันทึกเอกสารที่อัปเดต
document.Save("output.pdf");

คุณยังสามารถนำทางไปยังไฟล์ PDF ภายนอกจาก PDF หนึ่งโดยใช้ไฮเปอร์ลิงก์ ขั้นตอนต่อไปนี้สาธิตวิธีเพิ่มไฮเปอร์ลิงก์ไปยังไฟล์ PDF ภายนอกใน C#

  • สร้าง PDF ใหม่หรือโหลดไฟล์ที่มีอยู่โดยใช้คลาส Document
  • รับข้อมูลอ้างอิงของหน้าที่คุณต้องการเพิ่มไฮเปอร์ลิงก์จากคอลเล็กชัน Document.Pages
  • สร้างวัตถุของคลาส LinkAnnotation และตั้งค่าคุณสมบัติ
  • เริ่มต้นคุณสมบัติ LinkAnnotation.Action เป็นวัตถุ GoToRemoteAction ที่มีเส้นทางไปยัง PDF ภายนอก
  • เพิ่มลิงก์ไปยังคอลเลกชัน Page.Annotations
  • บันทึกเอกสารโดยใช้เมธอด Document.Save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มไฮเปอร์ลิงก์ไปยัง PDF ภายนอกใน C#

// เปิดเอกสาร
Document document = new Document("input.pdf");

// รับการอ้างอิงของหน้า
var page = document.Pages[1];

// สร้างไฮเปอร์ลิงก์
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
link.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

// กำหนดการกระทำ
link.Action = new GoToRemoteAction("external.pdf", 1);

// เพิ่มการเชื่อมโยงหลายมิติไปยังหน้า
page.Annotations.Add(link);

// บันทึกเอกสารที่อัปเดต
document.Save("output.pdf");

ในบางกรณี คุณต้องเลื่อนจากหน้าหนึ่งไปอีกหน้าหนึ่งภายในเอกสาร PDF คลาส LocalHyperlink ใช้เพื่อนำทางไปยังหน้าเฉพาะใน PDF ต่อไปนี้เป็นขั้นตอนในการบรรลุเป้าหมายนี้

  • สร้าง PDF ใหม่หรือโหลดไฟล์ที่มีอยู่โดยใช้คลาส Document
  • รับข้อมูลอ้างอิงของหน้าที่คุณต้องการเพิ่มไฮเปอร์ลิงก์จากคอลเล็กชัน Document.Pages
  • สร้างอินสแตนซ์ของ TextFragment เพื่อตั้งค่าข้อความของไฮเปอร์ลิงก์
  • สร้างอินสแตนซ์ของคลาส LocalHyperlink และตั้งค่าคุณสมบัติ LocalHyperlink.TargetPageNumber เป็นหมายเลขหน้าที่ต้องการ
  • กำหนดวัตถุ LocalHyperlink ให้กับคุณสมบัติ TextFragment.Hyperlink
  • เพิ่มข้อความในหน้าโดยใช้เมธอด Page.Paragraphs.Add(TextFragment)
  • บันทึก PDF โดยใช้วิธี Document.Save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มไฮเปอร์ลิงก์เพื่อไปยังหน้าเฉพาะใน PDF

// เปิดเอกสาร
Document document = new Document("input.pdf");

// รับการอ้างอิงของหน้า
var page = document.Pages[1];

// สร้างตัวอย่าง TextFragment
Aspose.Pdf.Text.TextFragment text = new Aspose.Pdf.Text.TextFragment("link page number test to page 7");
            
// สร้างอินสแตนซ์การเชื่อมโยงหลายมิติในเครื่อง
Aspose.Pdf.LocalHyperlink link = new Aspose.Pdf.LocalHyperlink();
            
// ตั้งค่าหน้าเป้าหมายสำหรับอินสแตนซ์ของลิงก์
link.TargetPageNumber = 7;
            
// ตั้งค่าการเชื่อมโยงหลายมิติ TextFragment
text.Hyperlink = link;
            
// เพิ่มข้อความในคอลเลกชันย่อหน้าของหน้า
page.Paragraphs.Add(text);

// บันทึกเอกสารที่อัปเดต
document.Save("output.pdf");

คุณยังสามารถเรียกไฮเปอร์ลิงก์ในไฟล์ PDF และอัปเดตคุณสมบัติได้ ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

  • โหลดไฟล์ PDF โดยใช้คลาส Document
  • รับข้อมูลอ้างอิงของหน้าที่เป็นที่ตั้งของไฮเปอร์ลิงก์จากคอลเล็กชัน Document.Pages
  • แยกวัตถุ LinkAnnotation ที่ต้องการจากคอลเลกชัน Page.Annotations ตามดัชนี
  • อัปเดตคุณสมบัติที่จำเป็นและบันทึก PDF โดยใช้วิธี Document.Save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีอัปเดตไฮเปอร์ลิงก์ใน PDF โดยใช้ C#

// เปิดเอกสาร
Document document = new Document("input.pdf");];

// รับคำอธิบายประกอบลิงก์แรกจากหน้าแรกของเอกสาร
LinkAnnotation linkAnnot = (LinkAnnotation)document.Pages[1].Annotations[1];
            
// เปลี่ยนการดำเนินการเชื่อมโยงและกำหนดเป้าหมายเป็นที่อยู่เว็บ
linkAnnot.Action = new GoToURIAction("www.aspose.com");

// เปลี่ยนคุณสมบัติอื่นๆ ตามต้องการ

// บันทึกเอกสารที่อัปเดต
document.Save("output.pdf");

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

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ Aspose.PDF for .NET โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

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

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