2

私はiPhoneが初めてで、CGPDFDocumentを使用してpdfファイルを開きました。文書内の特定の行を長押ししたときに、ハイライトしたいです。これを行うサンプルコードは??

前もって感謝します。

4

1 に答える 1

3

独自のソリューションを展開する必要があります。Apple はテキスト選択を iOS のプライベート API として追加しましたが、何も公開していません。単純に UIWebView を使用してその機能を取得できます。または、さらに制御が必要な場合、または強調表示などの機能も必要な場合は、独自のソリューションを作成する必要があります。

一般的な PDF リーダー向けに、かなりの数のオープン ソース コードが公開されています。(例としてvfr/Readerを参照)

テキストの選択/注釈も取得するには、まったく異なるレベルの苦痛です。私は 1 年の大半をフルタイムでこれらの機能に取り組み、商用フレームワーク PSPDFKit の v2 をリリースしました。

独自のロールを作成するときに解決する必要がある問題が 2 つあります。最初にグリフ四角形を取得し、単一のグリフから単語を見つけます。私は CoreGraphics をパーサーとして使用しました。正しいフレームを計算し、現在の描画スタックとさまざまなフォント スタイルを管理するのは難しい部分です。そこにはいくつかのオープン ソース コード (PDFKitten) がありますが、最終的には独自のコードを作成しました。

次に、実際の注釈オブジェクトを記述します。ここでは、PDF を自分で解析してすべてのオブジェクトのツリーを作成し、/Pages オブジェクトを置き換える新しいトレーラを作成する必要があります (PDF はほとんどが単なるテキストであるため、十分に解析可能ですが、それでも正しく処理するのは非常に困難です)。私は、それを助けることができるオープンソースコードを知りません。私は、公式の PDF リファレンスで長い夜を過ごしました。

于 2012-09-10T18:01:51.930 に答える