トップ 最新 追記
RSS feed

ただのにっき


2010-11-14(日) [長年日記]

川崎 1-2 鹿島@等々力陸上競技場

[写真]たまにはメインスタンド側から 体調もだいぶよくなってきたので久々に現地観戦。で、ひとり観戦だと負けるの法則ふたたび。とほほ……。

なんかねー、貪欲な感じがないんだよなぁ。ゴール前にいて、目の前にボールが転がってきてるのにダッシュしない矢島とかさぁ。あいかわらずDF陣もちぐはぐで、2点目なんて完全にやらなくていい失点だよなぁ。

Tags: frontale

2010-11-13(土) [長年日記]

「jQueryクックブック」を自炊した(再々) - PDFから余白の除去に成功するの巻

そろそろ自炊用のタグをつけるべきか。というか、ScanSnapを買った時、べつに蔵書をPDF化するわけではないとか書いてたくせに、自炊街道まっしぐらという雰囲気が濃厚になってきているのはどういうわけですか。

そんなこんなでこないだの続き。(Kindleで読むために)余白をもっと削りたい。

で、「PDF トリミング」みたいなキーフレーズでいろいろ調べていたんだけど、これはもう、Adobe Acrobatの独壇場(あとはソースネクストの「いきなりPDF」もできそう?)。Acrobatを個人で買うとか勘弁して欲しいので、できるとこまで無償ソフトでいきたいんだが……とこぼしていたらPDFCROPというプロジェクトを教えてもらう。

そうか、探すべきキーワードは「crop」だったのか!

で、上のPDFCROPはオプションすらないビミョーなツールで、動かしてみたけどエラーの原因もよくわからない。ただ、「PDF crop」で探してみると同名かつ同目的の違うソフトがあるらしい。で、こっちはDebianにもパッケージがある。

pdfcropはtexlive-extra-utilsパッケージに入っているようなのでaptitudeでインストール。ところがこれが「PDFCROP 1.5, 2004/06/2」という古いファイルで、公式配布元であるCTAN(TeX版のCPAN?)にあるのが「PDFCROP 1.31, 2010/09/17」。バージョンのつけ方が変わってて「えっ」と思ったけど、1.31の方が新しいということか。少なくともつい最近更新があったくらいなので生きているプロジェクトらしい。lennyのパッケージはなんでこんなに古いんだ?

というわけで、最新版を落としてきて使ってみる。依存関係は先の(古い)pdfcropがなんとかしてくれるのでいちおう入れておく:

% sudo aptitude install texlive-extra-utils
% wget http://mirror.ctan.org/support/pdfcrop/pdfcrop.pl
% mv pdfcrop.pl pdfcrop
% chmod +x pdfcrop
% ./pdfcrop --verbose test1.pdf out.pdf
PDFCROP 1.31, 2010/09/17 - Copyright (c) 2002-2010 by Heiko Oberdiek.
* PDF header: %PDF-1.3
* Running ghostscript for BoundingBox calculation ...
GPL Ghostscript 8.62 (2008-02-29)
Copyright (C) 2008 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 475.
Page 1
Error: /undefined in /90ms-RKSJ-H
(以下略)

なにやらエラー。「90ms-RKSJ-H」をググってみると、PDFで使われている文字コードの表記(?)で、Windowsで作られた日本語PDFという程度の意味合いか。日本語フォントがないという意味だろうな。あー……これはフォントの泥沼にはまるヨカン……。そういうのは全力で避けたい方向。

そこで、ここはいったん諦めて、ふたたびWindowsオンリーでなんとかしようと考えた。

Adobe ReaderやFoxit ReaderのようなPDFビューアで余白がなくなるくらいの倍率で「拡大印刷」し、それをpdf995PrimoPDFのようなプリンタドライバを介してトリミング済みのPDFを入手しようという作戦に。

pdf995で作成したPDFファイルはむやみやたらとファイルサイズがデカくなってしまい(5倍以上)、PrimoPDFだと倍程度に収まったのでよしよしと思っていたのだが、困ったことに画像情報しか残ってない。よく考えてみればプリンタへ印刷するという機能を使っているんだから、決して印刷されない透明な文字の情報がプリンタドライバに渡るわけがないではないか。

