PDF処理のための他の多くのコマンドを含むDolphinサービスメニューファイルには、次の行があります。
Exec=bash -c 'f="%u"; ocrmypdf "$f" "${f%.pdf}_ocr.pdf";'
MY_PDF_ocr.pdf
入力ファイルの名前を保持する形式で出力ファイルを提供するという利点があります。しかし、私はkonsole
プロセスを見るために端末()でコマンドを実行することを好みます。
これを行うには、次の行を使用できます。
Exec=konsole --noclose -e ocrmypdf "%u" ocr_en.pdf
ただし、出力は入力の名前を保持しません。
同じ行
Exec=konsole --noclose -e ocrmypdf "%u" "${%u}_ocr.pdf"
何もしませんでした。
ocrmypdf
コマンドがkonsoleで実行され、出力に入力名が含まれるようにどのように調整できますか?
答え1
数回の試行(およびエラー)の後、次の簡単なコマンドは、サービスメニューにocrmypdf %u %u_ocr.pdf
奇妙な名前(拡張子を含む)形式の出力ファイルを提供します。INPUT.pdf_ocr.pdf
Exec=konsole --noclose -e ocrmypdf %u %u_ocr.pdf
しかし、よりクリーンなソリューション(私が選択できるものからインスピレーションを得た)ここ(スクリプトの正しい形式について)ここ(端末でこれらのスクリプトを使用する)このOCRコマンド(英語など)に対して別々のスクリプトを作成するようですbash
。ocr_EN.sh
#!/bin/sh
for f in "$@"
do
ocrmypdf "$f" "${f%.pdf}_ocr_EN.pdf"
done
実行可能にしたら、次のコマンドを使用します(ここではサービスメニューファイルの行に含まれています)。
konsole --noclose -e bash /PATH/TO/ocr_EN.sh %f
名前付き出力を提供しますINPUT_ocr_EN.pdf
(拡張子は2回表示されません)。