この記事では、C# を使用して PDF からリンクを抽出する 方法について説明します。**C# を使用して PDF リンク抽出プログラムを開発するための IDE 設定、手順、サンプル コードが含まれています。ページから選択した注釈を取得し、リンク タイプの注釈から URI を取得する方法を学習します。
C# を使用して PDF から URL を抽出する手順
- IDE を設定して、Aspose.PDF for .NET を使用して PDF ページから URI を抽出します。
- ソースPDF fileを読み込み、その中のすべてのページをループします。
- ページ上のリンク注釈を見つけるための annotation selector を作成します
- すべての注釈を抽出し、選択した注釈のリストを取得します
- 各リンク注釈を反復処理し、関連するアクションを見つける
- URIにアクセスして表示するには、GoToURIActionにアクションをキャストします。
これらの手順では、C# を使用して PDF からハイパーリンクを抽出する方法について説明します。リンク注釈の注釈セレクターを作成し、それを使用してターゲット注釈のリストを選択します。各リンク注釈を GoToURIAction に型キャストし、このアクションから URI を取得します。
C# を使用して PDF からハイパーリンクを抽出するコード
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."); | |
} | |
} |
上記のコードは、C# を使用して PDF からすべてのリンクを抽出する方法を示しています。AnnotationSelector は、ページと四角形オブジェクトを必要とする LinkAnnotation オブジェクトを受け取ります。Page クラスの Accept() メソッドは、リンク セレクター オブジェクトを受け取り、リンク注釈を Selected コレクションに保存します。
この簡単なチュートリアルでは、PDF ページからハイパーリンクを抽出する手順を説明しました。PDF ファイルからハイパーリンクを削除するには、記事 C# で PDF からハイパーリンクを削除する方法 を参照してください。