2013年2月25日月曜日

さくらVPS CentOS6.2でインターネット公報SGMLのマルチTIFFを分割

  1. インターネット意匠公報のダウンロード
  2. 電子署名検証(TARP7→TAR形式)
  3. インターネット利用による公報発行サイトにも書いておいたが、Windowsのクライアント上で、あらかじめ、


    電子署名検証方法について(「特許庁公報電子署名検証プログラム」のダウンロード)


    に従って、プログラム本体のダウンロードと電子署名検証を一度は試しておき、取得した以下のファイルをインターネット意匠公報(TARP7形式)と同一ディレクトリに格納する。


    ・電子署名検証して取得したルート証明書(例:JPT_2013006_01-01_root.der)
    ・p7verify.jar


    TARを解凍する。


  4. ImageMagickのインストール
  5. さくらVPS CentOS6.2にImageMagick + RMagickをインストールでインストール済みの前提のため、割愛する。

  6. マルチTIFFの解凍
  7. ImageMagickのconvertコマンドを使用する。
    「参考」
    ImageMagickの使い方は、このサイトがわかりやすい。


    「分割後の拡張子がTIFFの場合」 以下のように表示される場合は、分割後のイメージファイルはTIFF形式。




    convertコマンドで分割する。


    tiffsplitコマンドで分割した場合も、正常にファイル分割される。


    「分割後の拡張子がJPEGの場合」 以下のように表示される場合は、分割後のイメージファイルはJPEG形式。




    convertコマンドで分割する。


    以下の警告が出るが、分割後のファイルをイメージビューアで見ることは出来る。


    tiffsplitコマンドで分割した場合は、警告が出た上で、ファイル分割が行われない。




    イメージファイルの詳細仕様については、公報仕様書を参照。2013年2月現在は、第8版が最新。
    公報仕様 意匠、商標、公開・国際商標、審決 第8版について
    第2編 各ファイルの詳細
    5.イメージファイル


    (2013/03/10修正)
    これによると「tag 293」は、「T6 エンコードオプション(圧縮)」の模様。
    Tagged Image File Formatに以下の記載がある。


    JPEG圧縮
    TIFF6.0で導入されたJPEG圧縮については、仕様上の不備が指摘されており、後に発行されたAdobe Photoshop Technical Notesによって大幅な変更が加えられた。この変更では、従来のTIFF6.0でJPEG圧縮のために定義されていたCompression=6および関連タグを廃止し、代わりに新しくCompression=7およびそれに関連するタグが導入されている。これによって様々な問題点がクリアされ実装も容易になったことから徐々にこの形式への移行が進んでいるが、互換性などの問題から従来のCompression=6も引き続き使われている。なおCompression=6ではタグの記述方法が難解なことなどから、TIFF6.0の仕様にさえも準拠せず独自の解釈でエンコード/デコードを行うアプリケーションソフトウェアも少なくない。そのため、JPEG圧縮のTIFFファイルの中には著しく互換性の低いものがある。
    


    公報仕様書によるとCompression=6(カラー)を使っているので、JPEG圧縮の互換性関連で警告が出ているっぽい。
    convertコマンドのファイル分割結果に特に問題はないようなので、当面気にしないことにする。


2013年2月24日日曜日

さくらVPS CentOS6.2にRuby 2.0.0-p0をインストール

    さくらVPS CentOS6.2にRuby(1.9.3-p392)をインストールで既にruby-1.9.3-p392をインストール済みの前提。


  1. ruby-1.9.3-p392のアンインストール


  2. ruby-2.0.0-p0のインストール


  3. 以下のとおり表示されることを確認する。

さくらVPS CentOS6.2にImageMagick + RMagickをインストール

    CentOS6 +Rails3 +ImageMagick +RMagick +file_column Install
    を参考にさせていただいた。

  1. ImageMagickのインストール
  2. [y/N]を聞かれるので、「y」を入力して、「Enter」キーを押下する。


  3. ImageMagick-develのインストール
  4. [y/N]を聞かれるので、「y」を入力して、「Enter」キーを押下する。


  5. Ruby(1.9.3-p392)のインストール
  6. さくらVPS CentOS6.2にRuby(1.9.3-p392)をインストールでインストール済みの前提のため、割愛する。


    (2013/2/24追記)
    以下、Ruby 2.0.0-p0でも動くことを確認した。


  7. rmagickのインストール

