1

こんにちは、PSPDFKit フレームワークとその全文検索機能を使用してドキュメントを検索しようとしています。Cordova/Phonegap アプリケーションでこれを行っているため、検索結果データを Javascript アプリケーションに戻したいと考えています。

ドキュメントの UID ではなく、ドキュメント名/パスを返すという問題が発生しています。documentUID を PSPDFDocument にキャストすることは可能ですか?

[library documentUIDsMatchingString:searchString options:nil completionHandler:
 ^(NSString* searchString, NSDictionary<NSString *,NSIndexSet *> * resultSet) {
              for (NSString *UID in resultSet) {
                  NSIndexSet *indexSet = resultSet[UID];
                  NSLog(@"Found the following matches in document %@: %@", UID, indexSet);
              }
 }

上記の UID は次のようになります。

samplepdf_ffa29462f17ca27908ab82bdd3d575a7

これはあまり意味がありません。-metadataForUID というメソッドがありますが、上記の文字列で呼び出されると常に null を返します。

4

1 に答える 1

1

私は PSPDFKit のドキュメントをチェックアウトしました。PSPDFDocument ( https://pspdfkit.com/guides/ios/current/getting-started/using-pspdfdocument/ ) を見ると、documentUID と PSPDFDocument を格納する独自の方法を構築するように言及されています。

インデックス作成プロセス中に、ドキュメントのパスと documentUID が表示されます。したがって、ドキュメントで推奨されているように、独自のデータ構造(つまり NSDictionary )を作成し、それを NSCache に保存しています。

私の場合、それは非常にうまく機能します。インデックス作成プロセスは、アプリの起動時または新しいドキュメントの追加時に毎回実行されます。良いことに、PSPDFKit はドキュメントを 2 回インデックス付けしないので、パフォーマンスの問題はありません。

PSPDFKit 6.3でテストしました

于 2017-01-09T14:12:58.230 に答える