コードを正しく理解していれば、PDFKittenはページの/Resourcesディクショナリの/Fontエントリでのみフォントを検索します。少なくとも、これがスキャナーのfontCollectionWithPageメソッドの私の解釈であり、その結果はpdfScannerCallbacksのsetFontによって照会され、現在のフォントオブジェクトを設定します。
さらに、Do演算子(つまり、XObjectリソースのコンテンツをページコンテンツに挿入するために使用される演算子)のコールバックはありません。CGPDFScannerScanが内部でこの演算子を解釈しない限り、含まれているXObjectのコンテンツはまったくスキャンされません。これは、テキスト設定演算子のコールバックが呼び出されないという観察結果と一致します。
ただし、ファイルmundo1.pdfには、そのページの/Resourcesディクショナリに即時の/Fontエントリがありません。代わりに、各ページの実際のコンテンツはすべて、それぞれ単一の/XObjectリソースにラップされます。これらのXObjectには、それぞれのページに使用されるフォントを定義する/Fontエントリを含む独自の/Resourcesディクショナリがあります。
したがって、PDFKittenは、ファイルで使用されているフォント、特にそれらのエンコーディングについて何も知らないため、PDFコンテンツからテキストを抽出することはできません。多分それは解釈するためにPDFの内容を見ることさえできません。
したがって、この号をPDFKitten号管理サイトに投稿することをお勧めします。
ちなみに、このPDF構成は完全にPDF仕様に準拠しています。それにもかかわらず、iTextライブラリの不適切な使用のように見えます。そのようなiTextを使用するソフトウェアの作成者は、自分のコードを確認し、iTextライブラリのより適切なクラスの使用を開始する必要があります。