2011/11/15(火)PDF内の画像フォーマット

2011/11/15 15:26 PC(全般)
前記事の付随記事。
画像で構成されたPDF内の画像フォーマットを調べたい。

なんとAcrobat X Proでは表示する方法がない(!?)。

現状これができるツールがみつけられなかったが、とりあえず調べ方はわかった。
テキストエディタでPDFの中をのぞく。
<< /Type /XObject /Subtype /Image /Name /Obj4 /Width 1811 /Height 2365 
/BitsPerComponent 8 /ColorSpace /DeviceRGB
/Filter /DCTDecode /Length 634114 >> 
stream
こういったエントリがあるので/Filterのところをチェック。こいつはDCTDecodeなので結局JPEG。うーん、FlateDecode(可逆圧縮)を期待していたのだが……

他のフォーマットは、ここでも参照してほしい。

さて、この場合Acrobat X Proで名前をつけて保存->画像->JPEGとやると、品質設定如何に関わらずオリジナルのJPEG(上記の場合1811x2365 634114bytes)のファイルを抽出できる。

かなりブロック・モスキートノイズが飛んでいる。このJPEG、品質はどれくらいで作られたのか調べたい。量子化テーブルの話なので、逆算は必ずしも正確ではないだろうが大まかの当たりをつけたい。

info_JPEGというソフトで調べられるという話なのでこれを使用。品質は60だった。

このソフトを信じるならこの数字。自分の見た目としての実感も60~70くらいかなという感じなので、大きく外してはいないだろう。

なお、GhostScriptを経由したIrfanView等では、この画像サイズがとれないのか出力指定解像度でしか抽出できなかった。安定してやるならAcrobatでやるのが良い。

2011/11/15(火)ブックメンテナンス秋葉原に行ってきた

2011/11/15 14:52 PC(全般)
ブックメンテナンス秋葉原に2回ほど行ったので、機材のクセや使用方法について思うところをメモしておこうと思う。

今回の目的は自宅にあるA4超サイズ雑誌切り抜き(2000年以前)のデジタル化。現時点(2011/11/15)で、この作業においてライセンス&法律に抵触することはないと理解している。

ブックメンテナンス秋葉原は基本的にレンタル機材サービスをしている店だ。使用料を払って機材を一定回数、もしくは一定時間借りる。機材を使用するのは基本的に客であるが、店員がガイドあるいは手伝いをしてくれるときもある。機材としてはドキュメントスキャナが主体であるが、紙揃えや裁断機等々機材の種類も多くちょっと変わったラインナップになっている。性質としてはKinko'S等に近いものがあり、コピーサービスの特殊拡張と思うとわかりやすい感じだろうか。価格設定はかなり高めだが業務用高級機がそろっており、ここのバランスをどう見るかは人次第であろう。特にA3ドキュメントスキャナはコンシューマー用製品がほとんど無いため、これを使える点はメリットとなる。

今回この店を使用することにしたのは、A4超の切り抜きが大量発掘されてしまったことに端を発する。自宅にあるドキュメントスキャナ(fi-6130)ではA4までしか対応しておらずどうしようかと思案していたのだが、ちょうどこの店の話を聞きつけたので話の種に使ってみることにした。

料金表は店のHPを見て欲しい。ただ、説明不十分なところが多々あるため疑問点は電話で確認しておくといいだろう。

自分が使ったサービスでいうと紙揃え(空流で紙をそろえる)(無料。裁断の100円に含まれると理解)。裁断(手動)(1回100円)。スキャン(低速)(10分500円)。

紙揃えは店員がやってくれ、裁断はセットまでやってもらった。基本的には慣れるまでは手伝ってもらう形になると思う。裁断機はレジ付近にあるので、中身を見られたくない人は裁断は自前でやった方が良いかもしれない。これらの支払いは直接レジに現金で支払う。

低速スキャンブースはPC+コインタイマー+ドキュメントスキャナの組み合わせ。低速ブースでもCanon DR-9080CというA3対応業務機(定価100万円以上)がおいてある。事前にCapturePerfectのマニュアルくらいは読んでおいた方が良いかもしれない。スキャンブースは狭く、しかも足下にスキャナが置いてあるため蹴らないように注意。スキャン物を入れるためのかごを店内で貸してもらえるが、サイドに置くと隣のスペースに侵犯するため混んでるときはどうするのか疑問。荷物があるともうどうしようもない気がする。

