C#.NETを使用してPDFのハイパーリンクを追加または更新する

PDFは、注釈、メディア、フォームなどのさまざまな要素をサポートする機能豊富なドキュメント形式です。ハイパーリンクは、PDF内をあるPDFから別のPDFに移動するために使用される重要な要素です。 Webページなど。プログラムでPDFドキュメントを生成しているときに、ハイパーリンクを挿入する必要がある場合があります。したがって、この記事では、C#.NETのPDFファイルにハイパーリンクを追加および更新する方法を学習します。

PDFファイルのハイパーリンクを操作するには、Aspose.PDF for .NETを使用します。これは、.NETアプリケーション内からPDFファイルを作成、処理、および変換できる人気のあるAPIです。 APIのバイナリをダウンロードするか、NuGetを使用してインストールできます。

PM> Install-Package Aspose.PDF

以下は、C#でPDFファイルにハイパーリンクを追加する手順です。

  • Documentクラスを使用して、新しいPDFを作成するか、既存のPDFをロードします。
  • Document.Pagesコレクションからハイパーリンクを追加するページの参照を取得します。
  • LinkAnnotationクラスのオブジェクトを作成し、そのプロパティを設定します。
  • LinkAnnotation.ActionプロパティをURLを含むGoToURIActionオブジェクトに初期化します。
  • Page.Annotationsコレクションへのリンクを追加します。
  • Document.Save(String)メソッドを使用してPDFを保存します。

次のコードサンプルは、C#でPDFにハイパーリンクを追加する方法を示しています。

// ドキュメントを開く
Document document = new Document("input.pdf");
            
// ページの参照を取得する
var page = document.Pages[1];
            
// リンク注釈オブジェクトを作成する
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
            
// LinkAnnotationの境界オブジェクトを作成します
Border border = new Border(link);
            
// 境界線の幅の値を0に設定します
border.Width = 0;
            
// LinkAnnotationの境界線を設定します
link.Border = border;
            
// リンクタイプをリモートURIとして指定します
link.Action = new GoToURIAction("www.aspose.com");
            
// PDFファイルの最初のページの注釈コレクションにリンク注釈を追加します
page.Annotations.Add(link);

// 更新されたドキュメントを保存する
document.Save("output.pdf");

ハイパーリンクを使用して、1つのPDFから外部PDFファイルに移動することもできます。次の手順は、C#で外部PDFファイルにハイパーリンクを追加する方法を示しています。

  • Documentクラスを使用して、新しいPDFを作成するか、既存のPDFをロードします。
  • Document.Pagesコレクションからハイパーリンクを追加するページの参照を取得します。
  • LinkAnnotationクラスのオブジェクトを作成し、そのプロパティを設定します。
  • LinkAnnotation.Actionプロパティを外部PDFへのパスを含むGoToRemoteActionオブジェクトに初期化します。
  • Page.Annotationsコレクションへのリンクを追加します。
  • Document.Save(String)メソッドを使用してドキュメントを保存します。

次のコードサンプルは、C#で外部PDFにハイパーリンクを追加する方法を示しています。

// ドキュメントを開く
Document document = new Document("input.pdf");

// ページの参照を取得する
var page = document.Pages[1];

// ハイパーリンクを作成する
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
link.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

// アクションを設定する
link.Action = new GoToRemoteAction("external.pdf", 1);

// ページにハイパーリンクを追加
page.Annotations.Add(link);

// 更新されたドキュメントを保存する
document.Save("output.pdf");

場合によっては、PDFドキュメント内のあるページから別のページに移動する必要があります。 LocalHyperlinkクラスは、PDFの特定のページに移動するために使用されます。これを実現するための手順は次のとおりです。

次のコードサンプルは、PDFの特定のページに移動するためのハイパーリンクを追加する方法を示しています。

// ドキュメントを開く
Document document = new Document("input.pdf");

// ページの参照を取得する
var page = document.Pages[1];

// TextFragmentインスタンスを作成します
Aspose.Pdf.Text.TextFragment text = new Aspose.Pdf.Text.TextFragment("link page number test to page 7");
            
// ローカルハイパーリンクインスタンスを作成する
Aspose.Pdf.LocalHyperlink link = new Aspose.Pdf.LocalHyperlink();
            
// リンクインスタンスのターゲットページを設定する
link.TargetPageNumber = 7;
            
// TextFragmentハイパーリンクを設定する
text.Hyperlink = link;
            
// ページの段落コレクションにテキストを追加する
page.Paragraphs.Add(text);

// 更新されたドキュメントを保存する
document.Save("output.pdf");

PDFファイル内のハイパーリンクを取得してそのプロパティを更新することもできます。この操作を実行する手順は次のとおりです。

  • Documentクラスを使用してPDFファイルをロードします。
  • Document.Pagesコレクションから、ハイパーリンクが配置されているページの参照を取得します。
  • Page.Annotationsコレクションから目的のLinkAnnotationオブジェクトをインデックスで抽出します。
  • 必要なプロパティを更新し、Document.Save(String)メソッドを使用してPDFを保存します。

次のコードサンプルは、C#を使用してPDFのハイパーリンクを更新する方法を示しています。

// ドキュメントを開く
Document document = new Document("input.pdf");];

// ドキュメントの最初のページから最初のリンク注釈を取得します
LinkAnnotation linkAnnot = (LinkAnnotation)document.Pages[1].Annotations[1];
            
// リンクアクションを変更し、ターゲットをWebアドレスとして設定します
linkAnnot.Action = new GoToURIAction("www.aspose.com");

// 必要に応じて他のプロパティを変更します

// 更新されたドキュメントを保存する
document.Save("output.pdf");

無料ライセンスを取得する

評価の制限なしにAspose.PDF for .NETを使用するには、無料の一時ライセンスを取得できます。

結論

この記事では、C#を使用してPDFファイルにさまざまな種類のハイパーリンクを追加する方法を学習しました。さらに、既存のPDFファイルからハイパーリンクを取得し、それらのプロパティをプログラムで更新する方法を見てきました。さらに、ドキュメントを使用して、.NETPDFAPIの詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお問い合わせください。

関連項目