4

クリック可能なコンテンツ ページを持つ pdf ファイルがあるとします。(私は章とサブチャプターについて話している)その特定のファイルをC#で解析するにはどうすればよいですか?アプリケーションは、読み込んでいるpdfに章/コンテンツなどがあるかどうかをどのように認識できますか?

これは、クリック可能な目次のない PDF へのリンク ですhttps://docs.google.com/open?id=0B1EbI-EMJxmkODE1Mm5WbFpEdXcここでそれを行います http://everythingyoumightneed.blogspot.com/2013/01/how-to-create-pdf-with-clickable-links.html

だから私の質問は次のとおりです。アプリはどのようにしてどれがどれであるかを区別し、クリック可能なリンクを持つものをどのように解析できますか?

4

2 に答える 2

4

あなたの問題は、段落と列が PDF ファイルのどこにあるかを把握しようとすることと似ています。PDF は通常、目次ページにそのようなラベルを付けません。そのため、PDF ライブラリ (mkl によって指摘された iTextSharp など) を使用しても、これは簡単な作業ではありません。

このようなライブラリを使用すると、PDF ファイル内のページとページ上のテキストを表示できます。ただし、これがたとえば本である場合、目次ページは PDF ファイルの 1 ページ目、2 ページ目、3 ページ目、または x ページ目である可能性があります。あなたはそれに名前を付けます...)。

したがって、目次があるかどうかを検出するアルゴリズムは、PDF ファイルの最初の x ページのどこかでそれを検出できる必要があります。目次のテキストを強調表示する標準タグがないため、そのページのテキストの形式を分析してこれを行う必要があります。

役立つ可能性のあることが 2 つあります (利用可能な場合)。

1)多くのPDFファイルでは、テーブル内のアイテムはコンテンツであり、クリック可能であると言われています。そのため、PDF ファイルを調べて、多数のハイパーリンク項目を含む最初のページを見つけようとすることができます。

2) 多くの PDF ファイルでは、目次がブックマークに反映されています。したがって、ブックマークの構造を調べて、それを使用して本にいくつの章があるかを調べることもできます。

これらの機能は両方ともオプションであり、存在する場合でも標準化されないことに注意してください。

于 2012-12-31T09:19:14.983 に答える
1

PDFはバイナリ形式であるため、pdfファイルを読み取るにはpdflibのようなpdfライブラリを使用する必要があります。

pdfLib

また、C#でPDFをテキストに変換する例については、このCodeProjectサイトを確認することをお勧めします。

于 2012-12-30T20:45:09.647 に答える