PCからUSBの挿入口(メス)が机の上に取り回されているので、そこにUSBメモリやUSB HDDを挿すことができる。スキャンしたデータはそこから持ち帰ることになる。何度か使ってみて考えたのだが、(電源容量が足りれば)USB HDDを持って行くのがベストのようだ。標準では書き出し先がマイドキュメントになっているのだが、PC自体のスペックが余り高くないようでマイドキュメントから移そうとするとかなり時間がかかる。持ち込んだメディアに直接出力するのが良い。フラッシュメモリ系だと転送速度に足を引っ張られるため、その分時間ロスになることに留意しておこう。

スキャン設定は前使用者の設定が残っている可能性もある(日によって初期状態が違った)。そういじるところはないがチェックしておこう。基本はdpi、カラー/グレースケール、片面/両面、保存形式(bmp/jpg/pdf/tif)、出力先フォルダ、マルチページ/シングルページくらいをチェックでよいと思う。

設定について。tifはまず非可逆圧縮の設定ができないため除外(BMP相等とjpg相等しか作れない)していい。大容量メディアを持ち込んだ場合は原版としてBMPで取り込むのもいいだろう。もちろんこの場合、転送速度と空き容量に気を配る必要がある。jpgの場合、圧縮率をきちんと設定すること。この後で加工の予定がある場合、品質95以上にするのが望ましいと思われる。PDFの場合、いきなり出力できるのはメリットだが、自分の場合PDF出力(モード:標準)を選んだ際に、品質60相等のjpgで固められてしまったので注意。何か設定が必要だったのかもしれない。解像度は300dpiか200dpiあたりが一般的か。そこはお好みで。

初回は上記の使い方について店員からガイダンスを受けることになる。作業後にマイドキュメントからファイルを消すように説明されるが、通常の削除を実行してしまった場合ゴミ箱への移動だけで数分費やす羽目になるので注意。完全削除(Shiftキー押しながら削除)をするようにしよう。

スキャンのみ支払い方法が異なり、PC横のコインタイマーに500円硬貨を放り込んで一定時間(低速なら10分)使う形になる。従って、10分は厳密に10分なので注意。何度か使う予定があるなら、まずは低速で慣れた方が良いだろう。5分だと初回のガイダンスだけで終了してしまう恐れがある。時間切れ後3分(と説明を受けた)はリコイン可能時間で、この間はコイン投入を促す画面に強制的に切り替わる。この間バックグラウンドでプロセスは動いているようなので、転送最後数秒とか言う状態ならおそらくだが転送完了まではこぎ着ける。ただ操作はできないため、「安全な取り外し」はできないだろう。リコインすれば復帰し、リコイン猶予時間が終わると初期画面に戻る。初期画面に戻ると、作業中データはすべて消える(と説明を受けた)。

なお、このコインタイマーはどうやら500円しか受けつけない。店内には100円両替機と500円両替機があるが、引っかからないようにしよう。

この記事は2011/11月末くらいまで随時更新するかもしれない。

2011/11/06(日)春M(SpringM)のタイムスタンプ仕様の確認

2011/11/06 11:11 PC(全般)
春M(1.50k41)でタイムスタンプいじってたら、思った通りにソートされなくて???になったのでちょっとメモ。

春Mの「日付の変更」ダイアログで変更できるのは最終変更日時。

さて、FAT32とNTFSでは記録精度が違う。春Mは古いソフトなので、FATの仕様を引きずっている。まあ現在でもFATファイルシステムはUSBメモリなど随所にあり、他のファイルシステムでもNASやバックアップ・ファイルコピーツール等々で同様に発生する問題でもある。

[NTFS]
作成日時:100ナノ秒単位で記録
最終変更日時:100ナノ秒単位で記録
最終アクセス日時:100ナノ秒単位で記録(ただし、1時間以内の同種のアクセスは無視)
参考:NTFSの最終アクセス日時 - B-) の独り言

[FAT32]
作成日時:10ミリ秒単位で記録
最終変更日時:偶数秒単位で記録
最終アクセス日時:1日単位で記録
参考:File Allocation Table

