C#で特許情報の入力を補助するツールを作ってみた

特許の情報を集めてXMLにして保存しようとしているのですが、一件ずつ手入力したり一項目ずつコピペするのも面倒です。ということで、C#で入力補助するツールを作ってみました。整形されたテキストから各項目の内容を読み取ってXMLに変換するだけのツールなのですが、作業はすごく楽になります。いわゆるサンデープログラマーでも、C#でこんなことが出来ますよという例です。

目次

  1. こんなことがしたい
  2. 作ってみた
    1. 元情報の整形済みテキスト
    2. 出来上がったのはこんなツール
    3. 出力はこうなります
    4. 出力されたXMLファイルをFirefoxで開くとこうなる
  3. まとめ

こんなことがしたい

元になるテキストからXMLへのコピペを何件かしてみたのですが、すぐに問題が出てきました。

  • 元のテキストは数字が全部全角(2バイト)文字になっていて、いちいち修正するのが面倒くさい。

  • 1件の情報を2度入力しても気づきにくい。

  • 1項目ずつコピペするのが面倒くさい。

飽きっぽくってすみません。 元になる情報が整形されたテキストで得られるので、

  1. クリップボード経由で全文をコピペして

  2. 各項目の内容を取り出して

  3. 数字の修正をして

  4. 登録済みでないか確認して

  5. XMLとして出力する

というツールにします。上記の2~4をツールに任せます。こういうニッチなツールは、会社の情報システム担当に頼んだって作ってくれないでしょう。

作ってみた

元情報の整形済みテキスト

コピペ元の整形済みテキストは、下記のようなものです。

省略

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】特許第0123456号(P0123456)
(24)【登録日】平成20年9月01日(2008.9.01)
(45)【発行日】平成20年11月01日(2008.11.01)
(54)【発明の名称】すごい発明
(51)【国際特許分類】
   省略
【FI】
   省略
【請求項の数】1
【全頁数】20
(21)【出願番号】特願2003-012345(P2003-012345)
(22)【出願日】平成15年11月01日(2003.11.01)
(65)【公開番号】特開2005-012345(P2005-012345A)
(43)【公開日】平成17年6月1日(2005.6.1)
【審査請求日】平成18年2月1日(2006.2.1)
(73)【特許権者】
【識別番号】000000000
【氏名又は名称】○○株式会社
【住所又は居所】東京都
(74)【代理人】
【識別番号】000000000
【弁理士】
【氏名又は名称】弁理士  一郎
(74)【代理人】
【識別番号】000000000
【弁理士】
【氏名又は名称】弁理士  次郎
(74)【代理人】
【識別番号】000000000
【弁理士】
【氏名又は名称】弁理士  三郎
(74)【代理人】
【識別番号】000000000
【弁理士】
【氏名又は名称】弁理士  四郎
(72)【発明者】
【氏名】藍  植生
【住所又は居所】東京都  ○○株式会社内
【審査官】審査  官太郎
(72)【発明者】
【氏名】柿  くけ子
【住所又は居所】東京都  ○○株式会社内
【審査官】審査  官太郎
(56)【参考文献】
【文献】特開2000-000000(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)

省略

(57)【要約】
【課題】  すごい発明。
【解決手段】  要約は公開公報でしか表示されなかったり。


【特許請求の範囲】
【請求項1】
  なにかすごい発明についての請求項。

省略

出来上がったのはこんなツール

ツールはこんな感じになりました。前述の整形済みテキストをペーストして、メモなどを書き足した状態です。 160106-2-01

出力はこうなります

出力されるXMLファイルは下記のようになります。

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="patent.xsl"?>
<patent>
  <item />
  <item>
    <number>特許第0123456号</number>
    <date>2003/11/01</date>
    <holder>○○株式会社</holder>
    <inventor>柿  くけ子</inventor>
    <inventor>藍  植生</inventor>
    <title>すごい発明</title>
    <abstract>【課題】  すごい発明。
【解決手段】  要約は公開公報でしか表示されなかったり。

</abstract>
    <file>sugoi.pdf</file>
    <tag>すごい</tag>
    <tag> すごくない</tag>
    <memo>めもめも</memo>
    <sketch>memomemo.pdf</sketch>
  </item>
</patent>

これ、一項目ずつXMLファイルに入力してたら大変です。

出力されたXMLファイルをFirefoxで開くとこうなる

XSLTとDataTablesフレームワークを使用してFirefoxで表示すると、こんな感じになります。 160106-2-02 画面が狭い。というか表が大きすぎ。

まとめ

ExcelのマクロやAccessでも同じようなことができると思います。無料のVisual Studio 2015 Express for Windows Desktopでもこういうツールが作れます。Visual Basicで似たようなことはしてましたが、C#でWPFで作るのは初めてでしたので、数日程度時間がかかってしまいました。お仕事ではプログラムなんて一切関係ないことをしていて、「クラスって何?」というレベルですから。慣れた人なら、ちょいちょいと作ってしまうと思います。 プロのプログラマーさんが見たらきっと失笑するような稚拙なものですが、一応目的は達成しました。 慣れれば慣れるほど手早く作れるようになりますし、MicrosoftはC#推しを続けるでしょうから、PCでの作業が面倒くさいと感じたらC#でツール作りを試してみてはいかがでしょうか。

公開日

広告