Qve [design communication]

Communication Design Studio.

タグ「Application」の一覧

8/4
2016

今さらながら Acrobat のおさらい2

初回の「今さらながら Acrobat のおさらい」は2012年(遠い目)……。
自分の欲しい情報を探しているうちに、他人様の質問に答えたくなったのでちょっと書き足しておきます。

普段は InDesign でページ組をすることが多いのですが、時折ラスタライズしたPDFが必要になることがあります。
お客様の環境でプリントアウトされると、透明の設定の都合でしょうか……文字が太って出力されたりすることがあります。画像としてプリントすれば解決できますが、150dpiなので小さい文字が読めません。その回避策として、300dpi程度でラスタライズしたPDFが必要になってくるわけです。

InDesign で 300dpi の PNG を作って Acrobat でファイル結合……という手順を踏んでいますが、もうちょっと、こう、スマートな手段はないものかと。

試行錯誤してみたらありました。

まず、対象のPDFを開き、[アドバンスト]→[印刷工程]→[分割・統合プレビュー] を開きます。

設定項目は以下の通り。

  • ラスタライズとベクトルのバランス → 0
  • ラインアートとテキストの解像度 → お好みで
  • グラデーションメッシュの解像度 → お好みの 1/2程度

分割・統合プレビュー

ですが……アンチエイリアスがちょっと弱いかな (^^;

いろんなパターンを試して見ました。
結果を貼っておきます。

300dpiのPDF (TEST300.pdf

さすがに美しい。

300dpiのPDF

300dpiのPNGをAcrobatでPDFに(TEST300PNG.pdf

手間をかけるだけの価値はあるか…。やはりキレイ。

300dpiのPNGをAcrobatでPDFに

Acrobat上で、300dpiにラスタライズしたPDF(TEST300R.pdf

少々シャギーが目立ちますが、プリンタ出力でどこまで判別できるかにかかってます。

Acrobat上で、300dpiにラスタライズしたPDF

7/13
2016

今さらながら Let’s Encrypt で SSL化

あれ以来マシンも順調に動いております。
残念ながら、MacPro Early2008 は、次期 macOS Sierra の対象外となってしまいましたが……OSもようやく OS X El Capitan‎ に。そして AdobeCC2015 に完全移行しました。
幸いユーティリティ類も全て問題なく動作しておりますし、ちょっともたつく以外は(笑)特に問題はありません。
余っていたSSDによく使うアプリを移動して、アプリフォルダにシンボリックリンク……とすると、インストール済みアプリとして認識してない様子。
しばらくの辛抱なので、このまま続行です。

さて閑話休題、紆余曲折しながらもようやく常時SSLとしました。
以前に使っていた coreserver が SNI に対応したとのことで、固定IP契約不要でSSLが使えそうなので欲をかいてやってみようと思ったのがきっかけでした。
最初は Cloud Flare (https://www.cloudflare.com)を試すも、ネームサーバを書き換えたら、DNS も Cloud Flare で管理されていることに気づかず……かなりハマりました。
証明書を見てみると、複数のドメインがひとまとめ、ものすごいパックになっていてビックリ。どことなく挙動もおかしかったので、いったんすべて抹消。

共用サーバーなので自動更新は無理なのですが、そんなに手間でもなさそうですし、面倒で嫌になるまでやってみようかと思って Let’s Encrypt をインストール。
幸いベータ版からの先人が数多く存在するので、環境を整えるまでの時間はさほどかかりませんでした。
というかそのあとも、証明書を発行してサーバーにインポートするのもあっけなく終了。

誰かの役に立つかもしれないので、備忘録として拙いログを晒しておきます。

El Capitan (10.11.5)
Mac Pro (Early 2008)
Coreserver (core-A)
Xserverで他のドメインは使用(AレコードのみCoreserverに向けている)
value-domain でドメイン管理
GoogleApps 使用

なんとも特異な環境ですが(笑)

Let’s Encrypt のインストールは「ウェブタタン」さんのエントリーが、非常にわかりやすく解説されていて助かりました。

Let’s encryptのSSL証明書をMacで作成!さくらレンタルサーバーに導入する方法

あちこちを見ながらやったので、私の環境は新旧織り交ぜた環境になってるような気がします。
まず公式を見て、言われるがまま Git から certbot を……

git clone https://github.com/certbot/certbot

として云々。
途中で権限エラーや get できないからソースからコンパイルしちゃうよ〜みたいなメッセージがズラズラと……。
半ばあきらめていたところ、先ほどの「ウェブタタン」さんのエントリーを発見。

じっくり読み進め、表示されているエラーを解説通りに進めていき、なんとか動作するように(笑)
まぁこの辺りは本職でないので、基本結果オーライで行っちゃってます。
そして、待望の証明書発行へ。

$ cd certbot
$ ./certbot-auto certonly --manual -d example.com -d www.example.com -d sub.example.com

とすると、UNIXっぽいスクリーンが表示されますので、ガイドに沿って進めていきます。

 

 

今回はサブドメインも含めて、3つをひとまとめにしたSSL証明書を発行しますので、-d オプションでドメインを3つ並べます。

Make sure your web server displays the following content at
http://example.com/.wexx-xxxn/acme-challenge/OdNmEVBSEvJJqvqZmGdmB_1yVBSEvJJqdmDFyo before continuing:

OdNmEVBSEvJJqvqZmGdmB_1yVBSEvJJqdEvJJqmDFyoFyo.uh6sL2eW-jvA6CMmUz-Hs67e4bBU_doPOlIjxnzRGvg

If you don't have HTTP server configured, you can run the following
command on the target server (as root):

mkdir -p /tmp/certbot/public_html/.well-known/acme-challenge
cd /tmp/certbot/public_html
printf "%s" OdNmEnv12_540PB_1yW6KDkIVBSEvJJqvqZmGdmDFyo.uh6sL2eW-jvA6CMmUz-Hs67e4bBU_doPOlIjxnzRGvg > .well-known/acme-challenge/OdNmEnv12_540PB_1yW6KDkIVBSEvJJqvqZmGdmDFyo
# run only once per server:
$(command -v python2 || command -v python2.7 || command -v python2.6) -c \
"import BaseHTTPServer, SimpleHTTPServer; \
s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \
s.serve_forever()"
Press ENTER to continue

こんなスクリーンで [Press ENTER to continue]と云うプロンプトで待機してます。
cui 操作が楽な人は、SSHでサーバーに接続した後サイトルートに移動して

mkdir -p .well-known/acme-challenge
printf "%s" OdNmEnv12_540PB_1yW6KDkIVBSEvJJqvqZmGdmDFyo.uh6sL2eW-jvA6CMmUz-Hs67e4bBU_doPOlIjxnzRGvg > .well-known/acme-challenge/OdNmEnv12_540PB_1yW6KDkIVBSEvJJqvqZmGdmDFyo

とかでいいんじゃないでしょうか。
私はFTPでディレクトリを作ってファイルをアップしました。
結果は目的のファイルにアクセスできればいいだけの話だと思うので、お好みでどちらでもいいと思います。

ドメインが3つあるので、ドメインごとに3回認証作業を行います。

無事終了すると

/private/etc/letsencrypt/live/[ドメイン名]

にシンボリックリンクが出来上がります。

root権限のあるサーバーだと、この証明書のシンボリックリンクを然るべき場所に置いて、cron で回せば自動更新……ということのようです。

あとは Value Dmain のコントロールパネルで「SSL証明書のインポート」をするだけ。

/private/etc/letsencrypt/live/[ドメイン名]/cert.pem (証明書)
/private/etc/letsencrypt/live/[ドメイン名]/chain.pem (中間証明書)
/private/etc/letsencrypt/live/[ドメイン名]/fullchain.pem (ひとまとめになった証明書)
/private/etc/letsencrypt/live/[ドメイン名]/privkey.pem (プライベートキー パスフレーズなし)

証明書はテキストファイルなので、テキストエディタで開いて貼り付けます。
必要なファイルを選んで貼り付けてください。

coreserver のドメイン設定でSSLに割り当てるドメインの設定を忘れずに。

SSL 配下でうまくリファラっぽく送る方法を思いついたので、ついでにダウンロードサーバーの php も SSL 配下で正常動作するように書き換えました。

9/5
2014

Insta Flash Pro

今まで iOS アプリで画像編集(調整?) にずーっと使ってきて、常にホーム画面に配置しておいた Photogene。

つい先日、Instaflaah Pro というアプリを使ってみたところ…
インターフェイスはちょっと独自的な部分もありますが、機能的にはかなりキテます♬

(とは言っても iPad版 Photogene にはかないませんけど)

レベル補正やトーンカーブの仕組みがわかる人ならこの素晴らしさがわかってもらえるかと。

 

Before After

4/3
2013

「システム環境設定を開いている間は何もしない」処理を追加

先ほどのスクリプト「カーソルサイズを変更してみる」の改訂版、「システム環境設定を開いている間は何もしない」処理を追加したソースです。

tell application "System Events"
	repeat
		set pList to name of every process whose visible is true and frontmost is true
		if (pList = {"Finder"}) then
			my front_app()
		else if (pList = {"System Preferences"}) then
			my quiet_app()
		else
			my other_app()
		end if
		--何秒おきに監視するかの秒数
		delay 3
	end repeat
end tell

--システム環境設定を開いている間は何もしない
on quiet_app()
end quiet_app

--Finderがアクティブの場合
on front_app()
	my open_pref()
	my open_univ()
	tell application "System Events"
		if UI elements enabled then
			tell slider "カーソルのサイズ:" of tab group 1 of window "ユニバーサルアクセス" of application process "System Preferences"
				set value to 4
			end tell
		end if
	end tell
end front_app

--他がアクティブの場合
on other_app()
	my open_pref()
	my open_univ()
	tell application "System Events"
		tell slider "カーソルのサイズ:" of tab group 1 of window "ユニバーサルアクセス" of application process "System Preferences"
			set value to 1
		end tell
	end tell
end other_app

--システム環境設定 > マウス を開く動作
on open_pref()
	tell application "System Preferences"
		set current pane to pane "com.apple.preference.mouse"
	end tell
end open_pref

--システム環境設定 > ユニバーサルアクセス を開く動作
on open_univ()
	tell application "System Preferences"
		set current pane to pane "com.apple.preference.universalaccess"
	end tell
end open_univ
4/3
2013

カーソルサイズを変更してみる

デュアルモニター環境で画面が広くなると快適なんですが、カーソルを見失うのが長年の悩みでして……。

カーソルを大きくすると追いかけやすくなっていい反面、Photoshop 等でブラシサイズまで大きくなってしまい、正確なブラシ操作が困難になります。
当たり前なんでしょうが、Finder で表示されているカーソルと標準の黒矢印は綺麗に拡大されますが、他のアプリケーションではカーソルデータを切り替えて表示しているんですよね。

Cursor01
標準のカーソル。左が標準サイズ、右が拡大(たぶん400%)

brush
こんな感じ。(Adobe系CS5)

以前、Magic Mouse を使い始めた頃、不意のスクロールでかなりイライラした際、Applescript で「Adobe系アプリがアクティブになっている時だけスクロールをオフにする」というものを作りました。
その時は腱鞘炎を起こしたため、Magic Mouse からトラックボールに変えてしまったので作ったことすら忘れていました。

で、そのスクリプトをいじれば
「Finder がアクティブになっている時だけカーソルサイズを特大にする」
ってはできるんじゃね? という思いつきで作りました。

気になる人は気になると思いますが

  • Applescript なので常時起動させておく必要があります。
  • 常時システム環境設定を開いておくことになります。(ただしバックグラウンドで)
  • 監視時間はあまり短くできない。

そんな感じです。

見せるのが恥ずかしいようなソースですが、こちらも公開しておきますね。
Applescript エディタにコピペすれば動作確認ができます。

tell application "System Events"
	repeat
		set pList to name of every process whose visible is true and frontmost is true
		if (pList = {"Finder"}) then
			my front_app()
		else
			my other_app()
		end if
		--何秒おきに監視するかの秒数
		delay 3
	end repeat
end tell

--Finderがアクティブの場合
on front_app()
	my open_pref()
	my open_univ()
	tell application "System Events"
		if UI elements enabled then
			tell slider "カーソルのサイズ:" of tab group 1 of window "ユニバーサルアクセス" of application process "System Preferences"
				set value to 4
			end tell
		end if
	end tell
end front_app

--他がアクティブの場合
on other_app()
	my open_pref()
	my open_univ()
	tell application "System Events"
		tell slider "カーソルのサイズ:" of tab group 1 of window "ユニバーサルアクセス" of application process "System Preferences"
			set value to 1
		end tell
	end tell
end other_app

--システム環境設定 > マウス を開く動作
on open_pref()
	tell application "System Preferences"
		set current pane to pane "com.apple.preference.mouse"
	end tell
end open_pref

--システム環境設定 > ユニバーサルアクセス を開く動作
on open_univ()
	tell application "System Preferences"
		set current pane to pane "com.apple.preference.universalaccess"
	end tell
end open_univ

(抜けがあったので修正しました)

追記
カーソルを見失いにくくなりましたが、システム環境設定をいじるときは不便なので、アプリ名を決めて、前面のアプリが「システム環境設定」だったら、一時停止する、的な処理を加えないといけませんね(笑)