テクノロジー

Microsoft Print to PDFで出力したファイルからテキストをコピペしたら文字化けしてた…→実はPDFの仕様に潜む本質的な欠陥が原因なのでは?

1: quick_past 2025/07/19 11:34

引用元の資料まちがってない?確かpdfはUnicodeで文字データを持ってて、cmapは文字コード->GID変換テーブルでしかない。もしGIDで入ってたならそれはWindowsの実装の問題だと思う。

2: tsutsumi154 2025/07/19 12:58

CMapが存在しない場合やってることはOCRと同じだからそんな文字コード同一を求めること自体が間違い PDFを一次情報にするなとしか PDF側よりUnicode側が変態すぎる

3: gogatsu26 2025/07/19 21:37

“ActualText というUnicodeコードポイント列を陽に書いておくことができる仕組みがあり,これにより問題が回避できるが,わざわざこれを出力してくれるプログラムはおそらく多くない”

4: Cat6 2025/07/19 21:42

Macの印刷時のPDF保存ならどうなのか知りたい。印刷の領収書は全部これで保存してるから改変されてたら困る…

5: yabu_kyu 2025/07/19 21:44

なんかコピペすると「「「「「なになにこれこれ??」」」」」みたいになることない?

6: kamezo 2025/07/19 22:13

Adobe製品を使ってフォントをエンベッドしたPDFを生成すれば回避できる奴? (Adobe製品に限らんかもしれん)

7: suka6411144 2025/07/19 22:55

もはやOCRで読んだ方がマシ説

8: xjack 2025/07/19 23:22

Microsoft Print to PDFは仮想プリンタで,文字化けどうこうはアプリ側の問題.例えばAdobe Acrobatなんかは,ラスタ化して出力するので,PDFにも文字情報は残らない.そもそもPDFコンバータとして期待するのが間違い

9: ET777 2025/07/19 23:49

むつかしい

10: cl-gaku 2025/07/20 01:03

それでわざわざApacheFOPにモンキーパッチ当てて使ってるわ

11: ustar 2025/07/20 01:13

長って三種類あんねん

12: ardarim 2025/07/20 02:20

グリフベースの管理だからあんなことになってんのか。元々データ交換用でなくて印刷用の規格だからなのかな。読み上げとかどうしてるんだろう。

13: mistake3 2025/07/20 04:40

“PDFヴューワ”←この書き方なんかヤダ

14: trace22 2025/07/20 06:16

“『長』ってUnicodeだと実は3種類”まじかよ

15: newforms 2025/07/20 06:24

詳しく解説してくれてる人、ありがたい。

16: ina6ra 2025/07/20 06:29

CubePDFで印刷した方が良い。ブラウザの機能で出力したPDFはなぜかOCRもうまくできない事がある

17: Eiichiro 2025/07/20 06:46

知らなかった。utf8より仕様古いはずだもんな。印刷に耐えれるフォーマットがPDFしかないけど、そろそろ新しいフォーマットが欲しくもなる。