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上でファイルを右クリックしたときに出るメニューのクイックアクションの中に作成したコマンドが表示される。

以上




MacOS ショートカットアプリによるウィンドウ整列方法

 Macにおけるウィンドウ整列方法

MacOSでウィンドウを右上1/4部分に表示したりするショートカットを使用するために、Rectangle(画面分割アプリ)を使用していたが、標準のショートカットアプリで同様の機能を作ることが出来る。セキュリティ的に問題ないか不安のあるサードパーティ製アプリを入れるよりか安心して使用することができる。

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

①Mission controlの「ウインドウを検索」を追加し、下記設定にする。
・並び順序:ウインドウインデックス
・順序:小さい順
・数値:1

②Mission controlのウインドウのサイズを変更を追加し、変更したいサイズ・位置を選択。


③右側の「ショートカット詳細」を押し、クイックアクションとして使用を選択し、次で実行のテキストボックスに、ショートカットコマンドを入力する。



※上記は、「ctrl-alt-U」を押したときに、左上1/4に移動する場合


必要なコマンド分だけ上記を作れば、良い。

以上




2024年11月16日土曜日

M4 Mac MiniでのScansnap S1500利用方法

スキャナーScansnap S1500のドライバ提供停止

Macbook air 2019からMac mini (M4)への乗り換えに伴い、ソフトの入れ替えを行なっているが、S1500のドライバーのダウンロードもサービス停止となっており、PFUのドライバーのイントールができない状況に陥った。公式ドライバーのダウンロード先がないか調べたり、Homebrewでインストール出来ないか試したものの公式アプリをインストールする良い方法は見つからなかった。

Saneの導入

アプリケーションからスキャナにアクセスするためのオープンソースのアプリであるSANE(Scanner Access Now Easy)を導入することで、Mac mini (M4)でS1500を使ってスキャンすることができるようになった。

Saneのインストール

Homebrewをインストールしている前提とし、ターミナルで下記コマンドを実行。

$brew install sane-backends


下記のコマンドで、スキャナーが認識されているか確認。

$scanimage -L


スキャナーコマンド

$scanimage > {ファイル名}.png

でスキャンができる。

細かい設定をすることで、カラー、グレースケール、モノクロ、読み込みサイズ等の設定が可能となる。


ショートカットアプリによるスキャン

xsaneがうまく動かないので、ショートカットアプリでシェルスクリプトを動かすようにした。スキャンコマンドの設定を変更することで用紙サイズ、カラー・グレースケール・モノクロの各種設定のショートカットを作成。






シェルスクリプト例

#!/bin/bash


#OUT_DIRの設定をファイルの保存先に修正すること。 

CURDIR=`pwd`

TMPDIR=`mktemp -d`

OUT_DIR=/Users/xxxxxxx/Documents/

 

cd $TMPDIR

 

echo "Starting Scan:"

echo "=============="

echo ""

 

scanimage -b --resolution 300 --batch=scan_%03d.tiff --format=tiff \

--mode Color --device-name "fujitsu:ScanSnap S1500:61702" \

-x 210 -y 297 --brightness +10 \

--page-width 210 --page-height 297 \

--sleeptimer 1 --source "ADF Duplex"

 

echo ""

echo "Checking for blank pages:"

echo "========================="

echo ""

 

if [ -f "scan_001.tiff" ]; then

 

for i in scan_*.tiff; do

  histogram=`convert "${i}" -threshold 50% -format %c histogram:info:-`

  white=`echo "${histogram}" | grep "white" | sed -n 's/^ *\(.*\):.*$/\1/p'`

  black=`echo "${histogram}" | grep "black" | sed -n 's/^ *\(.*\):.*$/\1/p'`

  blank=`echo "scale=4; ${black}/${white} < 0.005" | bc`

  echo `ls -lisah $i`

  if [ ${blank} -eq "1" ]; then

    echo "${i} seems to be blank - removing it..."

    rm "${i}"

  fi

