2025年2月15日土曜日

Kindle関連: EpubファイルをMobiに変更するショートカット

 事前準備

aozoraEpub3とkindlegenを使用する。

aozoraEpub3をダウンロードし、適当なフォルダに保存。

AmazonからKindle previewerをダウンロード、インストールし、kindlegenをaozoraEpub3のフォルダに保存する。


ショートカット

epubファイルを右クリックし、メニューからショートカットを選択することでmobiファイルを作成する。


スクリプトの内容は下記。

#!/bin/bash


#画像フォルダに移動 (1つ目の引数からディレクトリ名を変数展開で抜き出し)

echo ${1%}

dir1=${1%/*}

cd "${dir1}"


f_src=${1%##*/}


#出力ファイル名

#f_out="${f_src%.*}.mobi"


# 中身は全部、画像ファイルである、という前提でpdfファイル化

command="~/app/aozoraEpub3/kindlegen ${f_src}"


eval ${command}


2024年12月3日火曜日

MacOSへのNarou.rbのインストール

 下記のホームページを参考にMac mini (M4)へNarou.rbをインストールした。

https://qiita.com/kokotaro@github/items/71989793f3609fa94d80


インストール時の問題

インストール自体はすんなりいったが、初回の起動時にトラブル発生。

古いPFU製スキャナーS1500を使用しており、メーカーからのドライバ提供のサポート切れのため、SANE(Scanner Access Now Easy)を使用しているが、Narou.rbで必要とするJAVAのバージョンとSANEで要求するバージョンが違うようであるため、JAVAを切り替える必要があった。


ショートカットアプリ

いちいちコマンドを打つのは面倒なため、次のショートカットアプリを作成し、メニューバーからNarou webを起動できるようにした。

あらかじめNarou.rbの保存先を作っておく必要がある。下の場合はホームの下にNarou.rb用の「MyNovel」フォルダを作っていた。



シェルスクリプトの内容

#aozoraEpub3で、JAVA ver.21が必要なため、設定を変更。
export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-21.jre/Contents/Home

#rbenv
export PATH="$HOME/.rbenv/bin:$PATH"
export PATH="$HOME/.rbenv/shims:$PATH"
PATH=${JAVA_HOME}/bin:${PATH}

cd "$HOME/MyNovel"
narou web



Macにおけるメインディスプレイの変更

MacOSでディスプレイ2台を使用しており、時々に応じてメインディスプレイを切り替えたい時のためのショートカットアプリを作成。 


必要なアプリのインストール

Homebrewで、displayplacerを書きコマンドでインストールする。

 brew install displayplacer


Display IDのチェック

下記コマンドにより、Display IDを調べる。

  displayplacer -list

表示結果の最後に、id;xxxxxx-xxx-xxx-xxx-xxxxx res;....のような表示があり、id;xxxxxx-xxx-xxx-...の数字の部分がディスプレイIDとなるため、メモしておく。


ショートカットアプリでショートカット作成

下記のショートカットアプリを作成。

内容としては、シェルスクリプトでメインディスプレイ(DELL S2722QC)の設定を行い、全てのウィンドウをメインディスプレイに移動させている。

メインディスプレイにするには、origin:(0,0)と設定したディスプレイがメインとなる。

サブディスプレイには1920x1080のモバイルディスプレイを使用しており、画面の位置関係はorigin(3840x1080)を原点とした位置(右下)に設定している。




シェルスクリプトの内容

ディスプレイidや解像度、周波数、origin(x,y)は環境に合わせて設定する必要あり。

#/bin/bash

disp_dell="id:xxxxxxxx"
disp_mobile="id:xxxxxxxx"

key=disp_status

if [ ${key} = "D001" ]; then
command="/opt/homebrew/bin/displayplacer \"${disp_dell} res:3840x2160 hz:60 color_depth:8 enabled:true scaling:off origin:(0,0) degree:0\" \"${disp_mobile} res:1920x1080 hz:60 color_depth:8 enabled:true scaling:on origin:(3840,1080) degree:0\""
elif [ ${key} = "D002" ]; then
command="/opt/homebrew/bin/displayplacer \"${disp_mobile} res:1920x1080 hz:60 color_depth:8 enabled:true scaling:on origin:(0,0) degree:0\" \"${disp_dell} res:3840x2160 hz:60 color_depth:8 enabled:true scaling:off origin:(-3840,-1080) degree:0\""
elif [ ${key} = "D003" ]; then
command="/opt/homebrew/bin/displayplacer \"${disp_dell} res:3840x2160 hz:60 color_depth:8 enabled:true scaling:off origin:(0,0) degree:0\""
elif [ ${key} = "D004" ]; then
command="/opt/homebrew/bin/displayplacer \"${disp_mobile} res:1920x1080 hz:60 color_depth:8 enabled:true scaling:on origin:(0,0) degree:0\" \"${disp_dell} res:3840x2160 hz:60 color_depth:8 enabled:off scaling:off origin:(-3840,-1080) degree:0\""
fi

