บทความนี้จะแนะนำวิธีดึงลิงก์จาก PDF โดยใช้ C#** บทความนี้มีการตั้งค่า IDE ขั้นตอน และตัวอย่างโค้ดสำหรับการพัฒนาเครื่องมือดึงลิงก์ PDF โดยใช้ C#** คุณจะได้เรียนรู้วิธีดึงคำอธิบายประกอบที่เลือกจากหน้าและดึง URI จากคำอธิบายประกอบประเภทลิงก์
ขั้นตอนในการแยก URL จาก PDF โดยใช้ C#
- ตั้งค่า IDE ให้ใช้ Aspose.PDF for .NET เพื่อแยก URI จากหน้า PDF
- โหลด PDF ต้นฉบับ file และวนซ้ำทุกหน้าในนั้น
- สร้าง annotation selector เพื่อค้นหาคำอธิบายลิงก์บนเพจ
- ดึงคำอธิบายประกอบทั้งหมดและเรียกค้นรายการคำอธิบายประกอบที่เลือก
- ทำซ้ำผ่านคำอธิบายลิงก์แต่ละอันและค้นหาการดำเนินการที่เกี่ยวข้อง
- ส่งการดำเนินการไปยัง GoToURIAction เพื่อเข้าถึงและแสดง URI
ขั้นตอนเหล่านี้อธิบายวิธีการ แยกไฮเปอร์ลิงก์จาก PDF โดยใช้ C# สร้างตัวเลือกคำอธิบายประกอบสำหรับคำอธิบายประกอบลิงก์และใช้ตัวเลือกนี้เพื่อเลือกรายการคำอธิบายประกอบเป้าหมาย แปลงคำอธิบายประกอบลิงก์แต่ละรายการเป็น GoToURIAction และดึง URI จากการดำเนินการนี้
โค้ดสำหรับดึงไฮเปอร์ลิงก์จาก PDF โดยใช้ C#
using System; | |
using System.Linq; | |
using Aspose.Pdf; | |
using Aspose.Pdf.Annotations; | |
class PdfLinkExtractor | |
{ | |
static void Main() | |
{ | |
// Initialize and apply the Aspose.PDF license | |
new License().SetLicense("license.lic"); | |
// Load the PDF document containing hyperlinks | |
using (var pdfDocument = new Document("PdfWithLinks.pdf")) | |
{ | |
// Loop through each page in the PDF document | |
foreach (var (pdfPage, pageNumber) in pdfDocument.Pages.Select((page, index) => (page, index + 1))) | |
{ | |
// Display the current page number | |
Console.WriteLine($"Processing Page {pageNumber}"); | |
// Create an annotation selector to find link annotations on the page | |
var linkSelector = new AnnotationSelector(new LinkAnnotation(pdfPage, Rectangle.Trivial)); | |
// Extract all annotations from the current page | |
pdfPage.Accept(linkSelector); | |
// Retrieve the list of selected link annotations | |
var linkAnnotations = linkSelector.Selected; | |
// Iterate through each link annotation | |
foreach (var annotation in linkAnnotations) | |
{ | |
// Check if the annotation has any associated actions | |
if (annotation.Actions.Any()) | |
{ | |
// Cast the action to a GoToURIAction to access the URI | |
var uriAction = (GoToURIAction)((LinkAnnotation)annotation).Action; | |
// Display the extracted URI | |
Console.WriteLine($"Found URI: {uriAction.URI}"); | |
} | |
} | |
} | |
} | |
// Indicate that the process is complete | |
Console.WriteLine("URI extraction completed."); | |
} | |
} |
โค้ดด้านบนแสดงวิธีการ แยกลิงก์ทั้งหมดจาก PDF โดยใช้ C# AnnotationSelector จะรับอ็อบเจ็กต์ LinkAnnotation ที่ต้องมีอ็อบเจ็กต์เพจและสี่เหลี่ยมผืนผ้า วิธี Accept() ในคลาส Page จะรับอ็อบเจ็กต์ตัวเลือกลิงก์และบันทึกคำอธิบายประกอบลิงก์ในคอลเล็กชัน Selected
บทช่วยสอนฉบับย่อนี้จะสอนเราเกี่ยวกับกระบวนการดึงไฮเปอร์ลิงก์ออกจากหน้า PDF หากต้องการลบไฮเปอร์ลิงก์ออกจากไฟล์ PDF โปรดอ่านบทความ วิธีการลบไฮเปอร์ลิงก์จาก PDF ใน C#