2009/04/18
2009/04/17
セキュリティのかかったPDFファイルからテキストを抽出する方法
文献検索をNAMAZUで作ってるのだが,最近pdfにセキュリティ掛けてるところが多いのでメモ
xpdf
namazu付属。動きません。ここがスタート。
xdoc2txt
一緒においているcryptlib.dllを一緒に落として使う。
コマンドラインの引数は「-n PDF文書のアクセス権限の設定を無視(cryptlib.dllが必要)」
ただし 時々エラーで落ちるpdfがいる
あと,NAMAZUのフィルターがわからない。@convopts に-n追加しただけじゃだめなのか?
ConcatPDF
iTextFrontがメンテナンスしなくなったようなので。
pdfの暗号化解除で可能。必要なものが「.NET Framework 1.1 再頒布可能パッケージ 」+「Visual J# .NET Version 1.1 再頒布可能パッケージ 」ってのがマニアックすぎ。J#アプリなんてはじめてみた。
まぁ使えたのだが。
ちなみにConcatPDFが使っているライブラリが iText.NET らしい。
ググッたら,.NET Framework 2.0 用の iText.NET 2005 があるじゃないか。
書き直してほしいな
余談だがiTextってJAVAのpdfライブラリをJ#に移植したのがiText.NETなのか。
J#使いってはじめてみたわ!世の中広いね!
xpdf
namazu付属。動きません。ここがスタート。
xdoc2txt
一緒においているcryptlib.dllを一緒に落として使う。
コマンドラインの引数は「-n PDF文書のアクセス権限の設定を無視(cryptlib.dllが必要)」
ただし 時々エラーで落ちるpdfがいる
あと,NAMAZUのフィルターがわからない。@convopts に-n追加しただけじゃだめなのか?
ConcatPDF
iTextFrontがメンテナンスしなくなったようなので。
pdfの暗号化解除で可能。必要なものが「.NET Framework 1.1 再頒布可能パッケージ 」+「Visual J# .NET Version 1.1 再頒布可能パッケージ 」ってのがマニアックすぎ。J#アプリなんてはじめてみた。
まぁ使えたのだが。
ちなみにConcatPDFが使っているライブラリが iText.NET らしい。
ググッたら,.NET Framework 2.0 用の iText.NET 2005 があるじゃないか。
書き直してほしいな
余談だがiTextってJAVAのpdfライブラリをJ#に移植したのがiText.NETなのか。
J#使いってはじめてみたわ!世の中広いね!
2009/04/12
【ニコニコ動画】ARToolKitでARDeskTopもどき(その8)
某先輩に教えてもらったんだが、半端なくSUGEEEEEEEEEEEEEEE。
ジョブスさん。ここにあなたが好きそうなインタフェースが眠ってますYO!
2009/04/06
2009/03/30
NTR support
インターワークのNTRシリーズって結構良さそうなんだよなぁ。
会社のTV会議システムを潰してこっちの導入を提案してみようかなぁ。
(メリットを考えた)
(手間暇を考えた)
(現在の負荷を考えた)
今はやめとこ…。
会社のTV会議システムを潰してこっちの導入を提案してみようかなぁ。
(メリットを考えた)
(手間暇を考えた)
(現在の負荷を考えた)
今はやめとこ…。
2009/03/29
3D-based Captchas become reality
3D-based Captchas become reality
3DのオブジェクトでCAPTCHAをしようという話。
いいな、これ。
ネタ的には猫認証・ゲイツ認証などいろいろあったが、画像を集めるのが困難というのがどれもネックに思えていた。そのへんは解決しそう。
3DのオブジェクトでCAPTCHAをしようという話。
いいな、これ。
ネタ的には猫認証・ゲイツ認証などいろいろあったが、画像を集めるのが困難というのがどれもネックに思えていた。そのへんは解決しそう。
2009/03/17
2009/03/11
2009/03/08
Qtの暗黙の共有
暗黙の共有により、Qtのクラスは、コピーに対して変更を加えない限り実際のコピーが行われないことが保障されます。暗黙の共有を最大限に生かすためには、少しばかり従来とは異なるプログラミング作法が必要となります。constでないベクタやリストに対して読み込みのみのアクセスを行う場合、[]演算子ではなくat()関数を使います。[]演算子によってアクセスすると、Qtのコンテナは、その値が左辺値か右辺値かを判別できないため、どちらで使われてもよいようにコピーを行います。しかしat()の帰り値は左辺値となれないので、深いコピーを行わないのです。
STLスタイルのイテレータでも同じ問題が生じます。constでないコンテナのbegin()やend()を呼び出すと、Qtはコンテナが共有されていた場合強制的に深いコピーを実行します。こうした非効率を避けるには、可能な限りconst_iteratorとconstBegin()、constEnd()を使います。
めもめも。
PostgreSQL7.X以前で、columnのdata typeを変更する方法
・PostgreSQLでデータ型の変更
http://phprefa.seesaa.net/article/5297298.html
PostgreSQL 7系以下の場合上記のようにいったんデータを待避させて、ALTER TABLE文で、column削除→columnのrenameが必要となる。
PostgreSQL8以降はALTER TABLE ALTER COLUMN TYPEを使えばいいので簡単。
例)
ALTER TABLE distributors ALTER COLUMN address TYPE varchar(80);
もう一つ参考URL
http://www.linux.or.jp/JF/JFdocs/PostgreSQL-FAQ.html#item4.3
http://phprefa.seesaa.net/article/5297298.html
PostgreSQL 7系以下の場合上記のようにいったんデータを待避させて、ALTER TABLE文で、column削除→columnのrenameが必要となる。
PostgreSQL8以降はALTER TABLE ALTER COLUMN TYPEを使えばいいので簡単。
例)
ALTER TABLE distributors ALTER COLUMN address TYPE varchar(80);
もう一つ参考URL
http://www.linux.or.jp/JF/JFdocs/PostgreSQL-FAQ.html#item4.3
登録:
投稿 (Atom)