<   2008年 03月 ( 9 )   > この月の画像一覧

PDFの連続印刷

 …というお題でぐぐっても結構な数がヒットするし、解決方法はいろいろあるようだ。フリーウェアでよさげなものもある。

 車輪の再発明というのは基本的に行わないのだが、金の絡んだ頼まれ仕事だと、「フリーウェア使って!」つーわけにもいかなかったりするし、事前・事後処理が必要だったりもするので、仕方が無いので自前でナントカすることにした。

 のだが。
 Webを漁ってみると、どうも思ったとおりにいかないという記録も多い。
 結局、引っかかるところはみな同じなわけである。

 対象ファイルがひとつふたつならいいのだが、数千ファイル想定の連続印刷の場合、前の印刷が完了してから、次の印刷を開始しないとキューが溜まり過ぎて破綻する恐れがある。
 特に俺の場合、後流でキューファイルを操作する必要があり、できれば「溜めたく」ない。

 またできるだけ安価にやりたいので、Acrobat Readerを使って…というセンが真っ先に思いつくが、コイツがなかなか難物である。
 Adobeのドキュメントを読むと、AcroRd32.exeにはコマンドラインオプションがあるので一瞬バッチファイルでずらずら並べりゃいいやシメシメと思うが、これが書いてある通りに動かない(/tオプションとか。バージョンにもよるのかもしれないが、Acrobat7でなきゃいけないという条件なので)。
 こちらの期待通りに動いてくれないので、印刷が終わったという情報が上手く得られず、印刷終了を待って次の印刷つーことが難しい。

 結局のところ、
  1. 印刷という挙動を監視して、前の印刷が終わったことを確認する
  2. Acrobat Readerで印刷開始。印刷終了を待つ。
  3. すべての処理が終わったら、AcrobatReaderのプロセスをきちんと始末する。
つーことが必要だ、たぶん。と結論した。

 Acrobat Reader自体はActiveXなのでCOMインタフェイスを持っているから、殆どの言語から生成してメソッドを呼べる。ところが印刷関係のメソッドは印刷終了の戻り値もなきゃコールバックも出来ないらしく、「印刷終了」の感知が難しいのである。

 うううううううむ。と10分ばかり考え込んでしまったが、仕方が無いのでこうすることにした。
 発想を変えて、Acrobat自体の終了報告には頼らずに、出した結果の方を監視することにしたのである。
  1. プリントキュー側を監視して、投入したジョブが消えたら終了したと<見なす>。共有プリンタではないので他からのアクセスについては考えない(爆)
  2. 基本的にはこれでAcrobatのプロセスがゾンビることはないと思うが、ダメ押しで、アプリ終了時にAcroRD32を強制的にKill(爆笑)
この線で手元にあるDelphi6で書いてみた。キモの部分はこんな感じ。

 まずは、出力しているプリンタの状態を見て登録されているジョブ数を確認する関数を用意する。Win API の GetPrinter を使うが、ここでは出し先がネットワークプリンタなので、PrinterInfo2構造体へ突っ込む。

//=============================================================================
// プリンタのステータスとジョブ数返す。
// PrinterName : プリンタ名
// JobCount(var): 登録されているジョブ数
// 戻り:ステータス
//=============================================================================
function PrinterStatus(const PrinterName: String; var JobCount: Cardinal): LongWord;
var
Count: LongWord;
hPrinter: THandle;
JobInfoCount: LongWord;
JobInfo2: PJobInfo2;
PrinterInfo2: PPrinterInfo2;
begin
Result := 0;

