PDFを表示するためにVFRリーダーを使用しています。ボタンのクリックで目次を抽出し、それをテーブルビューに表示する必要があります。その後、それぞれをタップしながらそれぞれのページに移動する必要があります。
1 に答える
PDF の目次を解析することは、実際にはそれほど難しいことではありません。Apple の PDF "Voyeur" のようなツールを使用して構造を確認するか、Adobe Acrobat の Preflight Browser のようなものを使用できます。
「アウトライン」は、さまざまな関数を使用して解析できるかなり単純なツリーであることがわかりCGPDF*
ます。ここでの課題は、宛先/アクション タイプも解析することです。PDF では物事が簡単になりすぎず、ページ番号も表示されません。代わりに、通常、名前付きのリンク先が表示されます。これは、別のテーブルを相互参照することで解決できます。これを PDF 仕様で調べることをお勧めします。もちろん、これはオプションの 1 つにすぎません。移動先が、GoTo から名前付きアクション (次のページなど) から JavaScript (this.pageNum = x など) まで激怒する 10 を超えるアクション タイプの 1 つである可能性もあります。上の画像では、長い文字列が名前付き参照である従来の GoTo アクションを示しています。
他にも特別なケースがいくつかあります。特に、古いラテックス ドキュメントや、PDF 1.1 仕様の一部のページでは、処理が少し異なります。そのため、PDF 仕様のすべてのコーナー ケースを実装する際には、後で驚かないように注意してください。
アウトラインには URI アクションが含まれることもあるため、少なくともそのタイプも実装してください。また、フォントのスタイルや色も設定できるので、飽きることはありません。そこで、iOS および Android 用の商用 PSPDFKit PDF SDK でそれを行いました。