done

 

OUTPUTNAME=scan_`date +%Y%m%d-%H%M%S`.pdf

 

tiffcp -c lzw scan_*.tiff allscans.tiff

tiff2pdf -z -p A4 allscans.tiff > out.pdf

gs      -q -dNOPAUSE -dBATCH -dSAFER \

        -sDEVICE=pdfwrite \

        -dCompatibilityLevel=1.3 \

        -dPDFSETTINGS=/screen \

        -dEmbedAllFonts=true \

        -dSubsetFonts=true \

        -dColorImageDownsampleType=/Bicubic \

        -dColorImageResolution=300 \

        -dGrayImageDownsampleType=/Bicubic \

        -dGrayImageResolution=300 \

        -dMonoImageDownsampleType=/Bicubic \

        -dMonoImageResolution=300 \

        -sOutputFile=$OUTPUTNAME \

        out.pdf

 

cp $OUTPUTNAME $OUT_DIR/$OUTPUTNAME

 

fi

 

cd $CURDIR

 

rm -rf ${TMPDIR}


Scanimageの高速化

sane-backendが利用する設定ファイルは/opt/homebrew/etc/sane.dディレクトリに保存されている。各メーカの設定ファイルが網羅されており、sane-backendは/opt/homebrew/etc/sane.d/dll.confファイルに従って各メーカの設定ファイルを利用するようになっている。
デフォルトではdll.confファイルの全ての設定ファイルをチェックするので、スキャナの検出には多少時間がかかるため、使用するもの(fujitsu)以外を削除する。

2024年11月10日日曜日

M4 Mac miniへのMATLAB 2017bのインストール

はじめに

Macbook air 2019から、Mac mini (M4)への乗り換えを実施。それに伴い、MATLAB 2017b (Home版)の入れ替えも実施した。単純にインストールしただけではソフトが起動しなかったが、下の対応をすることで起動するようになった。

不具合の現象

MATLABのWebページからインストーラーをダウンロードし、インストールは無事完了。
その後、アプリの起動時に次のエラーが表示されて、起動できない状態となる。
・アプリケーション"Finder"には、"(Null)"を開くアクセス権がありません。

ダウンロードしてきたソフトを起動できるように設定変更

1.「システム環境設定>セキュリティとプライバシー」を開く

2.一般タブで、「ダウンロードしたアプリケーションの実行許可」に、「すべてのアプリケーションを許可」の項目が表示されているか確認する。表示されている場合は選択して4へ。

3.表示されていない場合、ターミナルから次を実行する。再度、「セキュリティとプライバシーを」開くと項目が現れるので選択する。
$ sudo spctl --master-disable

4.terminalで次を実行する。
$ sudo chmod -R 755 <アプリのパス>
例 $ sudo chmod -R 755 /Application/MATLAB_R2017b.app

シェルスクリプトの作成

「/Application/MATLAB_2017b/Contents/MacOS/MATLAB 」を直接起動すると、MATLABが起動することがわかった。
毎回これをやるのは面倒なので、シェルスクリプトで起動コマンドを記載し、Automatorでアプリ化することにした。

1) エディタで下記内容のファイルを作成。
#!/bin/bash
/Applications/MATLAB_R2017b.app/Contents/MacOS/MATLAB

2) ファイルに実行権限を付与。
chmod -R 755 "ファイル名"

3) Automatorで上記ファイルを実行するAppを作成。

4) アイコンを貼り替え(アイコンの見た目を変えたい場合のみ)。
Automatorのファイルを右クリック、情報を見るを選択し、プロパティウインドウが出たら、変えたい画像のファイルを上部のアイコン画像表示部にドラッグ&ドロップすれば、アイコンが変わる。
→MATLABのアイコンは、「/Application/MATLAB_2017b/Contents/Resources」のディレクトリの中にあり。

以上

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

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