if OpenPrinter(PChar(PrinterName),hPrinter,nil) then begin
Count := 0;
GetPrinter(hPrinter,2,nil,0,@Count);
GetMem(PrinterInfo2,Count);
GetPrinter(hPrinter,2,PrinterInfo2,Count,@Count);
FreeMem(PrinterInfo2);
Count := 0;
EnumJobs(hPrinter,0,1,2,nil,0,Count,JobInfoCount);
GetMem(JobInfo2,Count);
EnumJobs(hPrinter,0,1,2,JobInfo2,Count,Count,JobInfoCount);
JobCount := JobInfoCount;
if (JobInfoCount > 0) and (JobInfo2.Status <> 0) then begin
if (JobInfo2.Status and JOB_STATUS_BLOCKED_DEVQ) <> 0 then
Result := Result or PRINTER_STATUS_ERROR;
if (JobInfo2.Status and JOB_STATUS_DELETING) <> 0 then
Result := Result or PRINTER_STATUS_PENDING_DELETION;
if (JobInfo2.Status and JOB_STATUS_ERROR) <> 0 then
Result := Result or PRINTER_STATUS_ERROR;
if (JobInfo2.Status and JOB_STATUS_OFFLINE) <> 0 then
Result := Result or PRINTER_STATUS_OFFLINE;
if (JobInfo2.Status and JOB_STATUS_PAPEROUT) <> 0 then
Result := Result or PRINTER_STATUS_PAPER_OUT;
if (JobInfo2.Status and JOB_STATUS_PAUSED) <> 0 then
Result := Result or PRINTER_STATUS_PAUSED;
if (JobInfo2.Status and (JOB_STATUS_PRINTING or JOB_STATUS_RESTART)) <> 0 then
Result := Result or PRINTER_STATUS_PRINTING;
if (JobInfo2.Status and JOB_STATUS_USER_INTERVENTION) <> 0 then
Result := Result or PRINTER_STATUS_USER_INTERVENTION;
end;
FreeMem(JobInfo2);
ClosePrinter(hPrinter);
end
end;

//=============================================================================
// PrinterNameのプリンタの印刷ジョブ数を返す関数
//=============================================================================
function TForm1.GetPrintJobCount(PrinterName: String): Cardinal;
var
aJobCount: Cardinal;
PrnStat: LongWord;
begin
aJobCount := 0;
PrnStat := PrinterStatus(PrinterName, aJobCount );
// ホントはステータス(PrnStat)をみるべきだが、めんどいので略
Result := aJobCount;
end;

こういう関数を用意し、大筋こんな感じでループ内で監視することにした。

PrintCount := GetPrintJobCount(Printername); // 印刷前の取得数を印字待ちなしと看做す
AcroPDF1.LoadFile(WideString(FileName)); // ファイルをロードして
AcroPDF1.printAllFit(True); // ダイアログなし印刷で

// データのポスト待ち
if GetPrintJobCount(Printername)=PrintCount then begin
while True do begin
Application.ProcessMessages;
if GetPrintJobCount(Printername)>PrintCount then break;
Sleep(1);
end;
end;

// 終了待ち
while True do begin
Application.ProcessMessages;
if GetPrintJobCount(Printername)<=PrintCount then break;
Sleep(1);
end;

どうもなんともカッコ悪いうえに、動作環境の仮定が多く、破綻するケースが容易に想像できる方法であるが(核爆)、しょせん一発モノなんで(笑)

いちおう、1万ファイル程度処理してみたが上手くいったのでよかったよかった。
[PR]
by SIGNAL-9 | 2008-03-27 15:52 | TIPSとかKludgeとか | Comments(0)

花粉症…今年はラクだ。もしかして効いたのか?

ここ数年、花粉症に悩まされ続けてきた。

「今年は去年のン倍」というマスコミの脅迫に戦々恐々としていたのだが、思ったほど酷くない。

いや、確かに目や鼻腔にかゆみは覚えるのでマスクは手放せないのだが、例年だと鼻水製造機と化し、マスク無しでは眠ることもできなかったのに、今年はさほどではないのである。

生活環境やストレスで症状が変わる、なんて話は聞くが、別に生き方を変えたわけでもなし。
周りの花粉症連中は例年通り重装備なんで、花粉が減ってるということでもないようだ。

となると、思い当たる節はひとつしかない。

広告禁止つーのがこのExciteのブログを選んだひとつの理由なんで、宣伝めいたことを書くつもりはない。
だが、例年と今年で大きく変えたのは、コレを飲み続けていることくらいなのである。

インターバランスL-92、これのタブレットタイプのものを去年の11月頃から毎日2~3錠。

前からヨーグルト味は好きだったし、ちっとは健康に気を使ってるというアリバイにもなるので、ヨーグルトドリンクは愛飲していたのだ。

だが、脂肪分とか糖分とかが気になるお年頃。錠剤の方がよかろうと試してみたのである。
60錠ボトル(約20~30日分)で標準価格2100円、安くは無いが、100円/日程度だからヨーグルトドリンクと大差は無い。

