ホームページ バックエンド開発 C#.Net チュートリアル C# で PDF ブックマークを追加、変更、削除する方法の紹介

C# で PDF ブックマークを追加、変更、削除する方法の紹介

Jul 30, 2017 am 09:58 AM
.net

この記事では、C# で PDF ブックマークを追加、変更、削除するサンプル コードを主に紹介します。編集者はこれが非常に優れていると考えたので、参考として共有します。編集者をフォローして見てみましょう

PDF 文書を読んでいるとき、そのような状況に遭遇することがあります。PDF 文書には多くのページがあるのに、しおりがないため、文書に基づいて文書の内容をすぐに理解することができません。ブックマークをクリックすると、対応する場所にすぐにジャンプできず、ページごとにめくることしかできないため、非常に面倒です。 PDF関連のアプリケーションを開発する場合、開発者もこのような機能要件があると思いますので、今回はプログラミング(C#)とSpire.PDFコンポーネントを使ってPDF文書にブックマークを追加する方法を紹介します(既存文書へのブックマーク追加も含む)サブブックマークの追加など)、既存の PDF ドキュメント内の指定されたブックマークの変更および削除も可能です。

Spire.PDF コンポーネントの概要

Spire.PDF は、.NET アプリケーションで PDF ドキュメントを作成、編集、処理、読み取りするためのプロフェッショナルな PDF コンポーネントです。 PDF ドキュメントの結合/分割、変換 (HTML から PDF、PDF から画像など)、印刷 (サイレント印刷を含む)、圧縮、ブックマークの追加/変更/削除、コメントの追加など、豊富な PDF ドキュメント処理操作をサポートします。およびセキュリティ設定 (デジタル署名を含む)、フィールドの作成と入力、画像の挿入と抽出、テキストの抽出と強調表示など。 Adobe Acrobat に依存しないため、実行環境に Adob​​e Reader などのコンポーネントをインストールする必要はありません。 このコンポーネントは製品版と無料版(試用版ではありません)の 2 種類に分かれており、個人使用または PDF ドキュメントの操作が 10 ページを超えない場合は、通常、無料版を使用できます。

公式 Web サイトや、開発者が最もお気に入りで一般的に使用する方法である NuGet など、インストール用のチャネルが多数あります。 Visual Studio の NuGet パッケージ マネージャー コンソールで次の PowerShell コマンドを入力して Enter キーを押すと、コンポーネント DLL が自動的にプロジェクトに参照されます:


PM> Install-Package Spire.PDF
ログイン後にコピー

PDF ブックマークの追加、変更、削除の実装

1. ブックマークを追加する

1.1 ブックマークを追加する

Spire.PDF では、各 PDF ドキュメントにブックマーク リスト (PdfBookmarkCollection) があります。 PdfDocument オブジェクトの Bookmarks プロパティを通じてリストを取得し、Add () メソッドを通じてブックマークをリストに追加できます。


//新建PDF文档

PdfDocument pdf = new PdfDocument();

//添加页面

PdfPageBase page = pdf.Pages.Add();

//添加书签
PdfBookmark bookmark = pdf.Bookmarks.Add("第一页");

//设置书签所指向的页面和位置,(0,0)表示页面的开始位置

bookmark.Destination = new PdfDestination(page);
bookmark.Destination.Location = new PointF(0, 0);

//设置书签的文本格式和颜色

bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.Black;

//保存文档

pdf.SaveToFile("Bookmark2.pdf");
ログイン後にコピー

1.2 サブブックマークの追加

サブブックマークの追加方法は、基本的には通常のブックマークの追加方法と同じですが、通常のブックマークはドキュメントのブックマークリストに直接追加される点が異なります。 、サブブックマークは親ブックマークのリストに追加されます。


//新建PDF文档

PdfDocument pdf = new PdfDocument();

//添加页面

PdfPageBase page = pdf.Pages.Add(); 

//添加书签

PdfBookmark bookmark = pdf.Bookmarks.Add("第一章 热传导");

//设置书签指向的页面和位置

bookmark.Destination = new PdfDestination(page);
bookmark.Destination.Location = new PointF(0, 0);
 
//设置书签的文本格式和颜色

bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.SeaGreen;

//添加子书签

PdfBookmark childBookmark = bookmark.Insert(0, "1.1 热传导基本知识");

//设置子书签指向的页面和位置

childBookmark.Destination = new PdfDestination(page);
childBookmark.Destination.Location = new PointF(400, 300);

//设置子书签的文本格式和颜色

childBookmark.DisplayStyle = PdfTextStyle.Regular;
childBookmark.Color = Color.Black;

//保存文档

pdf.SaveToFile("ChildBookmark.pdf");
ログイン後にコピー

1.3 既存のドキュメントにブックマークを追加する

新しい PDF ドキュメントにブックマークを追加するだけでなく、既存の PDF ドキュメントにブックマークを追加することもできます。 PDF ドキュメントを読み込むメソッドには、LoadFromFile のほかに、LoadFromStream (ストリームから読み込む)、LoadFromHTML (HTML から読み込む) などがあります。必要に応じて、対応する読み込み方法を選択できます。


//加载文档

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("示例.pdf"); 

for (int i = 0; i < pdf.Pages.Count; i++)
{
  //添加书签

  PdfBookmark bookmark = pdf.Bookmarks.Add(string.Format("第{0}章", i+1));

  //设置书签指向的页面和位置

  bookmark.Destination = new PdfDestination(pdf.Pages[i]);
  bookmark.Destination.Location = new PointF(0, 0);

  //设置书签的文本格式和颜色

  bookmark.DisplayStyle = PdfTextStyle.Bold;
  bookmark.Color = Color.Black;
}

//保存文档

pdf.SaveToFile("Bookmark2.pdf");
ログイン後にコピー

2. ブックマークの変更

Spire.PDF は、既存のブックマークの内容の変更、既存のブックマーク リストへの新しいブックマークの挿入、サブブックマークの挿入など、さまざまなブックマークの変更方法をサポートしています。ブックマークを既存のブックマークに追加するなど。ここでは、ブックマークの内容を変更し、導入のために既存のブックマーク リストに新しいブックマークを挿入することを選択します。

2.1 既存のブックマークの内容を変更する


//加载文档

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");

//获取书签列表

PdfBookmarkCollection bookmarks = pdf.Bookmarks;

//获取第一个书签

PdfBookmark bookmark = bookmarks[0];

//修改书签指向的页面

bookmark.Destination = new PdfDestination(document.Pages[1]); 

//修改书签的文本格式和颜色

bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.Green;

//修改书签的title

bookmark.Title = "修改";

//保存文档

pdf.SaveToFile("ModifyBookmark.pdf");
ログイン後にコピー

2.2 既存のブックマークリストに新しいブックマークを挿入する


//加载文档

 

PdfDocument pdf = new PdfDocument();

pdf.LoadFromFile("Bookmark2.pdf");

 

//插入新书签到指定位置(此处插入的是第三个书签的位置)

 

PdfBookmark bookmark = pdf.Bookmarks.Insert(2, "新增第三章");

 

//设置书签所指向的页面和位置

 

bookmark.Destination = new PdfDestination(document.Pages[1]);

bookmark.Destination.Location = new PointF(0, 300);

 

//保存文档

 

pdf.SaveToFile("InsertBookmark.pdf");
ログイン後にコピー


3. ブックマークを削除する

削除ブックマーク では、ブックマークのシリアル番号またはブックマークの名前を使用できます。ここではシリアル番号方式を使用します。


りー

以上がC# で PDF ブックマークを追加、変更、削除する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C# の雇用の見通しはどのようなものですか? C# の雇用の見通しはどのようなものですか? Oct 19, 2023 am 11:02 AM

初心者でも経験豊富なプロフェッショナルでも、C# をマスターすることでキャリアへの道が開かれます。

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する May 06, 2024 pm 04:43 PM

現在、人工知能(AI)技術の開発は本格化しており、さまざまな分野で大きな可能性と影響力を発揮しています。本日、Dayao は、参考にしていただけるよう、4 つの .NET オープン ソース AI モデル LLM 関連プロジェクト フレームワークを共有します。 https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel は、OpenAI、Azure などの大規模言語モデル (LLM) を統合するように設計されたオープン ソース ソフトウェア開発キット (SDK) です。

開発者向けの .NET パフォーマンス最適化テクノロジ 開発者向けの .NET パフォーマンス最適化テクノロジ Sep 12, 2023 am 10:43 AM

.NET 開発者は、高品質のソフトウェアを提供するために機能とパフォーマンスを最適化することの重要性を認識する必要があります。提供されたリソースを巧みに活用し、Web サイトの読み込み時間を短縮することで、ユーザーに快適なエクスペリエンスを提供するだけでなく、インフラストラクチャのコストも削減できます。

Java フレームワークと .NET フレームワークのパフォーマンスの違い Java フレームワークと .NET フレームワークのパフォーマンスの違い Jun 03, 2024 am 09:19 AM

同時実行性の高いリクエスト処理の点では、.NETASP.NETCoreWebAPI は JavaSpringMVC よりも優れたパフォーマンスを発揮します。その理由としては、AOT の早期コンパイルにより起動時間が短縮され、開発者がオブジェクト メモリの割り当てと解放を行うため、より洗練されたメモリ管理が行われます。

c#.netインタビューの質問と回答:専門知識を高める c#.netインタビューの質問と回答:専門知識を高める Apr 07, 2025 am 12:01 AM

C#.NETインタビューの質問と回答には、基本的な知識、コアの概念、高度な使用が含まれます。 1)基本知識:C#は、Microsoftが開発したオブジェクト指向言語であり、主に.NETフレームワークで使用されています。 2)コアの概念:委任とイベントは動的な結合方法を可能にし、LINQは強力なクエリ関数を提供します。 3)高度な使用:非同期プログラミングは応答性を向上させ、式ツリーは動的コード構造に使用されます。

高度なC#.NETチュートリアル:次のシニア開発者インタビューをエース 高度なC#.NETチュートリアル:次のシニア開発者インタビューをエース Apr 08, 2025 am 12:06 AM

C#シニア開発者とのインタビューでは、非同期プログラミング、LINQ、.NETフレームワークの内部作業原則などのコア知識をマスターする必要があります。 1.非同期プログラミングは、非同期を通じて操作を簡素化し、アプリケーションの応答性を向上させるのを待ちます。 2.LinqはSQLスタイルでデータを操作し、パフォーマンスに注意を払います。 3.ネットフレームワークのCLRはメモリを管理し、ガベージコレクションに注意して使用する必要があります。

C#.NET:コアの概念とプログラミングの基礎を探る C#.NET:コアの概念とプログラミングの基礎を探る Apr 10, 2025 am 09:32 AM

C#は、Microsoftによって開発された最新のオブジェクト指向プログラミング言語であり、.NETフレームワークの一部として開発されています。 1.C#は、カプセル化、継承、多型を含むオブジェクト指向プログラミング(OOP)をサポートしています。 2。C#の非同期プログラミングは非同期を通じて実装され、適用応答性を向上させるためにキーワードを待ちます。 3. LINQを使用してデータ収集を簡潔に処理します。 4.一般的なエラーには、null参照の例外と、範囲外の例外インデックスが含まれます。デバッグスキルには、デバッガーと例外処理の使用が含まれます。 5.パフォーマンスの最適化には、StringBuilderの使用と、不必要な梱包とボクシングの回避が含まれます。

.NET内のC#コード:プログラミングプロセスの調査 .NET内のC#コード:プログラミングプロセスの調査 Apr 12, 2025 am 12:02 AM

.NETでのC#のプログラミングプロセスには、次の手順が含まれます。1)C#コードの作成、2)中間言語(IL)にコンパイルし、3).NETランタイム(CLR)によって実行される。 .NETのC#の利点は、デスクトップアプリケーションからWebサービスまでのさまざまな開発シナリオに適した、最新の構文、強力なタイプシステム、および.NETフレームワークとの緊密な統合です。

See all articles