この質問は以前にもわかっています。しかし、誰もそれにうまく答えていません。 iPhone上でPDFの「目次」を解析する方法が不思議です。ドキュメントはCGPDFDocumentGetCatalogを使用するように指示しますが、使用方法は教えていません。彼らが言うのは、それが辞書を返すということだけです。また、私はサンプルコードを見つけることができません。助言がありますか?PDF目次iOSでの解析Quartz 2D
0
A
答えて
0
0
基本的にはちょうどCGPDFDictionaryはCGPDFPageで「アウトライン」と呼ばれる構文解析していますですSO上で見られる最も近いもののように見えます。
// get outline & loop through dictionary...
CGPDFDictionaryRef outlineRef;
if(CGPDFDictionaryGetDictionary(pdfDocDictionary, "Outlines", &outlineRef)) {
}
次に、最初の要素から始まり、あなたの方法を解析します。
CGPDFDictionaryGetDictionary(outlineRef, "First", &firstEntry)
タイトルとデスティネーションを取得します。
NSString *outlineTitle = PSPDFStringFromPDFDict(outlineElementRef, @"Title");
CGPDFDictionaryGetObject(outlineElementRef, "Dest", &destinationRef)
(horray、PDF!)それを格納するにはいくつかの方法、プラスPDFリファレンスにまだ出て野生で定義されていないいくつかの方法があるので、トリッキーなことは、正しい宛先を取得することから始まります。それだけで壊れていて、あなたはそれに対処しなければなりません。
はたとえば、あなたが
CGPDFInteger elements;
if(CGPDFDictionaryGetInteger(outlineRef, "Count", &elements)) {
PSPDFLog(@"parsing outline: %ld elements. (Count will be ignored anyway)", (long int)elements);
}else {
PSPDFLogError(@"Error while parsing outline. No outlineRef?");
}
を使用して、アウトライン辞書のカウントを取得するしかし、それは、時には数により壊れたPDF作成ツールに無効であることに注意があります。 PDFをHTMLとして見てください。たとえそれが壊れたとしても、パーサーは可能な限り多くのデータを表示するために最善を尽くします。だから私のアドバイスはカウントを無視し、とにかく辞書を解析することです。 (数週間前にCount = -10だった文書に遭遇しました)
私の商用PDFライブラリPSPDFKitから完全なコードを投稿することはできません。それ;)しかし、これはあなたを開始する必要があります。
関連する問題
- 1. Quartz(iOS)でPDF注釈を作成
- 2. iOS PDFファイルのQuartz埋め込みフォント
- 3. iOS(PDF)のPDF目次(概要)データの入手方法は?
- 4. 目次の構文解析の文章
- 5. Quartz 2D描画プリミティブローテーション
- 6. 目次PDFビューア
- 7. iOSでQuartz 2Dを使用してUIPickerViewをエミュレートする方法
- 8. pdfコンテンツストリームの解析
- 9. 目次1つのPDFから別のPDFに目次をコピー
- 10. Ubuntuマシンでのフォント解析でのPDFファイルの解析
- 11. iOSのQuartz Composer
- 12. NSStringへのPDFの解析
- 13. PDFとGOTORリンクを解析するIOSの問題
- 14. 解析JSONのiOS
- 15. pdfファイルを解析する
- 16. 複数の線を描くQuartz 2D
- 17. JSONフィードの解析iOS 5
- 18. 解析CSVやマイコンフィギュレーションのiOS
- 19. GetPictInfo置き換えApi in quartz 2D
- 20. 描画テキスト、改行文字、Quartz 2D
- 21. Python 3の解析WebからのPDF
- 22. iOSアプリケーションでのJSON応答の解析
- 23. フォームタイトルのPDFを解析する
- 24. PDFテキストと座標の解析
- 25. Net Coreのpdfを解析する
- 26. iOSでの2Dゲーム
- 27. iOS SDK SOAP解析エラー:ルートレベルのデータが無効です。 1行目、1位
- 28. クラスタ解析、2次元データ?
- 29. 目的コードでRSSを解析する
- 30. pdfから注釈を解析する
負のカウント値は、アウトラインがビューアに折りたたまれて表示されることを意味します。正のカウント値は、アウトラインがビューア内で拡大表示されていることを示します。 – iPDFdev
くそー、ありがとう!あなたはPDF関連のものの学習を止めることは決してありません。これはかなり不明瞭ですが。 (なぜそれのための追加のプロパティはありません?)ありがとう! – steipete