そしらたなんと、アラ不思議。冒頭に書いたように、今年は症状があまり酷くない。

いやいやいや。判ってる。
原因と結果の関係を誤認してる可能性はある。
いわしの頭も信心から、プラシーボで「軽くなったような気がする」だけかもしれないし、他に要因があるのかもしれない。

体質にもよるのだろうが、副作用らしきものもある。
乳酸菌は便秘解消のためにも使われてるくらいだから当たり前なのかもしれないが、ウンコがやわらかくなるのである(笑)。

タブレットなんで口に放り込みやすく、直前に飲んだことを忘れてしまい、うっかり推奨量の3倍の6錠飲んじゃった時には軟便どころか下痢(爆)
…ある意味便秘よりはいいかもしれないが(笑)

繰り返すが、俺の気のせい・勘違いという可能性はあるし、カルピスからビタ一文貰ってないし貰うつもりも無い。
クスリじゃないのだから劇的な効果があるわけでもない。
あくまでも「あれ、今年はラクなような気がするぞ」程度のことだ。

だが花粉症の辛さは身にしみてわかっている俺としては、もしかして同病の誰かの役に立つかもとの思いで、ここに報告しておきたいんである。
[PR]
by SIGNAL-9 | 2008-03-26 12:59 | 一般の話題 | Comments(0)

新タワーネーミング全国投票

新タワーネーミング全国投票 2008.4.1~
  1. 東京EDOタワー
  2. 東京スカイツリー
  3. みらいタワー
  4. ゆめみやぐら
  5. ライジングイーストタワー
  6. ライジングタワー
「…なんかどれもイマイチねぇ」

「商標の問題もあって、主要な候補がNGだったんだってな。ま、確かに新東京タワーじゃあ、東京タワーが文句つけるわな。商標買取るって手はなかったのかねぇ」

『E電』みたいなことになるんじゃないのかしら」

「あれはまあ、『愛称』だからなぁ。山手線みたいな本来の名前があるんで、使わないという選択肢があるんだろうが、これは現物そのものの名前だからな。そういやお隣の浅草には元国際通り、今は『ビート・ストリート』つー例があったな。使ってる奴見たことないが」

「なにそれ初めて聞いた」

「…(笑)。ほれ、前に浅草行ったとき吾妻橋のアサヒビールで飲んだじゃん。あれだって誰も『スーパードライホール』なんて呼んでないじゃん」

「うんちビル」

「だろ。結局<俗称>の方が知名度が上がっちゃえばソッチが使われちゃうんじゃないのかなぁ」

「アンタの好きな『チンカ神社がアキバ神社』みたいな」

「そばにウンチがあるんだからチンコタワーとか」

「死ね」
[PR]
by SIGNAL-9 | 2008-03-21 10:38 | 一般の話題 | Comments(0)

SF作家アーサー・C・クラーク(「2001年宇宙の旅」作者)90歳で死去

SF作家アーサー・C・クラーク(「2001年宇宙の旅」作者)90歳で死去 デイリーミラー 2008/03/18 22:50
SF作家アーサーC・クラークが90歳で死去した。
水曜日早朝、第2の故郷であるスリランカで、呼吸障害により死亡した。
 世間的には『2001年』が有名なのだろうが、『地球幼年期の終わり』はSFに限らず文学史全体で見ても重要な位置を占める作品である、と断言できる。
 個人的には『宇宙のランデブー』や『楽園の泉』みたいなスケール感あふれる諸作が印象に残っている(つーか大好きだ)。

 また、いわゆる『衛星通信』の提唱など、現実の科学における功績や啓蒙も忘れがたい。

 2003年の第2回軌道エレベータ国際会議でクラークはこういった。
私は現在86歳で、20年後でもまだ106歳にすぎない。多分、生きているうちにそれを目にすると思う
 記事を読んだ時は「元気なじいさまだなぁ」と半ば苦笑したのだが、「ほんとに間に合えばいいよなぁ」とも思ったものだ。

 …なんだか心にまたひとつ、ぽっかり穴が開いちゃったような気分だ。

 心からご冥福をお祈りする。
 宝物をたくさん残してくれてありがとう。
[PR]
by SIGNAL-9 | 2008-03-19 10:16 | 読んだり見たり | Comments(0)