eval ${command}


2024年11月22日金曜日

ショートカットアプリでスクリーンショット起動

MacOSのショートカットアプリでスクショ対応

メニューバーからスクリーンショットを起動できるアプリ 

スクリーンショットのショートカットキーが覚えられないため、メニューバーからショートカットアプリを起動できるようにした。


ショートカットの内容

指定のフォルダに画像を保存しつつ、クリップボードにも画像データをコピーする。

内容としては、下記のショートカットを作成。

メニューバーから起動するためには、右側のiボタンを押し、「メニューバーにピン固定」にチェックを入れる。




ショートカットアプリによるOCR

MacOSでpdfファイルのOCRによるテキスト抽出 

MacOSの標準機能を使用して、pdfファイル(画像)からOCRで文字認識して、テキストファイルをファイルに吐き出すショートカットアプリを作成。


内容

pdfのページ毎にテキストファイルを書き出すため、作業用のtmpフォルダに一旦描き出したのち、テキストファイルを結合して1つのテキストファイルにして指定のフォルダに書き込みを行う。











2024年11月19日火曜日

ショートカットアプリによるフォルダ内の画像ファイル一括pdf化

 MacOSでの画像ファイルの一括pdf化

特定のフォルダにある画像ファイルをまとめた1つのpdfにするショートカットアプリを作成した。
Finderでフォルダを右クリックして、クイックメニューから作成したショートカットアプリを選択することで、フォルダ内(直下)に保存されている画像ファイルのpdf化を行う。

事前準備

imagemagickのコマンドを利用するため、Homebrewでimagemagickをインストールしておく。
Homebrewで、renameもインストール。

ショートカットアプリの内容

下図のショートカットを作成。

imagemagickのコマンドは、シェルスクリプトで実行する。

※画像ファイルの保存されているフォルダ内にある、jpg、jpeg, png以外の拡張子のファイルは削除してしまうので、ご注意ください。


シェルスクリプトの内容

#!/bin/bash

#画像フォルダに移動 (1つ目の引数からディレクトリ名を変数展開で抜き出し)
dir1=${1%/*}
cd "${dir1}"

#出力するファイル名(ディレクトリ名、かつ、スペースを"_"に置換)
fname=${dir1##*/}
fname1=${fname//" "/_}
fname2="../${fname1}.pdf"

#ファイル名のスペースを削除
/opt/homebrew/bin/rename -S \  _ *
/opt/homebrew/bin/rename -S   _ *

# 中身は全部、画像ファイルである、という前提でpdfファイル化
command="/opt/homebrew/bin/magick * ${fname2}"
eval ${command}


MacOSショートカットアプリによる右クリックでのAirDrop

 ファイルを右クリックして、AirDropできるようにする

Mac OSでiPadにAirDropでファイルを送りたい時が多々あるが、いちいちFinderでAirDropフォルダを開いて、ドラッグ&ドロップするのが面倒なため、ショートカットアプリで右クリックメニューでAirDropをできるようにした。

ショートカットアプリの内容

①ショートカットアプリで「AirDrop」を選択。「ショートカットの入力」を選ぶ。


②ショートカットの入力のステップが自動で入るので、受け取るファイルを選択する。
 ファイルだけで良いので、ファイルだけを選択した状態にする。

③右側の「ショートカットの詳細」を押し、「クイックアクションとして使用」を選択し、「Finder」のみを選択する。

④上により、Finder上でファイルを右クリックしたときに出るメニューのクイックアクションの中に作成したコマンドが表示される。

以上




Kindle関連: EpubファイルをMobiに変更するショートカット

 事前準備 aozoraEpub3とkindlegenを使用する。 aozoraEpub3をダウンロードし、適当なフォルダに保存。 AmazonからKindle previewerをダウンロード、インストールし、kindlegenをaozoraEpub3のフォルダに保存する。 シ...