0

5 ページのテキストをpdfで抽出しようとしています。
PDFには、マッピング(CMap)またはエンコーディング(デフォルトのエンコーディングまたは/Differences)さえも持たないフォントYLJAAA + CMSY10があります。
テキストの抽出中に、文字列「tetex package」の後に CGPDFScanner が何度も遭遇する「\x15」文字を返します。
この文字が検出された場合、現在のフォントは上記のフォントであり、pdf 文字列からテキストを抽出するものは何もありません。この \x15 文字は何ですか?

ありがとう。

4

1 に答える 1

2

これが2つ(「多く」ではない)発生したことがわかりました:

[ (\025) ] TJ

これは8 進数の数値です。これは 16 進数の数値です\x15

PDF の「YLJAA+CMSY10」のフォント定義には特別なエンコーディングがないため、「CMSY」(「Computer Modern Symbol」)のデフォルトのエンコーディングがあります。

114 0 obj
<<
  /Type         /Font
  /Subtype      /Type1
  /BaseFont     210 0 R % -> "/YLJAAA+CMSY10"
  /FirstChar    0
  /FontDescriptor 211 0 R
  /LastChar     127
  /Widths       204 0 R
>>

211 0 obj
<<
  /Ascent       750
  /CapHeight    683
  /CharSet      (/bullet/greaterequal/arrowright/arrowdblright/element/negationslash/backslash/radical)
  /Descent      0
  /Flags        4
  /FontBBox     [ -29 -960 1116 775 ]
  /FontFile     205 0 R
  /FontName     210 0 R   % -> '/YLJAAA+CMSY10'
  /ItalicAngle  -14
  /StemV        85
  /XHeight      430
>>
endobj

それ自体では、これはまだ決定的なものではありません: PDF プロデューサーは、埋め込みフォントで同じことを行う限り、グリフとエンコーディングを自由に並べ替えることができます)。フォント セットが並べ替えられていないと仮定すると、CMxx エンコーディングのランダム リストをチェックすると、文字コード0x1Fが GREATER-THAN OR EQUAL TO (Unicode U+2265) である可能性が高いことがわかります。

アクロバットは同意します。PDF のフォントを調べると、文字コード21(10 進数) が「GREATER-THAN OR EQUAL」と名付けられており、そのようにも見えます。

于 2015-07-07T11:41:50.900 に答える