PdfToTextというオープンソースを使い、PDF内のテキストを抽出したいと思っております。
発生している問題・エラーメッセージ
pdfの日本語部分だけ文字化けしてしまいます。
該当のソースコード
以下コード部分が文字化けの原因かなと思ってます。
protected function CodePointToUtf8 ( $code ) { if ( $code ) { $result = '' ; while ( $code ) { $word = ( $code & 0xFFFF ) ; if ( ! isset ( self::$UnicodeToSimpleAscii [ $word ] ) ) { $entity = "&#$word;" ; $result .= mb_convert_encoding ( $entity, 'UTF-8', 'HTML-ENTITIES' ) . $result ; } else $result .= self::$UnicodeToSimpleAscii [ $word ] ; $code = ( integer ) ( $code / 0xFFFF ) ; // There is no unsigned right-shift operator in PHP... } return ( $result ) ; } // No translation is apparently possible : use a placeholder to signal this situation else { if ( strpos ( PdfToText::$Utf8Placeholder, '%' ) === false ) { return ( PdfToText::$Utf8Placeholder ) ; } else return ( sprintf ( PdfToText::$Utf8Placeholder, $code ) ) ; } }
試したこと
$result .= mb_convert_encoding ( $entity, 'UTF-8', 'HTML-ENTITIES' ) . $result ;
の" 'HTML-ENTITIES' "部分をShift-Jisや他の文字コードで試してみましたが駄目でした。(むしろ、今までテキスト化できていた英語や数字まで文字化けするようになりました)
補足情報(FW/ツールのバージョンなど)
phpはver7.4です。
PDFの文章もこちらにコピペいたします。
実際にテストでアップロードしているものです。
上が原文、下が文字化け部分です。
これはtestです。
ここにはWordPressでインデックスを作成するための必要な文字を記載しています。
6/21¥¥<>・・
スクショ(最後の部分がなぜかコピペできませんでした...)
↓
↓
↓
͞ΗͺtestͲͤɽ
͞͞ͶͺWordPressͲϱυρέηΝࡠͤΖͪΌචགྷ͵ช࣊Νى
6/21ʤ!#$%&()ʥ)=~~~ˉˉʥ
ʽʾ<>?_//*-+ʞʞ..ʀ
あなたの回答
tips
プレビュー