ExtractTextFromPageによるしおりの追加

This article was translated from English: Does it need improvement?
Translated
View the article in English

テキストコンテンツに基づいてしおりを追加する際、Pages.Linesプロパティでの検索が失敗する可能性があります。それは取得されたテキストが乱れたり順序が崩れたりするからです。そのため、タイトルに基づいた検索が一度も一致しません。 Each page のテキストをExtractTextFromPage()で抽出し、論理的な順序でページを読み、信頼できる文字列を検索できるようにしてください。

ご注意バージョン2026.5.x以上では、代わりにLinkAnnotationを使用します。 (特定のページと位置に移動するためのクリッカブルリンクをサポートしており、利用可能な場合には推奨されるアプローチです。

Pages.Linesは、ページに視覚的に表示される方法からテキストを再構成します。 テキストが非線型順序で描画されている場合や、カスタムフォントやエンコーディングが使用されている場合、またはHTMLやサードパーティツールから生成されたPDFで複雑なレイアウトがある場合に、その機能が低下します。 その結果得られるのは、完全ではなかったり混在したテキストであり、信頼性のある検索を行うことはできません。

解決策

1. ExtractTextFromPage()で各ページを読み取る

視覚的な再構成ではなく、すべてのページから埋め込まれた生のテキストを取り出します。 ExtractTextFromPage()はページのコンテンツを論理的な読み順で返し、異なるPDF構造全体でのヘッダー検索をより信頼性のあるものにします。

2. 各ページをループし、各ユニークなヘッダーをしおりにします

どのセクションも見逃さないよう全ページをウォークし、どのヘッダーを既に見たかを記録して、各ヘッダーが1回だけしおりにされるようにします。 ドキュメント内のHashSetを使ってデデュープするのはクリーンな方法です。それにより、各記事に対する単一のしおりが保証されます。

出力は、動的HTMLソースから来たPDFであっても複雑なフォーマットを持っていてもしっかりと整列された各指定見出しを指すしおりのセットです。

ExtractTextFromPage とHashSetを使用して、記事のヘッダーごとにしおりを追加するC#コード

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 20,296,129 | バージョン: 2026.7 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。