Acrobat Character

字形と文字コードが紐づいていないPDF(決定版解説)

以前書いた記事の内容を
偉い方がちゃんと説明している文章を見つけた
なるほど…自分も少し誤解していた点もあり、眼から鱗


大筋で間違った事は書いていないので、旧記事は訂正せずにそのままにする事にした 

 


PDFのコピペが文字化けするのはなぜか?
https://www.slideshare.net/trueroad_jp/pdfcidgid



 


 


 


 


 



|

PDFのテキスト構造(縦書きPDFとオフィス書き出し)

『AdobeAcrobatProDC(月々プラン)にて縦書文(歌集)をwordへ書き出し』に反応
https://forums.adobe.com/message/8997371
回答でクローズしているので
こちらにフォローとして記載しておく。


ここでは、スキャンPDFの文字認識では無く
すでにテキストになっているPDFについて書きます。


まず
PDFとテキストについて過去に書いた3点の記事を読んで欲しい。
(この3点が理解できなければ、この記事は読む必要が無い)

文字を検索出来ないPDF
https://force4u.cocolog-nifty.com/skywalker/2010/08/pdflib-fontrepo.html
なぜ?印刷時に文字化けして出力されるのか
https://force4u.cocolog-nifty.com/skywalker/2015/02/post-fd60.html
スタンプの回転を決める(文書の回転と天地)
https://force4u.cocolog-nifty.com/skywalker/2014/01/post-03f7.html

-------

前提が『そのPDFの構造は正しいか』なんです。
(WORD書き出し後に意図する表示が可能な構造か?)
文字コードと紐づかないPDFの場合は、そもそも文字としては、『読める形で認識しない』


たしかにAcrobatのオフィスアプリへの変換は問題が無いとは言わないけど。
正しく文字が認識出来るPDFでなければ、いくら優れたアプリケーションだとしても
読める文字には出来ない。

その上で、
テキスト(文字、コード、キャラクタ)の構造が正しい形になっているか?で
読める形で書出し等が出来るか?なんです。


-------

テキスト書き出しには2種類あります

アクセシブルとプレーンです

Website_image00280911_195912

アクセシブルテキストは
『ほぼ』コンテンツパネルの順にテキストが書出されます。

Website_image00280911_200019


また
プレーンテキストは
『ほぼ』順序パネルの順にテキストが書出されます。
Website_image00280911_200442


WORDに書出した時にPDFの天地と
文章の向きが合っていないと、上手くいかない事も多い
(見た目の文字は縦書きだけど、文章の天地向きが左右にあったりする場合ね)

-------

ここまでで
正しいテキスト構造のPDFであれば
書出し結果(テキストに限るけど)が『まぁ許せる範囲で』正しく書出せる…わけです。

-------
逆に、どんな『縦書きPDF』なら
正しくWORD変換できるのでしょう。

1:文字を読める形で認識出来るテキスト
2:全ての文字が同じフォント(書出し時に文字コードと紐づくフォント)
3:全て全角文字で個別の詰め等が無い

この3点を抑えれば…(まぁそんな文書まぁ無いけどね…笑)縦書きPDFでも
正しくWORD変換出来ます。

Aiを使ってヒラギノで縦書き文章を作ります。

Website_image00280911_203655


出来上がったコンテンツが1つなのに注目してください
コンテンツが1つなので、文字とオブジェクト等でズレたり、前後関係が出来たりしません。
まぁここが、通常の文章では不可能なので、縦書き書出し時に不具合が出ますね。

Website_image00280911_203742

これをWORDに書出すと
こんな感じで文字が回転したりします。
これはフォントの指定の問題なので

Website_image00280911_203850


フォントを再指定すれば
縦書きWORD書き出し完了です。
(フォントを変更した事で文字送りが変わってしまうのでナニですけど…)

Website_image00280911_203912

もちろん、上記のようなシンプルな
こんな文書、日常的にありえない文章なので
『WORDへの縦書き文章書き出しは出来ない』といっても良いでしょう。
まぁ
複雑な文章構造を書出せない。と言った方が正解に近いかな…


WORDへの縦書は出来る。(ただし有り得ないような条件付き)って事した。

|

[PDF]見た目通りの字形ではない文字(透明透かしでラスタライズ後にClearScanでOCR)

こちらの記事『LINK
『PDFのテキストを取り出したいのですが文字化けします』のディスカッションの記事に反応

まずは
『PDF変換をOS XのQuartz経由で行っているのが原因』では無い。
(まぁ半分正解だけど…汗)

PDFを作成=アプリケーションがPS化するタイミングで
『字形』と『文字コード』が紐づかないのは
主に『フォント』と、PDFを作成した『アプリケーション』の組み込みの問題で
(問題と言うより仕様ですが)
Quartzが悪さしているわけでは無い

Quartzは総称としてなら意味は合うが
基本的にQuartzはグラフィックを担当しているわけなので
文字部分は『Core Text』 PDFにするのはImageIO だったり CUPSだったりするわけです

まずは
過去の記事を
AdobeReader8 とencode - DTP駆け込み寺 掲示板
http://www.dtptemple.org/imgbbs/index.php?mode=thread&id=8057&page=1

PDFlib FontReporter【文字を検索出来ないPDF】
https://force4u.cocolog-nifty.com/skywalker/2010/08/pdflib-fontrepo.html

【再考中】なぜ?印刷時に文字化けして出力されるのか
https://force4u.cocolog-nifty.com/skywalker/2015/02/post-fd60.html

【再考中】なぜ?印刷時に文字化けして出力されるのかーその2 CID GID
https://force4u.cocolog-nifty.com/skywalker/2015/02/cid-gid-a96b.html