記録時間がUTCかローカルかって違いもあるけど割愛。

で、春Mの場合、「日付の変更」ダイアログでは秒単位まで入力可だが、内部で偶数秒単位に丸めている。また、表示も偶数秒単位に丸められる。ただし、更新の場合と表示した場合でちょっと挙動が違う。

[更新した場合]
2011/11/06 09:54:26に更新→2011/11/06 09:54:26.0000000で記録
2011/11/06 09:54:27に更新→2011/11/06 09:54:26.0000000で記録
2011/11/06 09:54:28に更新→2011/11/06 09:54:28.0000000で記録

切り下げっぽい動きになる。

[表示した場合]
2011/11/06 09:54:26.0000000→2011/11/06 09:54:26
2011/11/06 09:54:26.0000001→2011/11/06 09:54:28
2011/11/06 09:54:26.9999999→2011/11/06 09:54:28
2011/11/06 09:54:27.0000000→2011/11/06 09:54:28
2011/11/06 09:54:27.9999999→2011/11/06 09:54:28

切り上げっぽい動きになる。

さらにややこしいことに、Windowsのファイルプロパティ(秒まで表示)では、
[ファイルのプロパティ(Win7Pro 64bitで確認)]
2011/11/06 09:54:26.0000000→2011/11/06 09:54:26
2011/11/06 09:54:26.0000001→2011/11/06 09:54:26
2011/11/06 09:54:26.9999999→2011/11/06 09:54:26
2011/11/06 09:54:27.0000000→2011/11/06 09:54:27
2011/11/06 09:54:27.9999999→2011/11/06 09:54:27

切り下げっぽい動きになる。

春Mの画面上のソートはナノ秒まで含めて正確に行われるようなので、ちょっと混乱した。

なお、ActiveRuby1.8.7のFile.mtime(秒まで取得可)の挙動とかも確認してみたけど、基本Windowsのプロパティ画面に出てくる値と同じだった。本当はどのAPIを使ってるかも調べるべきなのだが、とりあえず今回はここまで。

調査は
Restamper
とか使った。こっちが信用できないともう知らん。

2011/11/03(木)TVTestで録画ファイル名が文字化け

2011/11/03 17:23 PC(全般)
TVRock(0.9u2)->TVTest(0.7.7)で録画した際に、録画ファイル名が文字化けした問題。

これはTVTestの問題で、条件は録画ファイル名に"%"(半角パーセント)を含むこと。

簡単な再現コマンドはこう。
>tvtest.exe /rec /recfile "test%test.ts"
このとき出来るファイル名は"test%test.ts%"とかになる。パースと置換の問題なので、情報が落ちる場合もあり。率直に言うと、
"うたの☆プリンスさまっ♪マジLOVE1000% #12「迷子のココロ」 2011-09-17(土)_2400 _MXテレビ_201109180000.ts"

"うたの☆プリンスさまっ♪マジLOVE1000% #12「迷子のココロ」 2011-09-17(土)_240%"
になってしまった。

で、結局のところバージョンアップで改善するようだ。現時点で最新のTVTest0.7.23を入れたところ問題が解消した。

更新履歴を見ても判別できなかったので、どこのバージョンで修正されたかは不明。

2011/11/03(木)ChromePlusで延々エラー

2011/11/03 11:38 PC(全般)
ChromePlusで特定サイト(今回はamazon)を開いたときに毎回ActionScriptエラーダイアログが出る問題。
TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
	at com.amazon.d16g.utilities::JS$/call()
	at com.amazon.d16g.utilities::Logger$/_consoleAvailable()
	at com.amazon.d16g.utilities::Logger$cinit()
	at global$init()
	at com.amazon.d16g.core::Erm()
かなりバカバカしい原因なのだが、自戒のためにメモしておく。

単にこのサイトがIE Tabで開く設定になっていた。

ChromePlusの問題だとばかり思い込んでいたため、Pluginの有効/無効を切り替えたり、Flash Playerを入れ替えたりしていたのだが、いっこうに解決せず???だった。そもそも、エラーダイアログのFlash Playerのバージョンが変わらない時点で気がつかなければいけない。

Flash Playerは開発版でない限りエラーを出さない(はず)。
OK キャンセル 確認 その他