これは何?

富士ゼロックス株式会社から発売されているロングセラー DocuWorks™ は、オフィスワーカーにやさしい電子ファイリングシステムです。蓄積した電子文書を有効に活用するには、単にアプリケーションを使うだけでなく、外部プログラムから操作できた方がいいと思いませんか? できれば、C++ や Java ではなくて、もっとフレンドリーな Python (日本語) で使いたいものですね。そこで、Python DocuWorks Library (xdwlib) を作ってみました!

私にも役に立つの?

DocuWorks™ は、役に立ちます。;-)

xdwlib は、いまのところは Python プログラマにとって有用です。Python は学びやすいプログラミング言語ですが、まったくのプログラミング初心者が自由に使えるようになるには、相応の時間がかかるでしょう。そういう方は、Python プログラマが素敵なアプリケーションを作ってくれるのを待ちましょう。

何ができるの?

製造元である富士ゼロックス株式会社が提供している開発ツール (DocuWorks™ Development Tool Kit) に含まれる DocuWorks API (XDWAPI) の機能は API のレベルでは網羅しているので、基本的な作業はだいたいすべてできます。DocuWorks Desk は XDWAPI 以上の機能を持っているので、特殊な作業は手作業で行う必要があるでしょう。しかし、日常の基本的な作業を自動化(バッチ処理化)するには、xdwlib で十分です。

現時点での主な機能は、次のとおりです。※いずれも DocuWorks をインストールした状態で使えるものです。
  • ドキュメント / バインダーの読み込みと分解。ドキュメント / バインダー、バインダー内ドキュメント、ページ、アノテーション、複数ページのコレクションを、それぞれ Python オブジェクトとして取り扱えます。「ドキュメントとページ」のように親子関係があるものは親をイテレータにしていますので、すっきりと処理できます。
  • テキストの抜き出し。ドキュメント / バインダー、ページ、アノテーションに含まれるテキストデータ (アプリケーションテキスト、OCR テキスト、アノテーションテキスト) を抽出できます。
  • テキストの検索。ドキュメントから指定した文字列または正規表現にマッチするページを検索・抽出できます。検索結果は別ファイルへ書き出すこともできますし、ページ群としてさらに追加処理を行うこともできます。ページ内で検索対象テキストが表示されている位置をとることもできますから、「検索してマーク」するのも簡単です。
  • テキストの置き換え。OCR テキストを入れ替えることができます。
  • ドキュメントの一部 (ページ) を画像 (BMP/JPEG/TIFF/PDF) で書き出せます。画像だけでよければ、PDF は手軽に作成できます。
  • ページ操作。ドキュメントにページ (群) やドキュメントを挿入したり、ページを削除したりできます。ページの画像化や OCR 処理も簡単です。
  • アノテーション操作。アノテーションの追加などができます。
  • ページフォーム (ヘッダ・フッタ) の管理ができます。
  • オリジナルデータ (添付ファイル) の管理ができます。
  • ドキュメントの保護とその解除ができます。
  • 電子印鑑および電子証明書による署名の読み取りと、署名以降のドキュメントの更新の有無の検出ができます。
  • ドキュメントから自己解凍形式を生成すること、また逆に自己解凍形式からドキュメントを取り出すことができます。
  • ドキュメントやページ、アノテーションのさまざまな属性を読み書きできます。
  • XDWAPI 互換モジュールを用意しました。製造元が提供するものは C 言語用ですが、そのすべての API について Python から使うためのラッパーを用意してあります。

動作条件は?

DocuWorks™ 7.0 以上の 32 bit 日本語版および Python 2.6 がインストールされている環境で動作します (Windows 限定)
また、Python Imaging Library (PIL) がインストールされていると、ページの任意角度 (90/180/270度以外) での回転が可能になります。

作者は DocuWorks
™ 7.3.2 / DocuWorks™ Development Tool Kit 7.3 + Python 2.6.6 で開発と動作確認を行っています。

どこにあるの?

easy_install xdwlib でインストールできます。easy_install を利用するには setuptools をインストールしてください。→ 説明を探す

開発版は launchpad https://launchpad.net/xdwlib にあります。Bazaar をお使いの方は、bzr branch lp:xdwlib でコードを入手できます。

作者は中の人?

いいえ。作者は富士ゼロックス株式会社とは関係がありません。xdwlib に関するご意見・ご要望は作者 (林秀樹) へお寄せください。