Ubuntu 12.04 サーバーで ImageMagick を使用して、単純な名刺を動的に作成しようとしています。これはphpページを介して行われます。MagickWand をインストールしようとしましたが、うまくいかなかったので、現在は ImageMagick 構文を使用し、PHP 関数を介して実行していますexec()
。
私は順調に進んでおり、基本は多かれ少なかれ完成していて、出力画像は問題ないように見え、現在は微調整、位置の設定、フォントとサイズの変更などを行っています.
私たちのグラフィック担当者は、テキストを Arial で太字のタイトルにしたいと考えているので、サーバーに msttcorefonts をインストールしました。それ以来、出力画像のテキストは斜体になり、私が使用するフォントは無視されます。
奇妙なことに、コマンドをページにエコーし、それをコピーしてubuntuコンソールに貼り付けると、そこで作成された画像は正しいフォントを使用し、まさに私が望むものです.
というわけで、コンソール経由でコマンドを実行すると問題ないようですが、PHP経由exec()
で実行するとImageMagickがフォントを認識しないようです。誰かが理由を知っていますか?また、フォントが認識されない場合、デフォルトで斜体になっているのはなぜですか? さらに言えば、フォントをインストールした後にデフォルトが変更されたのはなぜですか?
これは私が現在テストしているコマンドです(名前と連絡先情報が変更されています):
convert \
-size 1051x697 \
xc:none \
-density 300 \
-fill white \
draw "rectangle 0,0 1051,697" \
-fill black \
-font Arial-Negreta \
-pointsize 9 \
-draw "text 140,175 'Hotel Example'" \
-font Arial-Normal \
-pointsize 6 \
-draw "text 140,220 'Example Street 8'" \
-draw "text 140,240 '12345 Exampletown'" \
-draw "text 140,280 'Telefon: 123 45 67 89 0'" \
-draw "text 140,300 'Fax: 234 56 78 90'" \
-draw "text 140,340 'http://www.example.de'" \
-draw "text 140,360 'hotel-example@example.de'" \
-stroke none -fill orange -draw "rectangle 1,32 1050,75" \
-fill grey \
-draw "rectangle 1,75 1050,100" \
-fill orange \
-draw "rectangle 1,626 1050,665" \
test_front.png
編集:
Ubunut コンソールからコマンドを実行しても、ホーム ディレクトリでのみ機能し、/var/www ディレクトリでは機能しないことに気付きました。APiK が指摘したように、それはおそらくユーザーの問題です。