PDFは、注釈、メディア、フォームなどのさまざまな要素をサポートする機能豊富なドキュメント形式です。ハイパーリンクは、PDF内をあるPDFから別のPDFに移動するために使用される重要な要素です。 Webページなど。プログラムでPDFドキュメントを生成しているときに、ハイパーリンクを挿入する必要がある場合があります。したがって、この記事では、C#.NETのPDFファイルにハイパーリンクを追加および更新する方法を学習します。
PDFでハイパーリンクを追加または更新するためのC#.NET API
PDFファイルのハイパーリンクを操作するには、Aspose.PDF for .NETを使用します。これは、.NETアプリケーション内からPDFファイルを作成、処理、および変換できる人気のあるAPIです。 APIのバイナリをダウンロードするか、NuGetを使用してインストールできます。
PM> Install-Package Aspose.PDF
C#で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");
C#で外部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ページへのハイパーリンクを挿入する
場合によっては、PDFドキュメント内のあるページから別のページに移動する必要があります。 LocalHyperlinkクラスは、PDFの特定のページに移動するために使用されます。これを実現するための手順は次のとおりです。
- Documentクラスを使用して、新しいPDFを作成するか、既存のPDFをロードします。
- Document.Pagesコレクションからハイパーリンクを追加するページの参照を取得します。
- TextFragmentのインスタンスを作成して、ハイパーリンクのテキストを設定します。
- LocalHyperlinkクラスのインスタンスを作成し、LocalHyperlink.TargetPageNumberプロパティを目的のページ番号に設定します。
- LocalHyperlinkオブジェクトをTextFragment.Hyperlinkプロパティに割り当てます。
- Page.Paragraphs.Add(TextFragment)メソッドを使用して、ページにテキストを追加します。
- Document.Save(String)メソッドを使用して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");
C#を使用して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の詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお問い合わせください。