ぼんやりDTP

DTPに関係したりしなかったりするぼんやりとした話をなんとなく。

Macの自動化用のJavaScript for Automation (JXA)

Macの自動化用のJavaScript for Automation (JXA)について。

AppleScriptだとAcrobatとのアクセント付きアルファベットのテキストの受け渡しで問題があったのでJavaScriptエンコードするなどしてどうにかならないかと試す。

AppleScriptでデコードしてもいいかもしれないが、コードを流用したいのでJavaScriptで統一したい。

既存のAppleScriptをいいように変換してほしいがそうもいかないので、ちまちまとググりながらやるしか無いようだ。

しかしながら……、

実際JXAで作りたいものはできたが、InDesign上でそもそもJXAのスクリプトが実行できないので、AppleScript上でデコードするスクリプトに落ち着いた。 → AppleScript でURLエンコード・デコード - Qiita

公式ドキュメント

テキストの読み込み

  1. JXA でテキストファイルを読み書きする四つの方法 - Qiita

    app.write() app.read()文字コードを指定する事が出来ない。日本語環境で実行した場合は MacEncoding(Shift_JIS) で処理される。

  2. JavaScript for Automation (JXA)でUTF-8テキストの読み書き: kanzメモ doShellScirptを使用する例が紹介されている。

文字列のUnicodeエスケープ

  1. Unicode Escape Sequence 変換ツール | 二代目俺のメモ
  2. Unicodeエスケープ - sawatの日記

スクリプトのフォルダーのパスを取得

その他参照ページ

キリル文字の入力

ロシア語などのキリル文字の入力はOSのインプットメソッド変えればできるけど、お手軽にローマ字で入力して変換したい場合の選択肢としてググった。

  1. Russian Conversion: Cyrillic <> Latin Alphabet • LEXILOGOS >>
    • シンプルでお手軽。
  2. Latin - Roman to Cyrillic alphabet online text converter, translation, search engine. Писане на кирилица с латинска клавиатура
    • やたらオプションがあってわかりにくいが、使いこなせば便利かもしれない。

PDFにプリント時の用紙設定や拡大縮小の設定を保存できるか?

PDFにプリント時の用紙設定や拡大縮小の設定を保存できるか?

たまにある問い合わせで、

「プリンターで印刷するとドキュメントの大きさと違う」

というのがある。

プリント時の設定で用紙の大きさに合わせる設定になっていたりするのだろうが、プリント時の設定自体をPDFに保存できるかどうか?

できないと思っていたが、ぐぐった感じだとある程度はできるっぽい。

Acrobat DCでの[文書のプロパティー]→[詳細設定]画面。

f:id:bonyari_dtp:20180522172401p:plain

大きさに関係するのは下記の項目くらい?

  1. ページの拡大 / 縮小
  2. ページサイズに合わせて用紙を選択

実際設定したPDFを開き直してプリントダイアログを出すとそれなりに設定が生きるようだが、Acrobatのバージョンによっても対応具合は異なるっぽいので、完全に制御できるような設定ではないようだ。

参考ページ:

PDFでプリンタ設定を指定しておくことはできますか? - DTP駆け込み寺掲示板過去ログ

AcrobatでJavaScript

AcrobatJavaScriptを使う際はAPIとか調べたりするが、古い公式ドキュメントはしれっとリンク切れになったり、リダイレクトもなかったりする。

だからか、Google検索からはたどり着きにくかったりする。

不便。

今のところはこれが最新版だろう。(2018年5月16日現在)

  1. Acrobat DC SDK Documentation
    1. Developing Acrobat Applications using JavaScript
    2. JavaScript for Acrobat API Reference

リンク先もHTML上のタイトルにタイトル名が反映されていないので、ただのブックマークだと分かりづらい。

不便。

AcrobatでPDF内を検索した単語に一括でハイライトを付ける

AcrobatでPDF内を検索した単語に一括でハイライトを付ける。

たまにやるんだけど、うっすら忘れたり、うまく再現できなかったりするのでメモ。

  1. Acrobatで高度な検索(Command + Shift + F)
  2. 検索結果から検索された単語を Shift + クリック 等で複数選択
    • ここで「すべてを選択(Command + A)」とかすると検索結果内のドキュメント名まで選択されるからか、意図した結果にはならない。
  3. EnterキーかReturnキーを押す。
  4. ツールバーの「テキストをハイライト表示」ボタンをクリック。
  5. PDFを保存(Command + S)

参考ページ:

アラビア語の辞書

アラビア語オンライン辞書など

  1. Arabic Dictionary Online Translation LEXILOGOS >>
    • いろんなとこへのリンク?
  2. https://dictionary.reverso.net/arabic-english/
    • まあまあ使える?

アラビア語のOCR

アラビア語の画像からテキストを取得したい。

AcrobatOCR には入ってないっぽいので他の手段を探す。

ざっと試した限りでは、Google Docs 使うのが一番精度高かった。

身も蓋もない。

以下手順。

  1. Google Driveに画像をアップロード。
  2. 画像をコンテキストメニューからGoogleドキュメントで開く。
  3. 待つ。言語を指定することさえしない。
  4. 結果が表示される。

参考ページ:

  1. Googleドライブで、画像やPDFの文字をテキストにするOCRにかける方法 | 経験知

その他、オンラインで試したやつ。

  1. アラビア語 OCR (光学文字認識)。オンライン フリー — Convertio
    • なかなかいい。
  2. 無料オンラインOCR - オンライン画像認識 - 無料のOCRソフトウェア - 無料のOCRからWordへの変換 - オンラインでのテキスト認識の変換 - 写真のテキスト認識ソフトウェア - 写真からテキストへ
    • これもまあまあ。
  3. OCR - JPG、PNG、TIFFをオンラインテキストに変換する
    • ちょっと微妙かな