В этой статье рассказывается, как извлечь ссылки из 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#.