この質問は以前にもわかっています。しかし、誰もそれにうまく答えていません。 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. 目次PDFビューア
- 5. 目次1つのPDFから別のPDFに目次をコピー
- 6. Quartz 2D描画プリミティブローテーション
- 7. pdfコンテンツストリームの解析
- 8. iOSでQuartz 2Dを使用してUIPickerViewをエミュレートする方法
- 9. Ubuntuマシンでのフォント解析でのPDFファイルの解析
- 10. NSStringへのPDFの解析
- 11. PDFとGOTORリンクを解析するIOSの問題
- 12. iOSのQuartz Composer
- 13. 解析JSONのiOS
- 14. pdfファイルを解析する
- 15. 複数の線を描くQuartz 2D
- 16. JSONフィードの解析iOS 5
- 17. 解析CSVやマイコンフィギュレーションのiOS
- 18. GetPictInfo置き換えApi in quartz 2D
- 19. 描画テキスト、改行文字、Quartz 2D
- 20. PDFテキストと座標の解析
- 21. フォームタイトルのPDFを解析する
- 22. iOSでの2Dゲーム
- 23. 目的コードでRSSを解析する
- 24. pdfから注釈を解析する
- 25. C#ASP.net MVC 2 PDF解析プログラム
- 26. iOSチュートリアルでXmlを解析する
- 27. 目的のCの解析エラー
- 28. 目的のCの解析ヒザック
- 29. 解析は、同じ名前の属性が、次のようにiOSの
- 30. のiOS 5 JSONの解析結果3840
負のカウント値は、アウトラインがビューアに折りたたまれて表示されることを意味します。正のカウント値は、アウトラインがビューア内で拡大表示されていることを示します。 – iPDFdev
くそー、ありがとう!あなたはPDF関連のものの学習を止めることは決してありません。これはかなり不明瞭ですが。 (なぜそれのための追加のプロパティはありません?)ありがとう! – steipete