ScanSnap × kintone 名刺連携ソリューション

フォローする

Index

(著者:サイボウズ 藤原、 近本)
(監修:株式会社PFU)

はじめに

株式会社PFUのスキャナ ScanSnap で取り込んだ名刺データを kintone と連携する方法をサンプルと共に紹介します。

概要

ScanSnap 名刺管理ソフトウェアの CardMinder と ScanSnap SDK が用意されています。
これらを利用して kintone のユーザーログイン名の入力とボタンクリックのみで名刺データを kintone の名刺管理アプリに取り込む連携プログラムを作成します。

ScanSnap の詳細はこちら
CardMinder の詳細はこちら 
ScanSnap SDK の詳細はこちら

連携のイメージ

以下の4つのステップで連携します。

  1. ScanSnap で名刺をスキャン
  2. CardMinder を起動
  3. 連携プログラムから kintone へ名刺データを登録
  4. kintone の名刺管理アプリに名刺データが登録されていることを確認

事前準備

デバイスの準備

  • ScanSnap 実機の購入(今回は iX500 を使用)
  • ScanSnap iX500 ドライバダウンロード(こちらから必要なファイルをダウンロード)
  • CardMinder のダウンロードはこちら(※1)
  • ScanSnap SDK のダウンロードはこちら(※1,※2)

注意事項

※1: CardMinder 及び ScanSnap SDK のダウンロードには株式会社PFUの個人情報の利用目的に従い、「ユーザー登録」を行う必要があります。必ず利用規約を確認してください。
※2: ScanSnap SDK に関してお問い合わせがある場合は有償のサポートサービスをご利用ください。