チベット:ジャーナリストの追い出しと検閲が始まったらしい。

Radio Free Asiaの報道によれば、外国人ジャーナリストや観光客の追い出しが始まってるそうな。夏河は道路封鎖して検問、甘粛では暴動と関係ありそうな写真はすべて削除し、持ち出し禁止にしてると。
 オリンピック対策で移動の自由を与えられていたジャーナリストもチベット地域から追い出されていると。

 ふぅむ。よっぽど見られちゃ困るようなことが行われてるのかねぇ?

 中国政府の言い分だとダライ・ラマ一派=テロリストつーことのようだが、だとすりゃあ、そんな「テロリスト」が何万人いるような国でオリンピックを開こうなんて方が間違ってないか?
 中国政府いわくの「テロ」でも起きたらどうするのだろう。

 一方、わが日本の外相殿は世界に先駆けてオリンピック参加を言明したようだ。

 まだ事態が進行中で、安全が確認できてもいない状態で言明してるということは、万が一何かがあっても、行った奴の自己責任つーつもりなんだろう。

 ま、それでもイクってのは勝手だが、俺はゴメンだ
[PR]
by SIGNAL-9 | 2008-03-18 17:28 | 一般の話題 | Comments(0)

Amazon ほしい物リストの件。

密かな趣味が全公開--Amazonのウィッシュリスト、改め「ほしい物リスト」に注意? CNET Japan Staff BLOG 公開日時: 2008/03/12 05:00 著者: 編集部
Amazon.co.jpに「ほしい物リスト」という機能がある(3月8日よりウィッシュリストから名称変更)。自分の欲しいAmazon.co.jpの商品を登録し、友人などに知らせることができるというものだが、この機能を利用するにあたっては注意が必要だ。

というのも、ほしい物リストは作成時に非公開設定にしない限りウェブに公開される仕様となっており、さらにAmazon.co.jpのサイト上から名前またはEメールアドレスで検索できるため、不特定多数のインターネットユーザーに自分の欲しい商品が見えてしまうからだ。
このカテゴリで書くのは久しぶりだが。

上の記事がきっかけになったのか、2ちゃん方面では祭り発生。

amazonもドロナワでいろいろやっているフシはあるが、少なくとも3/12 16:00現在ではGoogleのキャッシュにマズそうなデータも残っているようである。

個人的には、
  1. send-nudge.htmlがGETリクエストを受けて、ログイン中なら介入する暇も無くメールを送っちゃう。
  2. しかもamazonでは明示的にログアウトする方法がわかりにくい(単純にはサインイン画面を再表示して何も入れずに終了すればいいのだが、画面を見ただけじゃあわかりにくい)ため、多くの人がログイン(サインイン)しっぱなし状態にあるらしい。
  3. さらにおまけにアカウント登録画面で、”ニックネーム”とでも表示すべき項目の名称が「名前」になっているため、本名を登録してしまった人が多数いるらしい。
こっちの方が問題だろうと思う。

隠しリンクが埋め込んであるWebページを表示しただけで、amazonを明示的にログアウトしていなければ、その「名前」と「メールアドレス」を任意のメールアドレスに通知できてしまうというのは、いくらなんでも…つー気がする。これは「ほしい物リスト」の有無にも関係が無いので、捨てメアドでない人は気をつけるべきだろう。

------------------- 3/12 17:15追記
さすがにこのsend-nudge.htmlは閉鎖したみたいだ。
今やってみたらサービス停止中との案内が出た。
------------------- 3/12 17:15追記

まあ、これだけ騒ぎになればこのまんま放置というわけにはいかないだろうし、場合によっては損害賠償つー騒ぎになりかねない。確かに「ほしい物リスト」はデフォルトで公開すると明示はしてあるが、明示してありゃあ免責つーものではなかろう。

amazon.co.jpも踏まなくてもいい地雷を踏んだものだ。

いや、一番酷い目にあっているのは勿論、利用者なんだが。
[PR]
by SIGNAL-9 | 2008-03-12 16:18 | 情報保護・セキュリティ | Comments(0)

広川太一郎さんが死去

