
Ubuntu日本語フォーラム

ログインしていません。
Linux自体を初めて使用する初心者です。素人質問で恐縮ですが、PDFファイルをjpgファイルに変換する際に、エラーが発生して上手く動作しません。プログラム及びエラー内容は後述しますが、デスクトップにある2011-1.pdf、2011-2.pdfというファイルをubuntuによってjpgファイルに変換しようと考えています。
・1つ目のコード(①)にもある様に、確かにデスクトップには2つのファイルは存在します。しかしconvertする際にその様なファイルは無いとエラーが来ます。
①
~$ /tmp/guest-jupxn0/デスクトップ
bash: /tmp/guest-jupxn0/デスクトップ: ディレクトリです
~$
~$ for file in *.pdf
> do
> convert $file ${file%pdf}jpg
> done
convert: unable to open image `*.pdf': そのようなファイルやディレクトリはありません @ error/blob.c/OpenBlob/2712.
convert: not authorized `*.pdf' @ error/constitute.c/ReadImage/412.
convert: no images defined `*.jpg' @ error/convert.c/ConvertImageCommand/3210.
・そのようなファイルやディレクトリはありませんとエラーが発生する理由を調べてみると、「改行コードのCRが余ってしまうから」という記述が複数見られました(以下のURL参照:https://pentan.info/server/linux/sh_error_crlf.html)。これを受けて2つ目のコード(②)を入力したのですが、これもエラーが発生しました。
②
~$ tr -d '¥r' test.sh
tr: 余分な演算子 `test.sh'
切り詰めを繰り返さないで削除する時は文字列は一つだけ受け付けられます
Try 'tr --help' for more information.
・最後に考えられる事として3つ目のコード(③)の*の前に2011を追加しました(複数ファイルがある為、2011が含まれるpdf全てをjpgに変換する為)。これもエラーが発生しました。
③
~$ /tmp/guest-jupxn0/デスクトップ
bash: /tmp/guest-jupxn0/デスクトップ: ディレクトリです
~$
~$ for file in 2011 *.pdf
> do
> convert $file ${file%pdf}jpg
> done
convert: unable to open image `2011': そのようなファイルやディレクトリはありません @ error/blob.c/OpenBlob/2712.
convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/501.
convert: no images defined `2011jpg' @ error/convert.c/ConvertImageCommand/3210.
convert: unable to open image `*.pdf': そのようなファイルやディレクトリはありません @ error/blob.c/OpenBlob/2712.
convert: not authorized `*.pdf' @ error/constitute.c/ReadImage/412.
convert: no images defined `*.jpg' @ error/convert.c/ConvertImageCommand/3210.
成果を早めに出さないといけないので、申し訳ございませんがお早めにご助言いただけると幸いです。よろしくお願いいたします。
オフライン
Vamos による投稿:
~$ /tmp/guest-jupxn0/デスクトップ
このコマンドで何をしたいのかまるで分かりません。
Vamos による投稿:
~$ for file in *.pdf
このコマンドを実行する前に ls *.pdf などを実行して、変換したいファイルが実際に現在のディレクトリにあるかを確認してみてください。
オフライン
ryさんへ
・ご返信ありがとうございました。各事項についてお答えします。
ry による投稿:
Vamos による投稿:
~$ /tmp/guest-jupxn0/デスクトップ
このコマンドで何をしたいのかまるで分かりません。
→もともとこの部分は「#!/bin/bash」だったのですが、現在は学校の研究室のパソコンを使用している為、binにアクセスできる許可が消えており、該当部分を$ /tmp/guest-jupxn0/デスクトップとしただけです(新たにファイルをbinではなく、デスクトップにアップしました)。Vamos による投稿:
~$ for file in *.pdf
このコマンドを実行する前に ls *.pdf などを実行して、変換したいファイルが実際に現在のディレクトリにあるかを確認してみてください。
→承知いたしました。
オフライン
自己解決しました。デスクトップに保存するのではだめで、PdfImageに保存する必要があったようです。ryさんからの返信も無いのでこれでこの件は修了とさせていただきます。
オフライン