ウエブ・インタフェース

トップ目次へ

この機能は、組込形ウェブ・サーバを使って、PDFエクスプローラの機能のいくつかで、遠隔アクセスを提供します。現在は、DB 検索 と、DB ツリー 走査モードが使えます。
一般のウェブ・ブラウザや、HTTP 要請を実行できる他の技術の助けを借りて、ユーザーは、離れたところから、検索したり、PDFエクスプローラを見ることができます。ここでは、ウェブ検索エンジンに類似した環境で、PDF と CMH の索引を使うことができます。

Web interface DBSearch page

職場から、家庭の PDFEデータベースに、一般のインターネット接続を使用してアクセスするために、役に立ちます。その逆もまた同様です。貴重な文書収集を、常に持ち歩く必要はなくなります。

クライアント・サーバーアー構成を、簡単に造ることができます。PDFエクスプローラのウェブ・インターフェースを走らせると、サーバマシンのインスタンスを作ります。そこに、クライアントは、LAN から、または、インターネットを使っている世界のどんな場所からでも、コンピュータでウェブブラウザを使って、アクセスします。

もう一つの利点は、インターフェースを使うには、ウェブ・ブラウザが必要なだけなので、PDFE を走らせるコンピュータだけが、Windowsシステムである必要があるだけです。クライアントは、どんな OS(Linux、Mac OS、など)でも使うことができ、提供されている互換性を持つウェブ・ブラウザを利用できます。

技術的に、ウェブ・インターフェースは組込形で専用のHTTPサーバで提供されます。そして、PDFEウェブ・サーバを設定するために、一般の httpサーバー(例えば Apache や MS IIS)を動かす方法についての若干の知識が必要です。それでも、PDFEウェブサーバはずっと単純で、構成するのは、ずっと簡単です。

高度 メニュー の、ウェブ・インタフェース項目から、または、PDFInfo表示ツールバーのウェブ・インターフェース・ツール・ボタンから、機能オプションとインターフェース・ダイアログを表示することができます。

下の図は、ツール配置の構成と、この機能の一部の場面の、インターフェース、対話画面です。

ツール配置の構成と、この機能の一部の場面の、インターフェース、対話画面

構成可変な、すべてのオプションと機能を、説明します。

ユーザと許可

個人的なLAN使用では、この機能を準備する必要はありません。しかし、大きなLANから、または、インターネット接続からウェブ・インターフェースを利用できるようにしたいときは、必要です。さもないと、誰もが、制限なしで、索引を付けた資源にアクセスできるようになります。

このコントロールは、ウェブ接続許可と制限を定めるのに使います。これで、正確に特定のユーザーが使える、あるいは使えないウェブ・インターフェース機能を定めることができます。

許可は、グループによって定義されます。クライアント/ユーザ(ログイン・ユーザー名/パスワードの組合せによって確認)と、グループ許可と制限を継承する、特定のグループのメンバーです。

ユーザグループ権限を設定

 

2つのグループ(管理者とゲスト)は、システム・デフォルトで、リストで常に存在します。管理者グループは、すべての機能を使えて、編集できません。管理者グループは、システムでユーザを設定していない場合に使用されるグループになります。

ゲスト・グループは、すべての登録されていないユーザーがメンバーとなるグループなので、このグループの許可を定めるときは、慎重にしてください。

このページは、登録されていないユーザーがアクセスができる唯一の内容なので、ゲスト・グループのチェックをはずすと、訪れるユーザーに直接ログインページへ行くことを強制します。

新しいグループを作るときは、追加ボタンをクリックするだけです。新しいグループ(デフォルト設定でつくられる)が、リストに現れます。グループ名編集ボックスで、区分しやすい名前を与えることができます。

可能にすると、「DB ツリー・モード」は、等価な、DB ツリー GUIインターフェース機能に、アクセスできるようになります。ユーザは、索引を付けられたディスク/フォルダー・ツリーを使って、索引を付けられたフォルダー内容を、すべて閲覧できます。

「PDF を調べることができる」オプションのチェックを外しておけば、ユーザは、PDF や、CHMファイルを、ダウンロードしたり、見たりできません。そのユーザは、検索結果メタデータにアクセスできるだけです。

「ファイルをアップロードできる」、「メタデータを編集できる」、「ファイル名を変更し、削除し、移動させることができる」は、この許可をセットするか、外すかすることで、フォルダ・タブ・アクセス可能なフォルダー・ツリーの下で、各々のフォルダに行く必要なしで、一時的に、それぞれの機能を、可能/不可能にするために用いることができる、全体的な許可グループです。

「利用可能な項目」チェック・リストは、GUI定義の格子レイアウトのすべてを表示ます。この項目から指定して、ウェブ接続ユーザーが選ぶことができるメタデータ項目グループのリストを定めます。この項目グループは、検索結果で表示されるメタデータ項目を定めます。このグループのうちの1つ以上の項目をチェックしておくと、リスト・ボックスがウェブ・インターフェース・ページに現れます。そして、ユーザーは、この利用できる項目グループの中から、選ぶことができます。このグループのメンバーに、利用できるようにチェックされたグループから、選ばれた一つが、ユーザーがウェブ・インターフェースにアクセスするときのデフォルトとして、使われます。

「フォルダ」タブにある、「アクセス可能フォルダ」ツリーは、グループのメンバーが、どのインデックスを付けられたフォルダにアクセスできるかを定めるのに用いられます。このため、ウェブ・インターフェースの検索結果が、チェックしていないフォルダ/ディスクに含まれるファイルの場合は、そのファイルは、このグループのユーザー・メンバーの検索結果に表示されません。

ファイルに対する権限詳細を設定

注意: このフォルダ可視性指定チェックボックスで、チェックしたり、チェックをはずすと、そのサブフォルダの指定も、同じ条件になります。CTRL キーを押しながらチェック操作をすると、サブフォルダを含めずに、チェックしたフォルダだけを指定することができます。

「将来追加される新しいフォルダも共有する」は、現在、索引資源ツリーに現れていないフォルダでも、自動的に共有できるようにするために用いられます。そして、管理者が、索引作成の PDFE GUIを用いて、PDFEデータベースに新しい資源を加えると、後から見えるようになります。このオプションを無効にすると、この後で、新しくインデックスを付けられたフォルダ/ディスクの内容は、ウェブ・インターフェースの検索結果に、確実に現れないことになります。

このタブでは、さらにフォルダーの特定の許可を指定することができます。等価なグループの状態に依存する、全体的な許可で、選択したフォルダーは、アップロード先とコピー先として受け入れるかどうかを構成することができます。また、そこから削除できることと、メタデータ機能性を編集できるかどうかです。「下位フォルダーにも適用」ボタンを押すと、フォルダーに設定された許可を、そのサブフォルダーにも適用します。

「ユーザ」タブでは、ユーザを作成して定義します。ユーザは、ユーザー名/パスワードの組合せと、定義された許可グループへの接続によって定義されます。

ユーザ情報を登録

この画面を使うのは、簡単です。「追加」ボタンで、新しいユーザーをリストに追加します。「除外」ボタンで、ユーザをリストから削除します。「所属」「ユーザー名」「パスワード」で、ユーザを設定します。ログイン・リンクが、ウェブ・インターフェース・ページの右上に表示されます。ユーザーは、ユーザが所属するグループに割り当てられた機能を使うために、システムにログインするときに使わなければなりません。ゲスト・グループを使用できないようにしておくと、登録されていないユーザーが、ウェブ・インターフェースにアクセスしたときは、すぐに、ログインページが現れます。