アドリブ吹き替え広川太一郎さんが死去 2008年3月9日8時46分 日刊スポーツ
 「~しちゃったりなんかして」「きらーん♪」など独特のアドリブ吹き替えで知られた俳優広川太一郎さん(ひろかわ・たいちろう=本名・諶次郎=しんじろう)が3日、がんのため都内の病院で死去していたことが8日、明らかになった。68歳。東京都出身。葬儀は近親者で済ませた。
最近、あまり声を聞かないなぁ…と思っていた矢先だ。

 個人的には、やはりテレビでの実写吹替えが印象に残っている。
 二のセンなら『謎の円盤UFO』のストレイカー最高司令官、『サイボーグ危機一髪』(『600万ドルの男』)のスティーブ・オースチンなどなど。
 コメディなら『モンティ・パイソン』。映画だと『ヤング・フランケンシュタイン』。初めて広川版の吹替え聞いたときは腹筋割れるかと思ったものだ。
 アニメだとやっぱり『ムーミン』のスノークかなぁ。あと、『男達の夜かな』は聞いていたな。
 最近だと、ゲームの『デストロイ オール ヒューマンズ!』とか。

 フィルモグラフィーをチェックしてみて気づいたのだが、作品的には意外と俺の嗜好とカブっていないのだ。 あまり積極的には観ていない作品が多いはずなのに大好きだったということは、やはり印象が深かったということなんだろうな。

 買ったばかりの『モンティ・パイソン』吹替え版DVDを見ているのだが、どうもまだ実感がわかない。こういう寂しさというのは徐々にやってくるものなのかなぁ。
[PR]
by SIGNAL-9 | 2008-03-10 09:36 | 読んだり見たり | Comments(2)

「秋葉権現勧請説」 千代田区から返事が来た。

「秋葉権現勧請説」を天下の千代田区に質問してみる。の続きである。

<akiba-i事務局>である千代田区まちづくり推進部都市計画課から回答が来た。

 まず訂正しておくが、この「秋葉原インフォメーション」というサイトは、俺はてっきり千代田区自身の持ち物かと思っていたのだが、
秋葉原地区の駐車場案内システムとともに運営され、駐車場案内システムにご参加いただいております、駐車業事業者様の負担金にて運営されております。現在、当ホームページの管理主体の移行期にあたるため、私ども千代田区で運営を預かっております。
のだそうだ。

 ま、そうはいっても運営に責任を持っている以上、千代田区殿に管理責任があることに違いはあるまい。

 で、いよいよ「秋葉権現勧請説」の根拠になっている史料が教えてもらえるか、と思ってメールの下を読んでみたら。
掲載記事に関し、文献等について確認しておりますが、未だその該当資料を確認できておりません。
したがいまして、ご指摘いただきました事項に関するホームページについて、掲載を削除させていただきたいと存じます。
うわっ、江戸博と同じ、「削除」だよ(泣)。

 該当ページを見てみると
※当掲載記事について不正確な記述等がございましたので、掲載を削除させていただきます。
   ご迷惑をおかけします。
…疑問があったこと自体を無かったことにしてしまった江戸博よりはちょっとマシかもしれないが、事情を知らないと、何がどうしてこうなったのか、「不正確な記述等」つーのが何なのか、絶対にわからないわな。

 江戸博の時にも書いたが、誰も削除してくれだの無かった事にしろだの言ってないのである。

 そもそも俺はテメエの見解が絶対正しいなんて思っていない。
 そりゃあ、ある程度確信と自信があるからこそ疑問を呈しているわけだが、疑問に対するリプライを示してもらえればいいだけで「お詫び」なんざ求めちゃいないのだ。

 回答がすぐに示せないなら示せないで、その旨追記した文書に変えてもらう方がよほど親切かつ文化的態度だと思うのだが。

 重要なポイントなので何度でも同じ事を言うが、クレーム付いたら即削除というのは、Web上の文書のあり方としては十分な対応とは思えない。
 残しておくこと自体が問題であるような文書-例えば直截的に誰かを傷つけているとかで、「抗議」を受けるようなケース-は例外だろうが、これはそういう文書ではないだろう。

 もっとも、評価すべき点もある。
 今回、俺はあえてハンドル名で問い合わせをしている。
 このハンドルはパソ通だのfiだのの時代からン十年も使ってるから、俺自身は"匿名"というつもりはないのだが、相手とすりゃあドコのドイツかもわからないわけだ。
 そんな相手に対して対応してくれただけでもありがたいと思うべきかもしれない。
 また、問い合わせ先が明示してあり、機能しているのも好印象だ。
 公共機関でも、問い合わせ先が書いていなかったり、メールしても宛先不明になったりというヒドイところもある。

 きちんと対応してくれたのだから、このまま放置ということではなく、そのうち一次資料を確認して再掲載されると期待している-このままじゃあサイトのバランスも悪いしね(^^;)。