開発環境の準備

 今回のTipsでは Visual Studio 2015 (Visual C#) を使用して開発を行います。

名刺管理アプリの準備

連携先の名刺管理アプリの準備をします。以下のアプリテンプレートを基に、 kintone に名刺管理アプリを作成してください。
※一覧は任意。

ScanSnap_template.zip

フィールドの設定

フィールドタイプ フィールド名 フィールドコード その他
 日付 登録日付 登録日付  
 ユーザー選択 登録者 登録者 必須項目にチェックを入れます。
※連携プログラムで間違ったユーザー名を入力した場合にエラーを出すため。
 文字列(1行) 氏名 氏名  
 文字列(1行) 氏名フリガナ 氏名フリガナ  
 文字列(1行) 会社名 会社名  
 文字列(1行) 会社名フリガナ 会社名フリガナ  
 文字列(1行) 部署名 部署名  
 文字列(1行) 役職名 役職名  
 文字列(1行) 国/地域名 国_地域名  
 文字列(1行) 郵便番号 郵便番号  
 文字列(1行) 住所 住所  
 文字列(1行) 住所(都道府県) 都道府県  
 文字列(1行) 住所(市区町村) 市区町村  
 文字列(1行) 住所(番地以降) 番地以降  
 リンク(電話番号) 携帯電話 携帯電話  
 リンク(電話番号) 電話番号 電話番号  
 リンク(電話番号) FAX番号 FAX番号  
 文字列(1行) URL URL  
 文字列(1行) 電子メール 電子メール  
 文字列(複数行) メモ メモ  
 添付ファイル 名刺画像データ 名刺画像データ  

フィールド配置例

連携プログラムの作成

今回作成する連携プログラムを以下の手順で作成します。

設定ファイルの変更

ScanSnap SDKの以下のディレクトリの ini ファイルをエディターで開きます。(※ini ファイルの配置先は変更になる可能性があります。)

\ScanSnapSDK_V10L33JP\PC\win\ScanSnapSample\ini\CardMinder\CardConnections.ini

以下の通りに設定値を書き換えます。

フレームワークの変更

ScanSnap SDKの以下のディレクトリのソリューションファイルを Visual Studio で開きます。(※ソリューションファイルの配置先は変更になる可能性があります。)

\ScanSnapSDK_V10L33JP\PC\win\ScanSnapSample\src\CardMinder\VC#2005\CardConnections.sln

CardConnections 及び CardSettings プロジェクトファイルの対象のフレームワークを変更します。

  • メニュー[プロジェクト]⇒[プロパティ]を選択。
  • [アプリケーション]を開き、[対象のフレームワーク]を .NET Framework 4.5.2 に変更。

ライブラリの参照

Visual Studio で以下のライブラリの参照を追加します。

  • Microsoft.CSharp.dll
  • System.Net.Http.dll
  • Newtonsoft.dll(Newtonsoft.Json)

Microsoft.CSharp.dll
System.Net.Http.dll
メニュー[プロジェクト] ⇒ [参照の追加] より追加。

Newtonsoft.dll(Newtonsoft.Json)
メニュー[プロジェクト] ⇒[NuGet パッケージ管理]⇒[参照]タブより「Newtonsoft.Json(詳細はこちら)」の最新版をインストール。

処理内容

ソリューションファイル内の以下のファイルに変更を加えます。

  • FormCardConnections.cs
  • FormCardConnections.Designer.cs

FormCardConnections.cs

usingディレクティブに以下を追加します。

名刺データはXMLファイルで保持されているため、kintoneに取り込むために一度Json形式に変換し、エスケープ処理を加えます。

kintone クラスを追加し、以下のメソッドを記載します。
CreateBody メソッド : kintoneに取り込むための登録データのBody部分を作成します。
GetFileKey メソッド : 名刺の画像データのファイルキーを取得します。取得の際にはAPIトークンを利用しています。
PostCardData メソッド :kintoneに名刺データをPOSTします。

連携プログラムの Import ボタンをクリックした際の動作を記載します。
登録先の kintone のサブドメイン、アプリ番号、APIトークンを入力する必要があります。

その他ボタン動作を記載します。

ダイアログ画面の作成

連携プログラムのダイアログ画面を作成します。

FormCardConnections.Designer.cs

上記2点のファイルの変更が完了した後、ビルドを行います。
「CardConnections.exe」ファイルと「CardSettings.exe」ファイルが出力されることを確認します。
上記ファイルの出力先は「出力」コンソールに表示されたディレクトリを参照してください。

レジストリー登録

連携プログラムを実行する端末のレジストリー設定を行います。

必要なファイル

ファイル名 概要
CardConnections.exe ScanSnap から kintone に連携するための実行ファイル
CardSettings.exe CardConnections.exe の設定画面用の実行ファイル
CardConnections.ini CardConnections.exeの設定ファイル
Newtonsoft.Json.dll JSONを取り扱うためのライブラリ
favicon.ico アプリケーションのアイコンファイル
  1. Cドライブ直下に「C:\ScanSnap\kintone」ディレクトリを作成し、上記[必要なファイル]群を配置する。
  2. 管理者権限で regedit.exe を実行し、以下のディレクトリを開く。
    ・32bit の場合
     HKEY_LOCAL_MACHINE \ SOFTWARE \ PFU \ CardMinder \ ScanSnap Extension \ kintone
    ・64bit の場合
     HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ PFU \ CardMinder \ScanSnap Extension \ kintone
    ※対象のディレクトリに ScanSnap Extension フォルダ、 kintone フォルダが存在しない場合、新規作成が必要となります。
  3. 以下の項目を登録する。
    レジストリーの値 種類 内容 データ
    (既定) REG_SZ CardConnections.exe のフルパス C:\ScanSnap\kintone\CardConnections.exe
    Config REG_SZ CardConnections.iniのフルパス C:\ScanSnap\kintone\CardConnections.ini
    Path REG_SZ 実行アプリケーションのインストールフォルダー C:\ScanSnap\kintone\
  4. レジストリー登録が完了した後、PCの再起動を行います。

以上で連携プログラムの作成及び設定が完了となります。
アイコンファイル及び今回作成した連携プログラムは下記よりダウンロードいただけます。

ScanSnap_sample.zip

対象ファイル一覧

  • FormCardConnections.cs
  • FormCardConnections.Designer.cs
  • CardConnections.ini
  • favicon.ico

実行手順

STEP 1 ScanSnap で名刺をスキャン

名刺を裏面にして ScanSnap にセットし、スキャンします。

STEP 2 CardMinder の起動

名刺をスキャンすると CardMinder が起動します。
kintone に登録したい名刺データを選択し、ヘッダー部分の連携プログラムのアプリケーションのアイコンをクリックしてください。

STEP 3 連携プログラムから kintone アプリに登録

連携プログラムのチェックリストに CardMinder で選択された名刺データが表示されます。
Login Name に kintone のログイン名を入力し、[Import]ボタンをクリックすると、
kintone への取り込みを開始します。
取り込み中の処理状況は、Log に出力されます。

項目名 機能
Check All ボタン 名刺データファイル全てにチェックを入れる
UnCheck All ボタン 名刺データファイル全てのチェックを外す
Login Name テキストボックス kintoneのログイン名を入れる
Import ボタン チェックの入った名刺データをkintoneに取り込む
Log テキストボックス Import ボタン実行時のログを出力する
Close ボタン ダイアログを閉じる 

STEP 4 登録された名刺データの確認

kintone アプリに名刺データが登録されていることを確認します。

注意事項

  • 本Tipsのサンプルプログラム及びテンプレートは、その動作を保証するものではありません。
  • 本Tipsのサンプルプログラム及びテンプレートについて、技術的なサポート等は行っておりません。
  • 本Tipsの連携プログラムは Windows8, Windows10 で動作確認済みです。
  • CardMinder 及び ScanSnap SDK のダウンロードには株式会社PFUの個人情報の利用目的に従い、「ユーザー登録」を行う必要があります。
    必ず利用規約を確認してください。
  • ScanSnap SDK に関してお問い合わせがある場合は株式会社PFUの有償のサポートサービスをご利用ください。

終わりに

いかがだったでしょうか?
今回のTipsでは kintone のアプリに名刺データを取り込むところまでを記載しました。
kintone に取り込んだ名刺データをどのように活用するか、考えてみると面白いかもしれません。
また、今回は利用しませんでしたが CardSettings.exe を改修すると設定画面で認証情報やサブドメインなどの情報も持たせることができますので是非挑戦してみてください。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

Avatar
三科伸次

記事の通りいろいろ試みましたが、CardMinderの廃版もあり上手く動作できませんお知恵いただけますでしょうか?

Avatar
cybozu Development team

三科伸次様

お世話になっております。developer network事務局です。

>CardMinderの廃版もあり上手く動作できません
廃盤とのことですが、対応リストにCardMinderがございました。
一度現在使用されているスキャナ、OSでCardMinderが使用可能かどうか、ご確認をお願いいたします。

■販売中の機種向け ソフトウェア 対応OS 詳細
 http://scansnap.fujitsu.com/jp/dl/os.html 

■ドライバダウンロード
 http://scansnap.fujitsu.com/jp/dl/

また、その他外部サービスに関する詳細はサービス提供者様へお問い合わせいただければと思います。

ログインしてコメントを残してください。
Powered by Zendesk