端末で(`ocrmypdf`)コマンドを実行し、出力名に入力名を含めます.

端末で(`ocrmypdf`)コマンドを実行し、出力名に入力名を含めます.

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コマンド(英語など)に対して別々のスクリプトを作成するようですbashocr_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回表示されません)。

関連情報