さくらVPS CentOS6.2でインターネット公報SGMLのスクレイピング

  1. インターネット商標公報のダウンロード
  2. 電子署名検証(TARP7→TAR形式)
  3. インターネット利用による公報発行サイトにも書いておいたが、Windowsのクライアント上で、あらかじめ、


    電子署名検証方法について(「特許庁公報電子署名検証プログラム」のダウンロード)


    に従って、プログラム本体のダウンロードと電子署名検証を一度は試しておき、取得した以下のファイルをインターネット商標公報(TARP7形式)と同一ディレクトリに格納する。


    ・電子署名検証して取得したルート証明書(例:JPT_2013006_01-01_root.der)
    ・p7verify.jar


    TARを解凍する。


  4. ruby1.9のインストール
  5. さくらVPS CentOS6.2にRuby(1.9.3-p392)をインストールでインストール済みの前提のため、割愛する。

    (2013/2/24追記)
    以下、Ruby 2.0.0-p0でも動くことを確認した。


  6. hpricotのインストール
  7. 一部のHTMLパーサはSGMLの簡単なパースなら出来る模様。
    不具合があるパターンがあれば、正規表現で抜くことになると思う。




  8. gazette.rbの編集
  9. サンプルとして、登録番号を取得するスクリプトを書いてみた。
    公報SGMLはeuc-jpなので、エンコーディング周りには注意が必要。


    各ファイルの詳細仕様については、公報仕様書を参照。2013年2月現在は、第8版が最新。
    公報仕様 意匠、商標、公開・国際商標、審決 第8版について




  10. gazette.rbの実行
  11. 以下のとおり表示されることを確認する。




さくらVPS CentOS6.2にRuby(1.9.3-p392)をインストール

    CentOS(6.3)にRuby(1.9)、Rails、Passengerをインストール
    CentOSにRails 3.2.xとruby 1.9.3-p125をインストールする方法
    完全にメモ。CentOS 6.2 に ruby をインストール
    を参考にさせていただいた。

  1. yamlのインストール
  2. ruby-1.9.3-p392のインストール前に、yamlをインストールしないと以下のエラーが出る。 その場合は、再度インストールのやり直しが発生するので、注意が必要。
  3. ruby-1.9.3-p392のインストール
  4. gemのアップデート
  5. gemのバージョンをsudoで確認する。 sudoした際に、pathが通っていないと、以下のエラーが出る。 上記のエラーが出る場合は、/etc/sudoersを編集する。
    以下のパスに、「/usr/local/bin」を追加しておけばOK。
    gemのアップデートをする。


2013年2月20日水曜日

Ruby1.9でWriteExcelを試してみた。

Ruby1.9でWriteExcelを試してみた。
やりたいことは一部(列幅の自動調整、改ページプレビューの設定とか)はできなかったけど、書式設定や印刷設定等の機能については、概ね満足した。


以下、参考サイト。


RubyでExcelファイルを作成する
writeexcel.rdoc
examples
writeexcel Rubygem Reference

Ruby1.9のエンコーディングではまった。

Windows 7のコマンドプロンプトとutf-8/Shift-JISのテキストファイルの処理ではまったのでメモ。


  • スクリプト本体の保存する文字コード(utf-8 or Shift-JIS)
  • マジックコメント(# -*- encoding: UTF-8 -*-)
  • 外部エンコーディングの指定(#! ruby -E Windows-31J:utf-8)
  • Shift JISのファイルをUTF-8に変換して読み込み(open("test.txt", "r:windows-31j:utf-8")


辺りの対処を試行錯誤してたら、解決した。


以下、参考サイト。


Rubyのエンコーディング
OSとRubyスクリプトの文字コードが異なる場合の対策
[ruby] Ruby 1.9.1のm17nについてメモ
class Encoding
Ruby M17N の設計と実装

あたりが参考になった。

2013年2月14日木曜日

インターネット利用による公報発行サイト

思ったこと。

特許庁では、インターネット利用による公報発行サイトで、
登録実用新案公報、意匠公報、商標公報及び公開・国際商標公報のXML/SGMLデータを発行している。

面倒なことに「利用案内」の「電子署名検証方法について(「特許庁公報電子署名検証プログラム」のダウンロード)」で、電子署名の検証を実施する必要があるのだけれど、テキストやイメージデータの実データを大量に確保できる。

ちなみにWindows7-64Bitでも問題なく動いた。

これを使って、何か作ろうかな~。


(2013/2/17追記1)
GUIから電子証明書検証をするのはちょっとな~っと思っていたが、コマンドラインからでも動作するようだ。

「Windowsのコマンドプロンプトの場合」
「CentOS6のbashの場合」


(2013/2/17追記2)
公報データのダウンロードは、FTPサイトから直接ダウンロードできた。wgetとかで一括取得できそう。

ftp://www.publication.jpo.go.jp/gazette/

(2013/2/19追記)
trademark(商標公報)を差分ダウンロードするとしたら、こんな感じかな。


(2013/2/18追記)
公報XML/SGMLデータの仕様については、 「特許公報など発行関連」の「公報の仕様」を参照。


  • 公報仕様 意匠、商標、公開・国際商標、審決 第8版について
  • 公報仕様 特許、実用新案 第4版について


から2013/2/18時点での最新版のPDFを入手できる。