C#で特許情報の入力を補助するツールを作ってみた
特許の情報を集めてXMLにして保存しようとしているのですが、一件ずつ手入力したり一項目ずつコピペするのも面倒です。ということで、C#で入力補助するツールを作ってみました。整形されたテキストから各項目の内容を読み取ってXMLに変換するだけのツールなのですが、作業はすごく楽になります。いわゆるサンデープログラマーでも、C#でこんなことが出来ますよという例です。
目次
こんなことがしたい
元になるテキストからXMLへのコピペを何件かしてみたのですが、すぐに問題が出てきました。
元のテキストは数字が全部全角(2バイト)文字になっていて、いちいち修正するのが面倒くさい。
1件の情報を2度入力しても気づきにくい。
1項目ずつコピペするのが面倒くさい。
飽きっぽくってすみません。 元になる情報が整形されたテキストで得られるので、
クリップボード経由で全文をコピペして
各項目の内容を取り出して
数字の修正をして
登録済みでないか確認して
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】
なにかすごい発明についての請求項。
省略
出力はこうなります
出力される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で表示すると、こんな感じになります。 画面が狭い。というか表が大きすぎ。
まとめ
ExcelのマクロやAccessでも同じようなことができると思います。無料のVisual Studio 2015 Express for Windows Desktopでもこういうツールが作れます。Visual Basicで似たようなことはしてましたが、C#でWPFで作るのは初めてでしたので、数日程度時間がかかってしまいました。お仕事ではプログラムなんて一切関係ないことをしていて、「クラスって何?」というレベルですから。慣れた人なら、ちょいちょいと作ってしまうと思います。 プロのプログラマーさんが見たらきっと失笑するような稚拙なものですが、一応目的は達成しました。 慣れれば慣れるほど手早く作れるようになりますし、MicrosoftはC#推しを続けるでしょうから、PCでの作業が面倒くさいと感じたらC#でツール作りを試してみてはいかがでしょうか。
公開日
広告
C#で作ってみたカテゴリの投稿
- C#でExcelの表のコピーをMarkdownに変換するアプリを作ってみた
- C#でHello Worldしてみた
- C#でMVVMアプリを作ってみる
- C#でMVVMパターンのアプリを作ってみた(Microsoft.TeamFoundation.Controls無し編)
- C#でWPFでHello worldしてみた
- C#でdirコマンドの出力を整形してみた
- C#で作った特許情報の入力を補助するツールをちょっと直してみた
- C#で数式を中置記法から後置記法(逆ポーランド記法)に変換してみた
- C#で正規表現を試すツールを作ってみた
- C#で特許情報の入力を補助するツールを作ってみた
- C#で画像のHSBを抽出して描くツールを作ってみた
- C#で画像をグレースケールや半透明に変換するアプリを作ってみた
- テキストファイルをCSV形式に変換するツールを作ってみた