動的 DNS

インターネットから、PDFEウェブ・インターフェースにアクセスするためには、公開 IPアドレスを知り、そのアドレス(例えばhttp://169.132.10.34)を、ブラウザで指示するか、あるいは DNSサーバーを使用して、ホスト名にIPアドレスを割り当てて、そのホスト名(例えばwww.mysite.com)を、ブラウザで指示する必要が有ります。
ドメイン・ネーム・システム(DNS)は、インターネットの「電話帳」として、人が判読できるコンピューター・ホスト名(例えばwww.mysite.com)を、IPアドレス(例えば169.132.10.34)に翻訳する役割りをします。
IPアドレス(インターネット・プロトコル・アドレス)は、電子装置が、インターネット・プロトコル標準(IP)を利用するコンピューター・ネットワーク上で、互いを識別し通信するために使用する、ユニークなアドレスです。
IPアドレスは、ネットワークで装置を特定するために用いられるユニークな身分証明です。他の装置は、IPアドレスを使って、この装置にアクセスして、コミュニケーションできるのです。
ここでは、IPアドレスは、PDFE が起動しているパソコンの、ユニークな身分証明となります。

通常、家庭のダイヤルアップや、ADSLサービスを利用してインターネットに接続するとき、機械の公開IPアドレスは、ISP(Internet service provider インターネット接続サービス業者)によって、動的に割り当てられていて、接続するたびに、変わります。この変化のため、現在の IP が何であるかを、毎回、取得しなおす必要があります。
電子証明の申請 可変IPアドレスを記憶することは、実際的ではありません。人が判読できるホスト名のほうが、有効です。IPが変わるので、DNS 写像は、これに従って変わる必要があります。動的 DNS 機能は、この更新処理を、リアル・タイムで、自動化するために使用されます。動的 DNS 機能を有効にすると、PDFEウェブ・サーバーがスタートするたびに、公開 IPアドレスは、動的 DNS プロバイダーに伝えられます。この方法で、確実に、ホスト名が、常にパソコンの新しい公開IPに合致することができます。

フリーや、あるいは有償の、動的 DNSプロバイダーが、インターネット上に多数あります。このサービスは、与えられた IPアドレスを、ユーザー定義済みのホスト名に割り当てることで、IPアドレスが変わるたびに、その照合を更新します。IP 更新要求は、動的 DNSプロバイダーに、単純なインターネット http 要請を使います。このPDFE 機能は、この要請を実行します。

通常、この DDNSプロバイダーで、口座をつくる必要が有ります。使用したいホスト名を選んで、DDNSプロバイダーの情報ページから、IP変化を伝えるために必要なURL要請フォーマットを、取得します。
このツールは、2つの著名なプロバイダ用の、予め構成された2つの要請を提供します。また、他のプロバイダーに使うための、カスタム要請も提供します。
%username%、%password%、%hostname% 変数は、それぞれユーザ名、パスワード、ホスト名の項目に位置します。%ip% 変数は、公開 IPアドレスに、位置します。他のサービス・プロバイダを利用するとき、HTTP要請URLを造るために、この変数を使ってください。

DynDNS プロバイダーのための例: http://%username%:%password%@members.dyndns.org/nic/update?system=dyndns&hostname=%hostname%&myip=%ip%&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG&.

HTTPS (SSL/TLS) オプション

この画面で、有効をチェックして、HTTPSプロトコル接続を構成します。
ここでは詳細は省略しますが、HTTPSプロトコル接続は、サーバーとクライアントの間の通信を難読化するために、暗号技術を使います。そして、通信プライバシーを守るために、誰かが、サーバー/クライアント間で交換されたデータを、傍受したり、解釈することを難しくします。
HTTPSプロトコルを有効にして、適切に構成すると、ログオンで、HTTPS接続が自動的に使われ、そして、すべての登録されたユーザーの接続に使われます。

HTTPS接続の設定

働くために、プロトコルは、署名された電子証明と、秘密鍵ファイル、この画面の「サーバー証明書」と「秘密鍵」項目、にアクセスする必要が有ります。

証明書は、httpsプロトコルを使ってクライアントに送信されます。証明書には、証明された領域、信頼された認証局(CA)、サーバーの公的な暗号化キー、に関連した識別情報が、含まれています。クライアントのブラウザは、証明書(上で信頼されたCA)を出したサーバーに接続して、進行する前に、証明書が本物であることを確認します。

クライアントは、プロトコル・キーを暗号化するために、サーバー証明書公開鍵を使用します。このキーは、サーバー秘密鍵によってだけ、解読することができます。サーバーとクライアントだけがこのデータにアクセスできるので、これは、キーを、第三者に見せないようにしておく方法です。

ブラウザは、普通、信頼された認証機関のリストを保持していて、証明書が、これらの権威のいずれかによって署名されていないと、ユーザに警告します。通常、証明書に署名するために、これらの認証機関は、料金を課します。この料金は、証明書のセキュリティのレベルに応じて変わります。証明書のレベルは、使用される暗号化の質には変わりありません。よりよいレベルは、証明書所有者同一性をチェックするために、CA だけが、より多くの厳密な識別手続きを使用することを意味します。

これらの信頼された CA のサービスを利用する必要があるのは、我々が本当に我々が知らないユーザーによってウェブ・インターフェースへのアクセスを可能にする必要があるときだけです。ブラウザが、未知のCAによって署名さた証明書であると、警告すると、接続は、拒否されます。

個人的な使用では、自己署名として、自身の証明書に署名することができて、ブラウザにこれを受け入れさせることができます。

私有鍵セキュリティは、基本のものなので、サーバーにアクセスして、誰でもが、あなたの私有鍵ファイルを盗むことができます。我々は作成時に、パスフレーズを用いて、それを暗号化することができます。こうすると、サーバーは起動時に、このパスフレーズを求めます。そして、あなたは誰もあなたの私有鍵ファイルを盗まないと確信します。パスフレーズは、対話オプションで保存します。

秘密鍵とサーバー証明作成を始めるには、証明書作成ウィザードを使用する必要があるだけです。

証明書ウィザード

このウィザードを使って、SSL自己署名された証明書を使う準備、または要請(CSR)に署名している証明書を、作成できます。

証明書ウィザード

証明書署名要求は、ウェブサーバSSL証明書として有効になるために、認証機関(CA)によって署名される必要があります。オプションのどちらも、関連する秘密鍵ファイルを作成します。

ウィザードの、どちらの作成オプションも、下の画面を使います。

必須情報を登録

これらの項目のほぼ全てを満たすことは、簡単です。ただ、「一般名」だけは、特別な注意に値します。この項目は、PDFEウェブ・サーバにアクセスするために使うドメイン名を指定するのに、用いられます。証明書の一般名が、ウェブサーバにアクセスするために入力されるアドレスのドメインと一致しないと、クライアント・ブラウザは、証明書の信ぴょう性について、不満を言います。
我々が、サーバーPCで、ローカル・テストをしたいだけならば、ローカルホストが、正しい名前であるように、それが LAN からアクセスできるようにしたいならば、サーバネットワークPC名(例えばxptoPC)を使われなければなりません。インターネットからアクセスできるようにしたいならば、ウェブサーバ PC 外部 IP(例えばwww.mysite.com)にマップされるドメイン名が、正しい選択です。後で、クライアント・ブラウザで、ウェブサーバにアクセスするためのアドレスとして使われるならば、IP 番号(LANアクセスのためのローカル、またはインターネット接続のための外部)も、現実的なオプションです。

より長いキーの長さは、より多くの暗号化有効性、あるいは強さと、等価です。しかし、CSR 作成については、私たちが使いたい CA が、どのキーの長さに署名することができるか、をチェックしなければなりません。さらに、古いブラウザは、わずかに 40 ビットの暗号化能力で、512 ビットのキー長さの証明書だけを許可します..

秘密鍵を保護するために、よい強さのパスワードを、パスフレーズ項目に設定することができます。

次のウィザード手順で、少なくとも、義務的な項目を適切に満たせば、利用可能。私たちは次のものに対して可能性を持っています。

"自己署名入りの証明書を作成" の場合:

自己署名入りの証明書を作成

- この操作で、PDF エクスプローラ・ウェブ・サーバー・インターフェースは、証明書を作成します。新しい証明書と、秘密鍵ファイルは、PDF エクスプローラのデータ・フォルダーに保存されます。古いファイルがあれば、上書きします。そして、ウェブサーバーHTTPSオプションが、この新しい証明書、秘密鍵ファイル、パスフレーズを使用するように設定されます。
- 作成された証明書および秘密鍵ファイルを、ユーザが選択したフォルダーに、保存してください。

CSR 作成の場合:

証明書申請

- Base64 でコード化された証明書リクエスト・ファイルが、表示されます。このステップで、クリップボードに、この内容をコピーすることができます。そして、次のウィザードのステップに進みます。作成された CSR と、秘密鍵ファイルを、ユーザが選択したフォルダーに保存することができます。

CGI/ISAPI オプション

PDFE ウェブサーバは、基本的なPDFEウェブ・インタフェースを提供するだけでなく、小さなウェブサイトを構築するために使うこともできます。
基礎的なHTMLページがあれば、単純なウェブサイトを開発するのに十分です。ただ、スクリプト言語(例えば、PHP、PERL、CGI など)のサポートは、こんにちでは必須でしょう。

CGI/ISAPI オプション
インタープリタ追加

上の画面は、CGIのアプリケーションフォルダと、その別名をセットするために使います。この画面で、スクリプト・ページ(php、perl、その他)を渡すために、ファイル拡張子を、CGI や ISAPI インタープリタに結びつけることができます。上の画面キャプチャーは、その使用例を示しています。

追加オプション

一般

一般オプションでは、基本的な PDFE ウェブ・インタフェースの多言語機能を、有効または無効にすることができます。
「多言語」を有効にすると、htmlページのトップに、各国の旗の画像が現れます。そして、クライアント・ユーザーは、自分のウェブ・インターフェース言語を変えることができます。遠隔ユーザーのデフォルト言語を選ぶために、ブラウザ言語の自動検出が試みられます。そして、利用できる言語のリストに含まれていれば、ブラウザ推奨の言語が、遠隔ユーザーが最初に接続要請したときに、デフォルトとして選ばれます。

「多言語」のチェックを外すと、ウェブ・インターフェース言語のデフォルトは、PDF エクスプローラ GUI で使われていた言語に、戻ります。

一般オプション

拡張ウェブサーバ・インタフェース(ウェブサーバ・ルート・ディレクトリ項目)は、あつらえ(・・・・)の内容で、ウェブ・インターフェースを簡単に拡張するために使うことができます。
設定すると、我々のサイトのドメイン名は、http://<domain>:<port>/pdfews/ 仮想ディレクトリ、で接続できる PDFE ウェブ・インターフェースで、このルート・ディレクトリに、位置付けられます
下は、フォルダー・ツリー構成を、あつらえ(・・・・)た内容の、実例です。

C:\MySite
   ├───perl
   ├───php
   ├───utils
   └───wwwroot
         ├───cgi-bin
         ├───css
         ├───images
         └───js

上の画面ショットのように、項目を、wwwrootディレクトリに指定して、index.htmlファイル(または、.php、.pl など。これらの拡張子のための CGI/ISAPI インタープリタを設定する必要が有ります。)をそこに置きます。こうすると、領域ルートが要求されたとき、ウェブ・サーバに、このファイルが渡されます。
この拡張ウェブ・サーバ機能は、非常に単純です。これがやることは、要求されたファイルを供給することです。 しかし、これを使うと、PDF エクスプローラのウェブ・インターフェースと直接関係のない、単純なウェブサイトを完全に運営することができます。さらに、ウェブ・インターフェースAPI を使って、あつらえ(・・・・)て開発する、デフォルト html テンプレートを使ったものよりももっと進んだ、ウェブ・インターフェース・クライアントを供給することができます。

仮想ディレクトリー

ディレクトリの別名を設定するために、用います。この別名は、通常、複雑なフォルダ・パスを、より単純な、一単語に位置付けるために、使います。

仮想ディレクトリー

これらの別名は、完全なディレクトリを指定した場合と同じように、ウェブ・リンク・アドレスを造るのに用いられます。PDFE WS は、別名を置換して、別名が位置付けるディレクトリで、要請されたファイルを捜します。

指定されたウェブ・サーバ・ルートディレクトリの外のディレクトリは、許されます。そして、この使用の例は「pdfews」別名です。自動的にPDFEによってつくられて、仮想ディレクトリ・リストで常に存在します。「pdfews」別名は、PDF エクスプローラがインストールされている、webserv サブフォルダに、位置付けられます。
「pdfews」別名は、基本的なPDFEウェブ・インターフェースへのアクセスを可能にし、また同時に、ユーザーあつらえ(・・・・)の内容で、ウェブサーバを拡張できるようにするために、重要です。

接続制限

ウェブ・インターフェースへのアクセスを、阻止したり、可能にするために、基礎的な規則が使われます。アクセスは、ユーザ代理名、遠隔クライアントIPアドレスあるいはアドレス範囲、および参照者のアドレスによって、阻止または、許可するすることができます。

接続制限

上の画面キャプチャーは、これらのすべての規則の、それぞれ1つの例を示しています。
「限定許可」オプションで設定すると、規則リストの全てに合致したクライアントのみが、アクセス可能になります。一方、「全てを禁止」オプションは、クライアントが、リスト中の規則のうち、いずれか1つでも等しい属性を備えていれば、アクセスは阻まれます。

「スパイダー・ロボットを禁止」オプションは、クライアントから要求されると、仮想 robots.txt ファイルを作ります。そして、素直なロボットに、彼らが、ウェブサイトのどの内容にもアクセスしてはならないことを知らせます。これは、標準的な robots.txt 規則を尊重するロボットに対してのみ、機能します。

ここに、robots.txt 仮想ファイルの内容があります:

User­agent: *
Disallow: /

robots.txt ファイルが、ウェブサイト・ルートフォルダに存在するなら、このオプションは何もしません。クライアントから要求されるとき、送られるものが、このカスタム robots.txt です。

接続ログ解析

ウェブ・インターフェースへのすべての接続は、NCSA 結合ログ形式のファイルに記録することができます。

接続ログ解析

この追加オプション画面は、記録機能を、有効/無効にするために使います。ログファイルを出力するディレクトリと、ログファイルを循環させる図式を、設定します。ログ更新期間で、時間間隔、または最大ファイルサイズを指定します。使用中に、ログ・ファイルをバックアップして、新しいログを作るために使われます。

記録ファイルの分割は、重要です。なぜなら、ソフトウェア、あるいはハードウェアが衝突すると、常にアクティブ・ログ・ファイルは破損して、結局その中のすべてのデータは、破損してしまう可能性があるからです。

縮小画像

この機能を使うと、ウェブ・インターフェース・クライアントで、インデックスを付けられた文書の最初のページを、画像ファイル(その代表の縮小画:サムネイル(親指の爪))の形で表示させることが、できるようになります。

追加オプション:縮小画像

縮小画ファイルは、外部ツールで作成しなければなりません。ここでは、埋め込まれた縮小画ジェネレーターは、利用できません。これを作成するために、2つの可能な方法があります。

OpenSearch

Wikipedia から引用:「OpenSearch は、シンジケーション(syndication ウェブサイトの内容をフィードを通じて配信すること。)と集合(aggregation )に適する形式で、検索結果を発行することを可能にする技術群です。これはウェブサイトと検索エンジンが、標準でアクセス可能な形式で検索結果を発行する方法です。」

そして、この技術は、RSS、ATOM、HTML で、PDF エクスプローラ・ウェブインターフェースを通しても、可能になります。PDFEデータベース・レコードを露出するウェブ・インターフェースにアクセスするための、返答形式、検索集合を可能にすること。あるいは OpenSearch 要求を実行し、また利用可能な返答形式を扱うことができる、その他のツールです。

適切な OpenSearch クライアント・プラグインの場所: http://<domain>:<port>/pdfews/opensearch.xml

現在のインターネット・ブラウザは、OpenSearch ができます。検索プロバイダーのリストに OpenSearch クライアント・プラグインを加えるだけです。

OpenSearch browser plugin

クライアント・プラグインをインストールするために必要なことは、PDFE ウェブ・インターフェース・ページを、利用できるブラウザ検索プロバイダーのリストに、指定することだけです。そのページが、リモート・コンピュータで提供されている場合でも、PDFE をインストールしておく必要がありません。
ブラウザは、 "auto discover(自動発見)" 技術を用いて、OpenSearch クライアント・プラグインを捜し出します。ユーザーは、オプションで、これを、検索プロバイダーとして加えることができます。
一旦、プロバイダーがブラウザ・リストに載れば、ユーザは、前もって PDFE ウェブ・インターフェース・ページを開かなくても、探索を行なうことができます。ブラウザは既にアドレスを知っています。したがって、そのアドレスで、遠隔コンピューターがウェブ・インターフェースを実行しさえすれば、探索結果が表示されます。

ウエブ・インタフェース API

このAPIは、簡略な、RESTful (Representational State Transfer) ベースのインターフェースを公開します。このAPIは、どんな html テンプレートからも完全に独立したウェブ・インターフェース・クライアントを設計する可能性を提供します。必要な条件は、HTTP GETとPOST要求を実行する能力だけです。そして、すべての PDF エクスプローラ・ウェブ・インターフェース機能に、アクセスするために提供されたファイル形式応答を、扱うことができます。
これは明らかに、どんなウェブ・ブラウザに依存しないクライアントを開発する可能性を含んでいます。HTTP要求を実行して、提供されたいずれの応答形式も扱うことができる、どんな開発技術でも使います。

1.REST Web service は、次の 4 つの基本的な設計原則に従うようにすることを提言します。
(1).明示的に HTTP メソッドを使う
(2).ステートレスにする
(3).ディレクトリー構造に似た URI を公開する
(4).XML、JSON (JavaScript Object Notation) のいずれか、またはその両方を転送する

2. ウェブ 2.0 スタイルは、全ての機能が使えるようになっています。そして、このウェブ 2.0 スタイル・ウェブ・インタフェース・クライアントは、このAPIを使うことができます。これは、PDFエクスプローラー・サポートフォーラム(http://www.rttsoftware.com/forum/index.php?topic=322.0)からダウンロードできます。コメントも、できます。
ソースコードも、含まれています。ソースコードは、このAPIを理解するために、とても役立つでしょう。

API要求は、次のURLアドレス形式を使って呼び出されます:

http://<domain>:<port>/pdfews/apicall?f=FunctionName&Param1=Value&Param2=Value...

/pdfews/apicall 仮想のフォルダへの HTTP 要求は、サーバー側で、 f という名前のパラメータを実行するための名前と、関数特定の、追加パラメータを、渡します。

関数によって、選ぶことができる様々なデータ応答形式があります。 このため、クライアント開発者は、使う開発技術に適したものを、選ぶことができます。
この応答データの形式選択は、format によって達成されます。format は、すべての要求に共通です。パラメタは、要求されている関数に依存していて、次の値の1つを持つことができます:

応答形式データは、全て、UTF-8 文字コードです。

もう一つのパラメーターは、すべての関数に共通で、名前は、lng です。
これは、テキスト・メッセージや、インターフェース・テキスト項目を返す場合に、使用する言語を指定するために、使います。
この値は、HTTP 言語タグ(en、pt-BR など)で使われるように、RFC 1766 言語タグ表に従います。
lng パラメーターが指定されないと、ウェブサーバーは、受け入れ言語 HTTP ヘッダーから、ふさわしい言語を取得しようとします。そして、要求された言語が利用可能なリストになければ、言語の使用で、PDF エクスプローラ GUI インターフェースを使います。

クライアントが、インターネット・ブラウザの場合、cache buster パラメタを使うことが勧められます。このパラメータを使うと、頻繁に変化するデータにアクセスする GET 要求で、ブラウザのキャッシュ機構を、うまく切り替えさせることができます。
サーバにとっては、無意味な、この無作為の名前や、値パラメーターが、いつもサーバと等しい状態で、ブラウザのキャッシュ応答と異なった URL を要求します。

API 関数のまとめ

IsLoginNeeded - 何かを要求する前に、ログインが必要かどうかを知ります。ユーザーと、許可の設定の下で、定義済みのユーザーがなければ、ログインの必要は、ありません。これは、いかなる要求も、デフォルト管理者グループ・アカウントで処理されることを意味しています。

IsGuestAccountEnabled - ゲスト・アカウント(ユーザー名=guest 、パスワード=guest)が可能かどうかを、知ります。

Login - ユーザ・ログインを要求するために、使います。

GetFeatures - ウェブ・インターフェースで使える機能の、ログオン・ユーザ・リストを返します。動的なクライアントを、うまく開発するのに役立ちます。また、ユーザが効果的にアクセスする機能のリストに、インタフェースを適合させることができます。

GetMetadataFieldsListInfo - ログインしたユーザがアクセスする、PDFE に定義された格子レイアウトのリストを返します。レイアウト名と、そのメタ・データ項目特性(名前、データ型、文字の表示位置、および、それが編集可能な項目かどうか)、を含んでいます。

DBSearch - 渡されたキーワードに対して、データベース・ブーリアン検索を実行します。GUI DBSearch スキャン・モードと同じです。

GetDatabaseTree - フォルダー・ツリーの索引を付けた、データベースを、返します。このデータは、DBFolder 要求を実行するために、また、ツリー GUIコントロールを満たすために、PDFE データベースの中で、どのフォルダーが インデックスを付けられているか知る上で、必要です。したがって、クライアント・ユーザは、このリクエストをよく行なうことができます。

DBFolder - 要求された、インデックスを付けられたPDFEデータベースの、フォルダーの、すべてのメタデータ・レコードを、返します。GUI DBDiskTree 走査モードと、同じです。

GetThumbnail - 渡された文書名の、イメージ縮小画像を返します。

SetMetadata - 指定された索引を付けられた文書メタデータ項目を編集します。GUI InfoEdit ツールと同じものです。

Upload - PDFE のインデックスを付けられた、アップロード可能な フォルダーに、ファイルをアップロードします。

GetUploadState - アップロード操作の進行中に、ファイルのアップロード統計値を取得します。

DeleteFiles - ファイルを削除します。

CopyFiles - あるフォルダーから、別のフォルダーに、ファイルをコピーします。

MoveFiles - あるフォルダーから、別のフォルダーに、ファイルを移動させます。

RenameFiles - ファイル名を変更します。

Logout - ユーザ・ログアウトを要求するために使います。

API 関数の詳細

  Function Method 応答形式
  CopyFiles POST xml, json

インデックスを付けられた文書を、1つのフォルダから、別のフォルダに、コピーするのに用います。

要求例:
http://localhost/pdfews/apicall?f=CopyFiles&toFolder=C:\tmp&format=xml

メッセージの本体は、xml、UTF-8 コードで、コピーするための識別(DBSearchDBFolder のやり方によって、返される、fileURL 項目)のファイルを含んでいる文書、および、コピー操作の行き先のフォルダをになります。次の例の xml ファイル構造として組織されます。

メッセージ本体例で、同じ要求で、2つのファイルをコピーするもの:

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
      <toFolder>C:\PDFs</toFolder>
   </entry>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</dataset>
  

上の要求例から想定される結果:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <entry>
      <result>true</result>
      <message>Operation succeeded</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
      <newFileURL>/pdfews/getfile/%BE%C7%A1%AD%B9%BB%8E/1956%20%2D%202.pdf</newFileURL>
   </entry>
   <entry>
      <result>false</result>
      <message>File not found</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</response>

newFileURL 項目は、成功したすべてのファイル・コピーに対して返されます。そして、この新しい索引ファイルIDを反映します。

追加パラメーター:

  パラメータ 意味 備考
toFolder ファイルで、同じパラメーターを指定する場合は、オプション。
しかし、xml 本体が、コピーするファイルの ID だけを指定する場合は、必須です。
コピー操作の行き先フォルダーを指定するために使います。
 
format オプションで、デフォルトは "xml" 。
返されるデータの、出力形式を指定。
有効な値:
xml, json

 

  Function Method 応答形式
  DBFolder GET html, csv, rss, atom, xml, json

索引を付けたフォルダの、PDFE データベースの、全てのメタデータ・レコードを要求するために、使います。
GUI DBDiskTree スキャン・モードと同じです。

要求例:
http://localhost/pdfews/apicall?f=DBFolder&sort=1&dir=ASC&format=xml
&layout=0&count=50&start=0&i=30&sf=0

rss、atom、xml および json の応答形式は、
標準の、OpenSearch 名前空間、 totalResultsstartIndex そして itemsPerPage 名前付き項目を、
要求が見つけた結果の総数、最初の、1 基準の、返された結果、そして、応答の中に存在する結果の数、
を渡すために、それぞれ使用します。

結果の例:

<?xml version='1.0' encoding='UTF-8'?><?xml version='1.0' encoding='UTF-8'?>
<pdfexml version="1.0" xmlns="http://www.rttsoftware.com/pdfens/1.0/">
<generator>PDF Explorer 1.5.0.59</generator>
<title>C:\PDFs\ - PDF Explorer DBDiskTree</title>
<link>http://localhost/pdfews/apicall?f=DBFolder&sort=1&dir=ASC&format=xml
       &layout=0&count=50&start=0&i=30&sf=0</link>
<description>PDF Explorer database query results</description>
<pubDate>Tue, 1 Jan 2010 00:00:00 GMT</pubDate>
<totalResults>2</totalResults>
<startIndex>1</startIndex>
<itemsPerPage>2</itemsPerPage>
<entry>
   <Filename>HSR_25.pdf</Filename>
   <fileURL>/pdfews/getfile/%BE%C7%A1%AD%B9%BB%8E/HSR%5F25.pdf</fileURL>
   <Title>Canada and The European Space Agency</Title>
   <Subject>Three Decades of Cooperation</Subject>
   <Author>Lydia Dotto</Author>
   <Keywords>HSR-25</Keywords>
   <Pages>31</Pages>
   <Version>1.5</Version>
   <Security>0</Security>
</entry>
<entry>
   <Filename>HSR_26.pdf</Filename>
   <fileURL>/pdfews/getfile/%BE%C7%A1%AD%B9%BB%8E/HSR%5F26.pdf</fileURL>
   <Title>Spain in Space</Title>
   <Subject>A short history of Spanish activity in the space sector</Subject>
   <Author>José M. Dorado, Manuel Bautista , Pedro Sanz-Aránguez, Drs. IA</Author>
   <Keywords>HSR-26</Keywords>
   <Pages>41</Pages>
   <Version>1.5</Version>
   <Security>0</Security>
</entry>
</pdfexml>
追加パラメーター:
  パラメータ 意味 備考
count オプション。 デフォルトは10。返す、文書メタデータ記録の最大数を指定するために、使います。  
dir オプション。デフォルトは、ASC。ソート方向を指定するために使用されます。

ASC - 昇順
DESC - 降順

folder 必須il パラメータが、代わりに使用されない場合に、必須です。
索引を付けられた文書メタデータ項目を得る場所のフォルダーを指定するために、使用されます。
完全なディレクトリ・パスでなければなりません。
フォルダを指定する代替方式で、il パラメータを置き換えます。il と、folder は、同時に指定することができません。
il が、この代わりに使われます。
format オプション。デフォルトは、"html"。返されるデータの出力形式を、指定します。 有効な値: html, csv, rss, atom, xml, json
i 必須。 folder パラメータを使わない場合は、必須です。フォルダ ID として使われるパラメータです。
これは、ウェブ・インターフェース特性実施値で、GetDatabaseTree 関数から返されるデータとして、取得します。

利用可能な場合、l パラメーターと共に使用されます。
folder パラメーターと取り替えることができます。しかし、folder パラメーターは、ウェブサーバに、より親和します。

l 必須。 利用できて、folder パラメータが使われない場合は、必須です。フォルダ ID として使われるパラメータです。
これは、ウェブ・インターフェース特性実施値で、GetDatabaseTree 関数から返されたデータとして取得します。

i パラメーターと共に、使用します。
folder パラメーターと取り替えることができます。しかし、folder パラメーターは、よりウェブサーバに親和します。

layout

オプション。 デフォルトは、ログオン・ユーザーのデフォルト・レイアウトです。レイアウトの数値の ID です。
応答している間に、使うレイアウトを指定するのに、用いられます。レイアウトは、返されるメタデータ項目と、そのデータ型を指定します。

利用できるレイアウト ID は、GetMetadataFieldsListInfo 関数の戻り値として、取得できます。
sf オプション。デフォルトは0。 要求がサブ・フォルダを含むかどうかを、指定します。

有効な値:
0 - サブ・フォルダを含めない。
1 - サブ・フォルダを含める。

sort オプション。 デフォルトは、ファイル名、項目 ID です。ソートする、メタデータ項目の数値のID。 数値のメタデータ ID は、PDFE 定数値で、PDFE 索引付きメタデータ項目を特定します。
GetMetadataFieldsListInfo 関数からの戻り値として取得できます。
start オプション。デフォルトは0。 返る、最初のレコードのインデックス。  

 

  Function Method 応答形式
  DBSearch GET html, csv, rss, atom, xml, json

すべての PDFE データベースの索引付きメタデータや、文書の索引付きテキスト内容で、キーワード検索を実行するために、使います。GUI DBSearch 走査方式と同じです。

要求例:
http://localhost/pdfews/apicall?f=DBSearch&q=test&start=0&count=50
&sort=1&dir=ASC&stype=0&format=xml&layout=0&cs=0&wo=0

結果の例: DBFolder リクエスト結果と同じです。

追加パラメーター:
  パラメータ 意味 備考
count オプション。デフォルトは10。 返す、文書メタデータ記録の最大数を指定するために、使います。  
cs オプション。デフォルトは0。 検索操作で、大文字小文字を区分するかどうかを指定するために用いられます。

有効な値:
0 - 大文字小文字を区分しない。
1 - 大文字小文字を区分する。
stype=0 の場合のみ、有効です。

dir オプション。デフォルトは、ASC。 ソート方向を指定するために使います。

ASC - 昇順
DESC - 降順

format オプション。デフォルトは、"html"。返されるデータの、出力形式を指定します。 有効な値:
html, csv, rss, atom, xml, json
layout

オプション。 ログオン・ユーザーのデフォルト・レイアウトが、デフォルトになります。
レイアウトの数値 ID です。
応答している間、使うレイアウトを指定するのに用いられます。
レイアウトは、返されるメタデータ項目と、そのデータ型を指定します。

利用可能なレイアウト ID は、GetMetadataFieldsListInfo 関数の戻り値として取得できます。
q 必須。 検索表現を渡すために使われる、パラメータです。

utf-8 コードでなければなりません。
ブール演算子 "and"、"or"、"not" が使えます。

sort オプション。 ファイル名、項目 ID が、デフォルトです。ソートに使う、メタデータ項目の数値 ID。 数値のメタデータ ID は、PDFE の定数値で、PDFE 索引付きメタデータ項目を識別します。GetMetadataFieldsListInfo 関数が返すデータから取得できます。
start オプション。デフォルトは0。 返す最初のレコード指数。  
stype オプション。デフォルトは0。 検索型を渡すために用いられます。

有効な値:
0 - 索引付きメタデータ項目で検索。
1 - 索引付きテキスト内容で検索。

wo オプション。デフォルトは0。 検索操作で、「単語のみ」のオプションを使うかどうかを指定するために用います。

有効な値:
0 - 単語の一部も含めて検索
1 - 単語として合致するもののみを検索

 

  Function Method 応答形式
  DeleteFiles POST xml, json

索引付きファイルを削除するのに、用いられます。

要求例:
http://localhost/pdfews/apicall?f=DeleteFiles&format=xml

メッセージ本体は、xml、UTF-8 コードの文書で、ファイル識別を含んでいなければなりません。(ファイル識別は、DBSearchDBFolder よって返される fileURL 項目です。)
次の例の xml ファイル構造のように、構成されます。

メッセージ本体の例(2つのファイルを、同じ要求で削除します。):

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
   </entry>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</dataset>
  

上の要求例から想定される結果:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <entry>
      <result>true</result>
      <message>Operation succeeded</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
   </entry>
   <entry>
      <result>false</result>
      <message>File in use</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</response>
追加パラメーター:
  パラメータ 意味 備考
format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json

  Function Method 応答形式
  GetDatabaseTree GET xml, json

データベース・フォルダー・ツリー記述構造を要求するために、使用されます。

要求例:
http://localhost/pdfews/apicall?f=GetDatabaseTree&format=xml

結果の例:

<?xml version='1.0' encoding='UTF-8'?>
<tree>
   <folder>
      <name>DB</name>
      <url>#</url>
      <folder>
      <name>C:[AAF8-76C6]</name>
      <uploadEnabled>False</uploadEnabled>
      <url>/pdfews/folder?i=0&l=1</url>
         <folder>
            <name>Downloads</name>
            <uploadEnabled>False</uploadEnabled>
            <url>/pdfews/folder?i=22</url>
         </folder>
         <folder>
            <name>PDFs</name>
            <uploadEnabled>False</uploadEnabled>
            <url>/pdfews/folder?i=30</url>
            <folder>
               <name>tmp</name>
               <uploadEnabled>True</uploadEnabled>
               <url>/pdfews/folder?i=31</url>
            </folder>
         </folder>
      </folder>
   </folder>
</tree>
追加パラメーター:
  パラメータ 意味 備考
format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json

 

  Function Method 応答形式
  GetFeatures GET xml, json

この関数は、ログオンしたユーザが、どのウェブ・インターフェース特徴にアクセスしたか、問い合わせるために使います。
クライアントが有効に使うことができる特徴に、ウェブ・インターフェース・クライアントを、ダイナミックに適応させるのに、有用です。

要求例:
http://localhost/pdfews/apicall?f=GetFeatures&format=xml

応答の例:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <DBTreeEnabled>True</DBTreeEnabled>
   <AccessToFiles>False</AccessToFiles>
   <EditMetadata>True</EditMetadata>
   <Thumbnails>True</Thumbnails>
</response>
追加パラメーター:
  パラメータ 意味 備考
format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json

 

  Function Method 応答形式
  GetMetadataFieldsListInfo GET xml, json

ログオンしているユーザー格子レイアウト・リストにアクセスするために、この機能を使います。
このリストは、GUI 格子レイアウトと同じです。そして、この情報は、他の api 機能の多くで、用いられます。
サーバーに、要求を実行する格子レイアウト文脈を、指示します。

要求例:
http://localhost/pdfews/apicall?f=GetMetadataFieldsListInfo&format=xml

応答の例:

<?xml version='1.0' encoding='UTF-8'?>
<dataset>
<default>0</default>
<item>
<name>Standard</name>
<id>0</id>
<field>
<name>Filename</name>
<caption>Filename</caption>
<index>1</index>
<dataType></dataType>
<align>left</align>
<readOnly>True</readOnly>
</field>
<field>
<name>Title</name>
<caption>Title</caption>
<index>7</index>
<dataType></dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Subject</name>
<caption>Subject</caption>
<index>8</index>
<dataType></dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Author</name>
<caption>Author</caption>
<index>9</index>
<dataType></dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Keywords</name>
<caption>Keywords</caption>
<index>10</index>
<dataType></dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Pages</name>
<caption>Pages</caption>
<index>15</index>
<dataType>int</dataType>
<align>right</align>
<readOnly>True</readOnly>
</field>
<field>
<name>Security</name>
<caption>Security</caption>
<index>17</index>
<dataType>int</dataType>
<align>center</align>
<readOnly>True</readOnly>
</field>
<field>
<name>Version</name>
<caption>Version</caption>
<index>16</index>
<dataType>float</dataType>
<align>center</align>
<readOnly>True</readOnly>
</field>
</item>
<item>
<name>SSD_Auction</name>
<id>6</id>
<field>
<name>Filename</name>
<caption>Filename</caption>
<index>1</index>
<dataType></dataType>
<align>left</align>
<readOnly>True</readOnly>
</field>
<field>
<name>Custom1</name>
<caption>ServiceDate</caption>
<index>19</index>
<dataType>date</dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Custom2</name>
<caption>Amount</caption>
<index>20</index>
<dataType>float</dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Custom3</name>
<caption>Check#</caption>
<index>21</index>
<dataType>int</dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Custom4</name>
<caption>DatePaid</caption>
<index>22</index>
<dataType>date</dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
</item>
</dataset>

上の例の結果は、2つのリスト、一般的な PDFE 標準と、1つのあつらえの定義を、示しています。

<default> 項目は、デフォルトとして設定するリストのIDを示すために、使用されます。(デフォルトは、ユーザと許可(利用可能な項目オプション)で、選択された、ログオンしたユーザが所属するメンバーのグループのリストです。)
<default> 項目は、layout パラメーターを要求する関数によって使用されるリストで、layout パラメーターが明示的に指定されない場合、関数実行文脈を指定するために必要です。

追加パラメーター:
  パラメータ 意味 備考
format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json

 

  Function Method 応答形式
  GetThumbnail GET 縮小画像ジェネレーターによって作られた、画像ファイル形式。シェル縮小画像ハンドラーを使用する場合、Image/png。

文書の縮小画像を要求するために、用います。

要求例:
http://localhost/pdfews/apicall?f=GetThumbnail&src=/pdfews/getfile/%25BE.../HSR%255F38.pdf

追加パラメーター:
  パラメータ 意味 備考
src 必須。 縮小画像を取得する、ファイルの ID を渡すのに、用います。 このファイルIDは、fileURL 変数の値に一致します。DBSearchDBFolder 関数によって返されます。
  cache オプション。デフォルトは1。 ウェブサーバに、構成されたキャッシュフォルダで、要求された画像がたくわえられているならば、次の要求で、再利用するように、指示します。
縮小画像の拡大した版が必要なときは、キャッシュしないオプションが、有効です。
有効な値:
0 - 画像をキャッシュしない。
1 - 画像をキャッシュする。
  size オプション。デフォルトは小。
縮小画像作成ソフトが、シェル縮小画像ハンドラー・オプションに設定されるときに、このパラメータは、要求される画像の大きさの、2つの選択肢を指定するために用います。
有効な値:
small - 小さな画像を要求します。
big - 大きな画像を要求します。
  c1,c2,c3,... オプション。 縮小画像ジェネレーターが、外部で設定される場合に、使います。
これはカスタム・コマンドライン・パラメーターを、外部のアプリケーションに渡すために使用されます。
さらに多くの情報は、追加のオプション、縮小画像 の項目を参照下さい。
 

 

  Function Method 応答形式
  GetUploadState GET xml, json, html

ファイル・アップロード操作の進行中に、アップロード統計を要求するために、使われます。
プログレス・バーを表示したり、関連するタスク完了情報を示すために、役に立ちます。

要求例:
http://localhost/pdfews/apicall?f=GetUploadState&uploadID=25861270&format=xml

応答の例:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <result>true</result>
   <message></message>
   <bytesTotal>1254050</bytesTotal>
   <bytesUploaded>12350</bytesUploaded>
</response>
追加パラメーター:
  パラメータ 意味 備考
uploadID 必須。 アップロード機能の中で、ファイルを識別するために使う、同じ uploadID 値を渡します。
これは、情報が要請されているファイルを識別するために、ウェブサーバによって使われます。
どんな値でも可能です。ファイル・アップロードを準備するとき、これを生み出すクライアント責任です。
format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json, html

 

  Function Method 応答形式
  IsGuestAccountEnabled GET xml, json

ゲスト・アカウントが使えるときに、ウェブ・サーバに問い合わせる、単純な質問機能です。
クライアントを、ユーザがログオンしなくてもよいように、あるいは、ゲスト・アカウントにログオンするダミー、username=guest、password=guest ログオン変数が使えるように、ダイナミックに適応させるために、役に立ちます。

要求例:
http://localhost/pdfews/apicall?f=IsGuestAccountEnabled&format=xml

結果の例:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <result>true</result>
   <message></message>
</response>
追加パラメーター:
  パラメータ 意味 備考
format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json

 

  Function Method 応答形式
  IsLoginNeeded GET xml, json

ユーザが、データベース質問操作をする前に、ログオンが必要ならば、ウェブ・サーバに問い合わせるために使われます。
ログオンは、作られたユーザがいないか、ゲスト・アカウントが有効(ログインしていないユーザをゲストにする)なら、要求されません。

この関数はまた、Login 機能に必要な、ServerLoginChallenge 値を返します。

要求例:
http://localhost/pdfews/apicall?f=IsLoginNeeded&format=xml

応答の例:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <result>true</result>
   <message></message>
   <ServerLoginChallenge>40179,08</ServerLoginChallenge>
</response
追加パラメーター:
  パラメータ 意味 備考
format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json

 

  Function Method 応答形式
  Login POST xml, json

ユーザー名/パスワードの組で、ログインするため用いる機能です。ユーザーを、ウェブ・インターフェースで、特定します。

要求例:
http://localhost/pdfews/apicall?f=Login&format=xml

ユーザー名とパスワードの変数は、POST 方法ペイロード(データの本体)の中で渡されます。 標準 name-value ペア、および、application/x-www-form-urlencoded mime(Multipurpose Internet Mail Extensions 多目的インターネットメール拡張仕様)形式を、使います。

渡すパスワード値は、サーバー・ログイン挑戦値の連結のプレーン・テキストのパスワード値で、md5 ハッシュの、32桁の16進数でなければなりません。
このサーバー・ログイン挑戦値は、得られた後、5分間だけ有効で、IsLoginNeeded 関数質問応答で、送られます。

In pseudocode: passwordToSend=bin2hex(md5(password + serverLoginChallenge))

serverLoginChallenge 値は、ポスト・メッセージ本体にも含まれなければなりません。以下は、送るべき内容の1つの例です:

username=RTT&password=e8c42a296ddf1e9a536c2bc99cc0c5c4
&serverloginchallenge=40179,08

ログインに成功すると、標準的な単純な質問応答(結果とメッセージ値)と、追加 sessionID 値を返します。
この sessionID は、この応答 http ヘッダの中の、http クッキーとしても送られます。
クライアントが、http クッキー・メカニズムをサポートしないならば、この sessionID 値は、追加の URL "session" 名前付きパラメータとして、以降のすべての質問において、ユーザーを、ユーザのサーバーの動いているセッションにきちんと関連づけるために、含まれなければなりません。

応答の例:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <result>true</result>
   <message>Welcome RTT</message>
   <sessionID>{9740DF92-B2EE-4D94-A53C-7F59A8DC6C69}</sessionID>
</response>
追加パラメーター:
  パラメータ 意味 備考
format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json

 

  Function Method 応答形式
  Logout GET xml, json, html

セッション・ログアウトを要求する、単純な要求機能です。ユーザは、ウェブ・サーバにログオンしているユーザのリストから、除かれます。また、セッション・クッキーを削除する要求は、レスポンス・ヘッダーで送られます。

要求例:
http://localhost/pdfews/apicall?f=Logout&format=xml

応答の例:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <result>true</result>
   <message>Successful Log Out. All cookies cleared.</message>
</response>
追加パラメーター:
  パラメータ 意味 備考
format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json, html

 

  Function Method 応答形式
  MoveFiles POST xml, json

あるフォルダーから別のフォルダーに、索引を付けられたファイルを移動するために、使います。

要求例:
http://localhost/pdfews/apicall?f=MoveFiles&toFolder=C:\tmp&format=xml

メッセージ本体は、xml、UTF-8 コードの文書でなければなりません。そして、移動するファイルの識別(fileURL 項目は、DBSearch and DBFolder で取得できます。)と、移動操作の転送先のフォルダを含みます。
次の例の xml ファイル構造として構成されます。

メッセージ本体の例(2つのファイルを、同じ要求で動かします):

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
      <toFolder>C:\PDFs</toFolder>
   </entry>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</dataset>
  

上の要求例から想定される結果:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <entry>
      <result>true</result>
      <message>Operation succeeded</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
      <newFileURL>/pdfews/getfile/%BE%C7%A1%AD%B9%BB%8E/1956%20%2D%202.pdf</newFileURL>
   </entry>
   <entry>
      <result>false</result>
      <message>The file exists</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</response>

newFileURL 項目は、移動に成功したすべてのファイル用に返されます。またこの新しい索引ファイルIDを反映しています。

追加パラメーター:

  パラメータ 意味 備考
toFolder オプション。 ファイルによって、これと同じパラメータが指定された場合は、オプションです。
しかし xml 本体が、移動するファイルの ID だけを指定する場合は、必須です。
移動操作の行き先フォルダーを指定するために使用されます。
 
format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json

 

  Function Method 応答形式
  RenameFiles POST xml, json

索引付きファイルに、新しいファイル名を与えるために、用います。

要求例:
http://localhost/pdfews/apicall?f=RenameFiles&format=xml

メッセージ本体は、xml、UTF-8 コードの文書でなければなりません。そして、ファイル識別(fileURL 項目は、DBSearchDBFolder で、取得できます)と、新しいファイル名を含みます。
次の例の xml ファイル構造のように、構成されます。

メッセージ本体の例(2つのファイルの名前を、同じ要求で変えます。) :

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
      <newFilename>test.pdf</newFilename>	  
   </entry>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
      <newFilename>newname.pdf</newFilename>	  
   </entry>
</dataset>
  

上の要求例から想定される結果:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <entry>
      <result>true</result>
      <message>Operation succeeded</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
      <newFileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/test.pdf</newFileURL>	  
   </entry>
   <entry>
      <result>false</result>
      <message>File in use</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</response>

newFileURL 項目は、ファイル名の変更に成功した、すべてのファイル用に返されます。そして、改名された新しい索引ファイルIDを、反映しています。

追加パラメーター:

  パラメータ 意味 備考
format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json

 

  Function Method 応答形式
  SetMetadata POST xml, json

索引付き文書メタデータを編集するために使います。複数のファイルを、同じ要求で編集することができます。

要求例:
http://localhost/pdfews/apicall?f=SetMetadata&layout=0&format=xml

メッセージ本体は、xml、UTF-8 コード、の文書でなければなりません。そして、ファイル識別(fileURL 項目は、DDBSearchDBFolder の方法で取得できます)と、効果的に変わるメタデータ項目を含みます。
次の例の xml ファイル構造のように、構成されます。

メッセージ本体の例(2つのファイル・メタデータを、同じ要求で設定します) :

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
   <entry>
      <Title>Document1 Title</Title>
      <Keywords>Key1, key2</Keywords>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
   </entry>
   <entry>
      <Title>Document2 Title</Title>
      <Author>RTT</Author>
      <Keywords>Key1, key2</Keywords>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</dataset>

上の要求例から想定される結果:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <entry>
      <result>true</result>
      <message>Updated successfully</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
   </entry>
   <entry>
      <result>false</result>
      <message>File in use</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</response>
追加パラメーター:
  パラメータ 意味 備考
layout 必須。 文書メタデータを設定するための、メタデータ項目配置文脈を指定します。

この値は、配置で使われているの ID 項目です。GetMetadataFieldsListInfo 応答で返されます。

format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json

 

  Function Method 応答形式
  Upload POST xml, json, html


ファイルを、索引を付けられた PDF エクスプローラの、アップロード可能な、ディレクトリーに、アップロードするために使います。
このアップロード機能は、どんなファイル・タイプも受けつけます。しかし、索引が付けられるのは、PDF エクスプローラがサポートするファイル形式だけです。
同じ要求で、複数のファイルをアップロードできます。

要求例:
http://localhost/pdfews/apicall?f=Upload&folder=c:\pdfs\uploads&o_r=0&format=xml

HTTP Post メッセージ本体の規則:
- メッセージ本体は、html ファイル・アップロード形式で、通常、使われるように、multipart/form-data コードでなければなりません。
- GetUploadState 関数を使うと、ファイル・データは、先頭に uploadID パラメーターが来て、あとは、ユニークにファイルを識別する英数字の値で満たされます。
- "folder"、"i"、"o_r" 追加パラメーターは、このメッセージ本体の中で渡すことができます。渡された URL のものは、無視されます。(下の例を参照下さい。)

同じ要求で、2つのファイルをアップロードしたときの、応答例 :

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <item>
      <result>true</result>
      <message>Upload successfully</message>
      <uploadID>a34ht12</uploadID>
   </item>
   <item>
      <result>false</result>
      <message>Unable to overwrite local file</message>
      <uploadID>tbf4345</uploadID>
   </item>
</response>
追加パラメーター:
  パラメータ 意味 備考
folder 必須。i パラメータを代わりに使わない場合は、必須。ファイル・アップロード先フォルダーを渡す。  
i 必須。フォルダ・パラメータを代わりに使わない場合は、必須。
フォルダIDとして使われるパラメータ。
これは、ウェブ・インターフェース特性実施値で、GetDatabaseTree 関数の戻り値として取得します。
folder パラメーターと取り替えることができます。
しかし、これは、より、ウェブサーバに親しみのある方法です。
o_r オプション。デフォルトは1。
同じ名前のファイルが、目標フォルダの中にすでに存在する時に、ファイルの置き換え方法を指定するために、用いられます。
有効な値:
0 - ローカル・ファイルを置き換えます。
1 - ローカル・ファイルを、名前を変えて、バックアップします。
format オプション。デフォルトは、"xml"。返されるデータの、出力形式を指定します。 有効な値:
xml, json, html

 


マニュアルのトップに戻る
Copyright © 2004-2012 WATANABE Makoto. All rights reserved.