まだまだあるぞ、次のツッコミ先候補(笑)
[PR]
by SIGNAL-9 | 2008-03-05 13:09 | 秋葉原 研究(笑) | Comments(4)

『モヤモヤさまぁ~ず2』の大江アナに萌える。

 先日、以前から気になっていたあることを調べようと思って出かけたのである。
 目的地に着いたので、カメラであちこち撮影したり、歩測したりしていたら、官憲の介入を招いた

つまり、おまわりさんに職質されたのである。

 多少自己弁護させてもらうと、撮影していたのは公共の文化施設の跡地であり、もちろん敷地にも侵入していないのである。
 ちょっとした知的好奇心に基づく個人の趣味すら弾圧しようとする国家権力の走狗のなんたる横暴なことよ、と泣きぬれて蟹と戯れる今日この頃なんであるが、まあ、客観的に見れば疑われる俺の方が悪いわな(笑)

 花粉症なので帽子を目深にかぶって大型マスクで完全装備、同じ交差点をグルグル周回しながらカメラであちこち撮りまくっているデブ親父、とくれば熨斗をつけて送り出せるほどの完璧な不審人物である。

 おまけに何をやっておるのか説明しろ、と言われても一言では説明できないので、明治末期まで遡って説明する羽目になり、路上に手持ちの史料まで開陳してようやく納得してもらった次第。

 最近は健康志向もあるのか趣味としての町歩きを行う人も多いようで、お年寄りご夫婦や、FIM-92A スティンガー携行対空砲みたいな大型カメラをぶら下げた若い衆を街中で見かけることも多いが、歩かれる町の住人からすれば「こんな名所でも旧跡でもないところをウロウロうろつき回って、しかも勝手に写真なんか撮りやがって」と思われても仕方は無かろう。

 やはり無用の疑念・不安感を抱かれないような風体・立ち居振る舞いを心がけないといかん。

 テレビ東京で毎週金曜深夜にやっている『モヤモヤさまぁ~ず2』という町歩き番組が気に入っている。

 かつての『DAISUKI!』後期の町歩きシリーズに似ているが、さらにいい感じにユルユルで、週末の夜にダラダラみていると、いい塩梅に脳内麻薬が分泌されて誠に具合がいい。

 俺は女子アナの類には一切関心が無い人間なのだが、この番組に出演しているテレビ東京の大江アナにはちょっと萌えているのである。

 そもそも今だかつて「ワキ汗」だの「大開脚で『産まれる』と絶叫」だの「本番中泥酔」だの「一般住民の家で本番中にトイレ拝借」だの「アナウンサーの面目躍如、キン○マ保健、チ○コアラームと正確に音読」だのという奇跡のイベントの数々で語られる女性アナウンサーがいたであろうか?…というのは置いておくにしても(置いとくのかよ)、感心するのは、交流する一般住民に毎度毎度きちんと仁義を切っていることだ。

 「失礼します」「お邪魔します」「ありがとうございました」ときちんと頭を下げてあいさつする。
 ドコゾの馬鹿テレビ出演者と違い、気安いのと無礼なのと慇懃無礼なのを勘違いしていないところが、親御さんのしつけかテレ東の教育がしっかりしているのかはよくわからんが、見ていて非常に気持ちがいい。ある種「無遠慮」なテレビの侵入を、きちんと折り畳んでからその場を去ろうという気遣いが感じられる。

 やはり「人様の生活の場」に足を踏み入れるときにはこういう礼儀と気遣いは必要だよな。
 大江アナと俺とでは月とワラジムシくらいの差はあるが、お手本にしたいものである。

 せめて警察に通報されることは少なくしないと…ってそんなに度々かよ!(笑
[PR]
by SIGNAL-9 | 2008-03-03 14:53 | 読んだり見たり | Comments(0)