Artikel ini memberikan panduan tentang cara mengekstrak tautan dari PDF menggunakan C#. Artikel ini berisi pengaturan IDE, langkah-langkah, dan contoh kode untuk mengembangkan pengekstrak tautan PDF menggunakan C#. Anda akan belajar mengambil anotasi terpilih dari halaman dan mengambil URI dari anotasi jenis tautan.
Langkah-langkah untuk Mengekstrak URL dari PDF menggunakan C#
- Atur IDE untuk menggunakan Aspose.PDF for .NET untuk mengekstrak URI dari halaman PDF
- Muat PDF sumber file dan ulangi semua halaman di dalamnya
- Buat annotation selector untuk menemukan anotasi tautan pada halaman
- Ekstrak semua anotasi dan ambil daftar anotasi yang dipilih
- Ulangi setiap anotasi tautan dan temukan tindakan terkait
- Transmisikan tindakan ke GoToURIAction untuk mengakses dan menampilkan URI
Langkah-langkah ini menjelaskan cara mengekstrak hyperlink dari PDF menggunakan C#. Buat pemilih anotasi untuk anotasi tautan dan gunakan untuk memilih daftar anotasi target. Typecast setiap anotasi tautan ke GoToURIAction dan ambil URI dari tindakan ini.
Kode untuk Mengekstrak Hyperlink dari PDF menggunakan 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."); | |
} | |
} |
Kode di atas menunjukkan cara mengekstrak semua tautan dari PDF menggunakan C#. AnnotationSelector mengambil objek LinkAnnotation yang memerlukan objek halaman dan persegi panjang. Metode Accept() di kelas Page mengambil objek pemilih tautan dan menyimpan anotasi tautan di koleksi Selected.
Tutorial singkat ini mengajarkan kita proses mengekstrak hyperlink dari halaman PDF. Untuk menghapus hyperlink dari berkas PDF, lihat artikel Cara menghapus hyperlink dari PDF di C#.