PDF ドキュメント内のハイパーリンクを使用することで、ユーザーはページにジャンプしたりドキュメントを開いたりすることができ、PDF ファイルはよりインタラクティブで使いやすくなります。しかし、リンクの対象サイトが変更された場合や、リンクが誤ったページを指している場合は、ドキュメントのユーザーにトラブルや誤解を招く可能性があります。そのため、PDF ドキュメント内の誤ったまたは無効なハイパーリンクを変更または削除することは、ハイパーリンクの正確性と使いやすさを確保するために非常に重要であり、ユーザーにとってより良い読書体験を提供することができます。この記事では、Spire.PDF for .NET を使用して、.NET プログラムを介して PDF ドキュメント内のハイパーリンクを変更または削除する方法を紹介します。 C#/VB.NET で PDF のハイパーリンクの URL を変更する C#/VB.NET で PDF からハイパーリンクを削除する Spire.PDF for.NET をインストールします まず、Spire.PDF for.NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.PDF C#/VB.NET で PDF のハイパーリンクの URL を変更する PDF ページ上のハイパーリンクの URL を変更するには、ハイパーリンク注釈ウィジェットを取得し、PdfUriAnnotationWidget.Uri プロパティを使用して URL を再設定する必要があります。詳しい手順は以下の通りです。 PdfDocument のオブジェクトを作成します。 PdfDocument.LoadFromFIle() メソッドを使って PDF ファイルを読み込みます。 PdfDocument.Pages[] プロパティを使用してドキュメントの最初のページを取得します。 PdfPageBase.AnnotationsWidget[] プロパティを使用して、ページの最初のハイパーリンクウィジェットを取得します。 PdfUriAnnotationWidget.Uri プロパティを使用してハイパーリンクの URL を再設定します。 PdfDocument.SaveToFile() メソッドを使用してドキュメントを保存します。 C# VB.NET using Spire.Pdf; using Spire.Pdf.Annotations; using System; namespace ChangeHyperlink { internal class Program { static void Main(string[] args) { //PdfDocumentのオブジェクトを作成する PdfDocument pdf = new PdfDocument(); //PDFファイルを読み込む pdf.LoadFromFile("サンプル.pdf"); //最初のページを取得する PdfPageBase page = pdf.Pages[0]; //最初のハイパーリンクを取得する PdfUriAnnotationWidget url = (PdfUriAnnotationWidget)page.AnnotationsWidget[0]; //このハイパーリンクのURLを再設定する url.Uri = "https://www.jma.go.jp/jma/kishou/know/whitep/3-1.html"; //PDFファイルを保存する pdf.SaveToFile("ハイパーリンクの変更.pdf"); pdf.Dispose(); } } } Imports Spire.Pdf Imports Spire.Pdf.Annotations Imports System Namespace ChangeHyperlink Friend Class Program Shared Sub Main(ByVal args() As String) 'PdfDocumentのオブジェクトを作成する Dim pdf As PdfDocument = New PdfDocument() 'PDFファイルを読み込む pdf.LoadFromFile("サンプル.pdf") '最初のページを取得する Dim page As PdfPageBase = pdf.Pages(0) '最初のハイパーリンクを取得する Dim url As PdfUriAnnotationWidget = CType(page.AnnotationsWidget(0), PdfUriAnnotationWidget) 'このハイパーリンクのURLを再設定する url.Uri = "https://www.jma.go.jp/jma/kishou/know/whitep/3-1.html" 'PDFファイルを保存する pdf.SaveToFile("ハイパーリンクの変更.pdf") pdf.Dispose() End Sub End Class End Namespace C#/VB.NET で PDF からハイパーリンクを削除する Spire.PDF for .NET は、PdfPageBase.AnnotationsWidget.RemoveAt() メソッドを提供し、インデックスによって PDF ページ上のハイパーリンクを削除します。PDF ドキュメントからすべてのハイパーリンクを削除するには、ページを繰り返し、各ページの注釈ウィジェットを取得し、注釈が PdfUriAnnotationWidget クラスのインスタンスであるかどうかを確認し、もしそうであれば注釈を削除する必要があります。以下に詳細な手順を示します。 PdfDocument のオブジェクトを作成します。 PdfDocument.LoadFromFIle() メソッドを使って PDF ドキュメントを読み込みます。 特定のハイパーリンクを削除するには、ハイパーリンクを含むページを取得し、PdfPageBase.AnnotationsWidget.RemoveAt() メソッドを使用してそのインデックスでハイパーリンクを削除します。 すべてのハイパーリンクを削除するには、ドキュメント内のページをループして、PdfPageBase.AnnotationsWidget プロパティを使用して各ページの注釈コレクションを取得します。 注釈ウィジェットが PdfUriAnnotationWidget クラスのインスタンスであるかどうかをチェックし、そうであれば PdfAnnotationCollection.Remove(PdfUriAnnotationWidget) メソッドを使用して注釈ウィジェットを削除します。 PdfDocument.SaveToFIle() メソッドを使用してドキュメントを保存します。 C# VB.NET using Spire.Pdf; using Spire.Pdf.Annotations; using System; using System.Dynamic; namespace DeleteHyperlink { internal class Program { static void Main(string[] args) { //PdfDocumentのオブジェクトを作成する PdfDocument pdf = new PdfDocument(); //PDFファイルを読み込む pdf.LoadFromFile("サンプル.pdf"); //最初のページの2番目のハイパーリンクを削除する //PdfPageBase page = pdf.Pages[0]; //page.AnnotationsWidget.RemoveAt(1); //ドキュメント内のすべてのハイパーリンクを削除する //ドキュメント内のページをループする foreach (PdfPageBase page in pdf.Pages) { //ページ内の注釈のコレクションを取得する PdfAnnotationCollection collection = page.AnnotationsWidget; for (int i = collection.Count - 1; i >= 0; i--) { PdfAnnotation annotation = collection[i]; //注釈がPdfUriAnnotationWidgetのインスタンスであるかどうかを判定する if (annotation is PdfUriAnnotationWidget) { PdfUriAnnotationWidget url = (PdfUriAnnotationWidget)annotation; //ハイパーリンクを削除する collection.Remove(url); } } } //ドキュメントを保存する pdf.SaveToFile("ハイパーリンクの削除.pdf"); pdf.Dispose(); } } } Imports Spire.Pdf Imports Spire.Pdf.Annotations Imports System Imports System.Dynamic Namespace DeleteHyperlink Friend Class Program Shared Sub Main(ByVal args() As String) 'PdfDocumentのオブジェクトを作成する Dim pdf As PdfDocument = New PdfDocument() 'PDFファイルを読み込む pdf.LoadFromFile("サンプル.pdf") '最初のページの2番目のハイパーリンクを削除する 'PdfPageBase page = pdf.Pages[0]; 'page.AnnotationsWidget.RemoveAt(1); 'ドキュメント内のすべてのハイパーリンクを削除する 'ドキュメント内のページをループする Dim page As PdfPageBase For Each page In pdf.Pages 'ページ内の注釈のコレクションを取得する Dim collection As PdfAnnotationCollection = page.AnnotationsWidget Dim i As Integer For i = collection.Count - 1 To 0 Step i - 1 Dim annotation As PdfAnnotation = collection(i) '注釈がPdfUriAnnotationWidgetのインスタンスであるかどうかを判定する If TypeOf annotation Is PdfUriAnnotationWidget Then Dim url As PdfUriAnnotationWidget = CType(annotation, PdfUriAnnotationWidget) 'ハイパーリンクを削除する collection.Remove(url) End If Next Next 'ドキュメントを保存する pdf.SaveToFile("ハイパーリンクの削除.pdf") pdf.Dispose() End Sub End Class End Namespace 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。