おまけにこうして作ったPDFファイルを、Kindleを持っている知人に試してもらったところ、起動に5分かかるという結果に。なんじゃそら。なんかこう、PDFの作りがいろいろおかしいということか。やっぱまっとうな方法でPDFファイルを直接いじるしかないのかね。

というわけで、ふたたびLinux環境に舞い戻る。ちょっと調べてみると、「gs-cjk-resource」というのが見つかった。これを入れればいいのか。aptitude installしてからリトライ:

% sudo aptitude install gs-cjk-resource
% ./pdfcrop --verbose test1.pdf out.pdf
PDFCROP 1.31, 2010/09/17 - Copyright (c) 2002-2010 by Heiko Oberdiek.
* PDF header: %PDF-1.3
* Running ghostscript for BoundingBox calculation ...
GPL Ghostscript 8.62 (2008-02-29)
Copyright (C) 2008 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 475.
Page 1
Substituting CID font resource/Adobe-Japan1 for /MSMincho.
Error: /undefinedresource in findresource

お、「MSMincho」なんてキーワードが登場するようになりましたな。ようするに、PDFファイルに「MSMincho」という名前が埋め込まれてるけど、マッピングできないと言ってるんだろう。マッピングのためにはなんらかの代替TrueTypeフォントを入れてやればいい。ここはおなじみ東風フォントでいいのかな。さらに調べると、cidfmapというファイルでそのマッピングを指定してやるらしい:

% sudo aptitude install ttf-kochi-mincho
% sudo vi /usr/share/ghostscript/8.62/lib/cidfmap
(ごにょごにょ)
% tail -1 /usr/share/ghostscript/8.62/lib/cidfmap
/MSMincho << /FileType /TrueType /Path (/usr/share/fonts/truetype/ttf-japanese-mincho.ttf) /SubfontID 3 /CSI [(Japan1) 2] >> ;

これで準備完了(のはず)。pdfcropを再実行:

