Monthly Archives: January 2009

PDFの検索結果に画像でスニペットを表示する実験

お蔵入りしていたコード。 PDFを検索したときの結果には画像でスニペットを返した方が見やすいかも、というアイディアを実現しようとしたもの。なぜ画像の方がいいかというと検索語近辺のテキストをスニペットにしても、表だったりPDFの中で文字列が表示される順に記述されていなかったときに脈絡がなくて役に立たないことがあるから。 さて、デモコードはまずユーザからURLで指定されたPDFファイルをサーバでダウンロード、テキストを抽出する。テキストにはPDF上での位置情報が付与されているので、それを含めてJSON形式でJavaScriptのコードに直接出力。文字列の検索はJavaScriptでやって、ハイライトは先の位置情報から画像の上にCSSで乗せる。 現状では、重い、PNGへの変換精度がいまいち、検索の機能が貧弱、等々実用化するまでには問題がたくさんある。 PDFからテキストを抽出、PNGに変換するところにはいくつか既存のアプリを使っている。 <?php require_once 'Zend/Uri.php'; define('PDF_SAVE_PATH', '/tmp/pdfsearch/'); define('PNG_SAVE_PATH', '/var/www/zuzara.org/pdfsearch/png/'); dl('json.so'); $errorMessage = ''; $pdfUrl = (isset($_GET['pdfurl']) ? $_GET['pdfurl'] : ''); $seed = ''; $images = array(); $data = array(); if ($pdfUrl != '') { try { $uri = Zend_Uri::factory($pdfUrl); if ($uri->valid() === true) { $seed = md5($pdfUrl); $pdfFile = PDF_SAVE_PATH . $seed [...]

Posted in いじる | Leave a comment

PukiWikiにHTTP経由でデータをインポートする

紙copi のデータを PukiWiki に移行しようと思って適当なスクリプトを書いた。 wiki フォーマットで書いていないので見た目は乱れるがMacを使うことが多くなったのでPukiWiki一本にまとめることにした。 <?php /** * PukiWiki HTTP API * * @since 2009.1.18 */ require_once 'Zend/Http/Client.php'; class Pukiwiki_API { const DEFAULT_ENCODING = 'EUC-JP'; private $_http; public function __construct($serverName, $httpAuthUserName, $httpAuthPassword) { $this->_http = new Zend_Http_Client($serverName, array('keepalive' => true)); $this->_http->setAuth($httpAuthUserName, $httpAuthPassword); } public function write($title, $body) { $this->_http->setParameterPost(array( 'encode_hint' => $this->encode('ぷ'), 'template_page' => [...]

Posted in いじる | Leave a comment

ムームードメインDNSカスタム設定 + Google Apps

先月からムームードメインがようやくDNSをいじれるようになった。大歓迎。 で、全部無料なのが怖いぐらいGoogleに依存しているのでGoogle Appsを使うことにした。 ムームーDNS:カスタム設定でレコード情報を変更 – NEO-SHOCKER.COM ここに書いてある内容で網羅されているが一応設定を書いておくと、 MX ASPMX.L.GOOGLE.COM 10 MX ALT1.ASPMX.L.GOOGLE.COM 20 MX ALT2.ASPMX.L.GOOGLE.COM 20 MX ASPMX2.GOOGLEMAIL.COM 30 MX ASPMX3.GOOGLEMAIL.COM 30 MX ASPMX4.GOOGLEMAIL.COM 30 MX ASPMX5.GOOGLEMAIL.COM 30 TXT v=spf1 include:aspmx.googlemail.com ~all mail CNAME ghs.google.com etc… 最後に、ネームサーバをムームDNSに変更して設定完了です。 この部分を抜かしていてハマった。。48hを過ぎてもAppsはいっこうに使えるようにならず。。 ムームードメイン – ネームサーバ設定変更 このページで「ムームードメインのネームサーバ(ムームーDNS)を使用する 」にチェックを入れて更新すればOK。僕の場合は、カスタム設定をしたつもりがここのチェックがロリポップのままで反映されていなかった模様。 設定後、しばらく待てば反映される。 CNAMEが設定されているかのチェックは Creating CNAME records – Google Apps for Administrators ここの「Check the [...]

Posted in いじる | 2 Comments

Page optimized by WP Minify WordPress Plugin