----ここまで前置き
『PDFのテキストを取り出したいのですが文字化けします』なので
文字を見た目の字形通りに抜き出せれば良いわけです。
出来上がったPDFの対象の文字は
字形と文字が紐づいていませんから
そのままでは、どうやっても無理です。

文字数が多いなら
OCRするのが良いでしょう。

まずは、見た目通りの字形ではない文字になっているPDFを作ります。
もうおなじみ
JeditでOsaka等幅をCUPS-PDFでPDF化すれば一発で出来ます。笑


Website_image00270615_223534

Website_image00270615_223711

これに
『透明のPDF』を透かしとして入れます。

Website_image00270615_223813

透かしを
透明の分割でラスタライズして画像化します

Website_image00270615_223910

画像化されたら
OCR機能でテキスト化します


Website_image00270615_224000


まぁ、OCR誤りはあるものの
文字数にもよりますが
一から打つよりいいかも?程度でしょうか

Website_image00270615_224254


時間と人員に余力があるなら
この段階で文字校正に出せれば良いのかも?しれませんね。

|

PDFlib FontReporter【文字を検索出来ないPDF】

文字列を見た目の文字通りに検索出来ないPDFについては
こちら
DTP駆け込み寺 掲示板アイコン:新しいウィンドで開きます
書き込みしていますので
詳細は掲示板を読んでください。


PDFlib FontReporter[LINK]OpenNewWindow

『美しい日本語』と入力したテキストファイルで

JeditXからPS吐かせてディスティラでPDF化した場合の
検索出来ないPDFの場合
OSAKAー等幅
Fontreporter

通常の文字コードと字形がマッチする
検索可能なPDFの場合
新ゴUD
Screencapture00220804_200706jst


サブセット化されたフォントと
字形 字形と文字コードの紐付けが確認出来ます。

 

OSAKA等幅のPSファイルを見ると
Screencapture00220804_202608jst
↑このように
字形と文字コードが紐づいていません


新ゴで出力すると
Screencapture00220804_202621jst
↑このように
字形と文字コードが紐づきます

同じアプリケーション
同じようなPDFの作成手順であっても
フォントが違うだけで
(見た目の文字どおり)検索出来ないファイルが出来てしまいます。

 

勘違いしやすいのが
こちら[LINK]OpenNewWindowのような誤解です。

上記で説明した通り
作成したアプリケーション

使用したフォント

PDF化する方法
によって
字形と文字コードが紐づいていないPDFが出来るだけで

カスタムエンコードだから
見た目の文字通り検索出来ないわけではありません。

この対象のPDFはPScript5.dllで作成されている
のと
PDFのバージョン

このような事になっているだけではないだろうか?

パスワードかけている事から
検索エンジンに読まれないようにするためなら
暗号化すれば良いわけだし。
(ほとんどの内閣府のPDFはアクセシブルになっている)

人の振りして我が振りで
配布用PDFを作成する場合には注意したいですね。

 

PDFlib FontReporterは
グリフの内容が確認出来る便利なプラグイン
ですが
最近のアクロバットは『プラグイン』があると
アップデート時に『アップデート出来ない』事があります。
上記のプラグインを試す場合は
業務で使うマシン以外で試してくださいね。

ちなみに私は
Acrobat8にはプラグインてんこもり

Acrobat9にはプラグインを入れない
って
方法をとっています。(良いか悪いかは別にして..w)


| | コメント (0)

その他のカテゴリー

Accessibility AccessibilityCheck AccessibilityForm AccessibilityInDesign AccessibilityPDF Acrobat Acrobat Action Acrobat Annotation Acrobat AppleScripts Acrobat Character Acrobat Layer Acrobat PDF Embed API Acrobat PDF Form Print Acrobat Plug-ins Acrobat Portfolios Acrobat Print AcrobatBarcode AcrobatDialog AcrobatForm AcrobatJS AcrobatMenu AcrobatPDF AcrobatStamp AcrobatYouTube AddressBook Adobe Adobe InDesign Adobe Photoshop AdobeAppleScript AdobeBridge AdobeIllustrator AdobeJSX aed Alfresco Android AnimationGif Apple Apple Support AppleScript AppleScriptBasics AppleScriptCharacter AppleScriptColor AppleScriptDroplet AppleScriptErrorNum AppleScriptFolder AppleScriptFontBook AppleScriptRename AppleScriptTools AppleSymbols Applications Barcode Barcode2D BarcodePostal BetterHTMLExport Book BOX Browser buzz Certificates CharacterEntity CharacterSets Colors Cool Site CSS Cutting DecoMail DecorationMail Design Desktop Diff DJ dmg DNS Documents Download DTP eBook Editer eMail Envelopes ExifTool Facebook FFmpeg File System Fonts FontsTool FontsWeb FOOD FormPrint ftp Gadget Gif Animation Google Google Chrome Enterprise HexEditor HTML info iPhoto ISBN ISO iTunes iWork iWorkNumbers iWorkNumbersCalendar iWorkNumbersTimecard iWorkPages JavaScript JeditX JeditX Regexp JeditXAppleScript JIS jquery Letterpress Library logo Mac Admin Mac Archiver Mac Browser Mac Browser Plugin Mac QuickLook Mac Setup Mac Spotlight Mac Video Map Memo Microsoft Teams Mobby mobileconfig Moto Movies Music Network Basic ntp OCR Office OfficePowerPoint OSX Paint Pantone Paper PDFlib Permission Photo Pictograms Print Public Python QuickLook QuickTime QuickTimeSetting QuickTimeSound Real Media ReName ResourceFork ruby Sample Screen ScreenCast Search Security SEO Sharing SLAResource Sound Spotlight Stamp SWF TCC.db Tutorial PSD TV Twitter Typography Unicode Utilities Video WEB APP WebFont Wedding Windows WindowsMedia XML XMP XPS YouTube YouTube Rss