% ./pdfcrop --verbose test1.pdf out.pdf
PDFCROP 1.31, 2010/09/17 - Copyright (c) 2002-2010 by Heiko Oberdiek.
* PDF header: %PDF-1.3
* Running ghostscript for BoundingBox calculation ...
GPL Ghostscript 8.62 (2008-02-29)
Copyright (C) 2008 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 2.
Page 1
%%BoundingBox: 0 0 498 658
* Page 1: 0 0 498 658
%%BoundingBox: 0 0 498 658
%%HiResBoundingBox: 0.000000 0.000000 497.285985 657.485980
%%HiResBoundingBox: 0.000000 0.000000 497.285985 657.485980
Page 2
%%BoundingBox: 0 0 498 659
* Page 2: 0 0 498 659
%%BoundingBox: 0 0 498 659
%%HiResBoundingBox: 0.000000 0.000000 497.753985 658.925980
%%HiResBoundingBox: 0.000000 0.000000 497.753985 658.925980
* Running pdfTeX ...
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %&-line parsing enabled.
entering extended mode
(./tmp-pdfcrop-10192.tex [1 <./test1.pdf>] [2 <./test1.pdf>] )
Output written on tmp-pdfcrop-10192.pdf (2 pages, 197614 bytes).
Transcript written on tmp-pdfcrop-10192.log.
==> 2 pages written on `out.pdf'.

できた! で、開いてみるとなにも変わってない

いや、予想はしていたんだ。自炊PDFは画像が一面に埋まってるわけで、余白を検出できないんだろう。メッセージにある「HiResBoundingBox」がそのヒントだ。これを--bboxオプションで適当な値に狭めてやればいい。試行錯誤の末、こんな感じにするときれいに余白が消えたPDFができた。

% ./pdfcrop --bbox "50 40 447 627" test1.pdf out.pdf

前回の記事と比べると一目瞭然。バンザイ!

[スクリーンショット]余白が消えた自炊PDF

--bboxオプションには奇数ページと偶数ページを別々に指定できる機能もあるので、左右でマージンが大きく異なる本でもなんとかなりそうだ。これでKindleを買う権利ができた!(←権利?)

Tags: ebook
本日のツッコミ(全8件) [ツッコミを入れる]

Before...

kou [おぉ!すごい! というか、テキスト云々関係なかったです。 こんなスクリプトで https://ruby-gnome2..]

ただただし [おー、すばらしい。これってghostscriptには依存してない? Linuxでいろいろ苦労するのはあの周辺に依存し..]

kou [Ghostscriptは必要ないです! cairoはフォントまわりのバックエンドがPangoになっていて、Pango..]

ただただし [fontconfigにもいい思い出ないけど(笑)、ghostscript関係ないのはいいねぇ。単一パッケージにしてW..]

馴染めない [(自炊)と言う言い方、馴染めない、もっとセンスの良い言葉ないもんでしょうか]

ただただし [[警告] 「センス」が未定義です。]


2010-11-12(金) [長年日記]

AMN(アジャイルメディアネットワーク)がちっともアジャイルじゃない件

7月の末ごろだったと思うのだけど、登録してあるAMNブログクラブからメールがきて、プロフィルがリニューアルしてFans:Fansというサイトになるとかなんとかそんな内容*1。こういうメールはたいてい設定で拒否してるはずなので、当然のことながらおれの反応は舌打ちだった。まぁ、それはそれですぐに忘却したのだが。

そうこうするうちに、そのFans:Fansというサービスは正式運用に入ったらしく、今度は10月になってから「ポイントシステムやいいね機能を実装した」という案内だの、ポイントが何点ついただのというメールが来るようになってしまい(そんなの送っていいなんて許可した覚えはない)、頭にきてTwitterでグチったら、知人ネットワークを経由して担当者からお詫びのメールが来たり。それがざっと……10日前の話。

その時の言い訳が、最初のメールはサービスが変わるから必要な案内のつもりだった(つまり確信的)、その後の案内はシステムのバグで拒否してる人にも送ってしまったというもの(つまり事故)。前者の言い訳は嘘っぱちだ。だって旧サービスの「プロフィル」はまだそのまま生きてるし、ログインしても移行の案内すら表示されない。後者にしたって、指摘されるまで何日も気づかないとかありえんでしょう。

もっとマシな言い訳考えろよと思わなくもなかったが、誤ってメールを送付した会員にはあとでお詫びをするというから待っていたのに、10日たってもまだ来ない(Fans:Fansのサイトにもまったく何の記述もない)。しょうがないから日記に書く。

断っておくけど、AMNには期待してるのよ。破竹の勢いのFacebookだって見方を変えればバズマーケティングで食ってる会社なわけで、日本にもちゃんとしたバズマーケティングができる会社があるべきだし*2、徳力さんみたいな誠実な人がやってるから信頼していいと思ってる(思ってた)。社員の中には知人・友人もいる。だからよけいに腹がたつ。会社が大きくなってきて、ビジョンの共有がおろそかになってるんじゃないの?

AMNってぇのはブログをつなげて企業と個人の仲立ちをしようとしてる会社でしょう。ブログオーナーたちは大事なメディアなはず。そういう大切な人たちとの「約束」をAMN側の勝手な理屈で破っておいて、しかもいつまでたっても詫びひとつ入れないとか、何かが狂ってるとしか思えない。

以前、βユーザに申し込んだ「Stamp!」というサービス*3にしても、わざわざtDiary用のプラグインまで書いて正式運用を待ち構えていたのに、まったく開発が進んでいる様子もないし、こっちから質問やバグ報告をしても反応なし。会社のミッションにある『「透明性」と「信頼感」を核に』とは正反対の行動だ。

流行らせるつもりがあるのかないのかわからないサービスを乱発してる暇があったら、「カンバセーション」の基本に立ち戻って、誠実なところを見せて欲しいですよ、ホント。

*1 ここまで書いてきて、どう考えても無駄にサービス立ち上げすぎ、ドメイン分けすぎである。ブランディングとかどう考えてるんだろ。

*2 AMNのミッションには「カンバセーショナル・マーケティング」と書いてあるけど一般用語ではバズマーケティングと言っていいだろう。

*3 Facebookの「いいね!」ボタンみたいなのをブログに張り付けられるサービス。今となっては手遅れ感がビンビンする。

本日のツッコミ(全2件) [ツッコミを入れる]

AMN甲斐 [お詫びメールの件未送信の件、大変申し訳ありません。 お詫びメールはたださんにご指摘いただいた後、11月2日に対象者..]

ただただし [んー、そういう言い訳にならない言い訳はもういいんで、どうぞこれからもがんばってください。]


トップ 最新 追記
RSS feed