0

この質問は以前にもあったことは知っていますが、より具体的に説明します。

CGPDFDocumentRef ドキュメントがあり、理想的には CGPDFDictionaryRef の形式でトレーラーを見つけて、その Encrypt 辞書を調べて、テキスト抽出が可能かどうかを確認したいと考えています。

Apple ライブラリには、この辞書を取得できる方法がないようです。

CGPDFDocumentGetCatalog() でカタログを取得できます。CGPDFDocumentGetTrailer() に相当するものはありますか?

そうでない場合は、トレーラーの PDFDocument を自分で手動で解析する必要があると思います。

これらの人:トレーラー辞書を見つける方法?

そのような低レベルのパーサーを書くことについて話してください。

彼らが解析しているコードを取得するにはどうすればよいですか?

PDF の最後のページを CGPDFStream に変換し、そのストリームを NSData に変換してから ascii に変換してから、彼らが話している Trailer パーサーの実装を開始できますか?

ありがとう!

4

1 に答える 1

1

二重の答え:

1) いいえ、Apple は予告編にアクセスする機能を提供していません。それでもアクセスしたい場合は、PDF ファイルをバイナリ ファイルとして開き、それを通過するパーサーを作成する必要があります (PDF ファイル形式を説明する ISO 32000-1 標準で説明されているように)。

2) ほとんどの場合、その必要はありません (幸いなことに、これは簡単なことではないため)。Apple は、次の 2 つの機能を慎重に提供します。

bool CGPDFDocumentIsEncrypted ( CGPDFDocumentRef document );

これにより、ドキュメントが暗号化されているかどうかがわかります。

bool CGPDFDocumentAllowsCopying ( CGPDFDocumentRef document );

これにより、ドキュメントがテキストのコピー (およびテキストの抽出) を許可するかどうかがわかります。

于 2016-03-01T22:17:47.747 に答える