(57)【要約】      （修正有）【課題】文書送信先のサービスの環境に適した文書を生成することができる文書システム、制御方法、およびプログラムを提供する。【解決手段】文書システムは、クライアントと、文書を生成する文書生成サービスシステムと、文書をプリンタに印刷させるための印刷サービスシステムから構成される。文書を生成するリクエストをクライアントから受信したことに応じて、クライアントが指定するパラメータが、生成した文書を印刷サービスシステムへ送信することを指示するパラメータであるか否かを判定する判定手段と、判定手段により、生成した文書を印刷サービスシステムへ送信することを指示するパラメータであると判定された場合は、フォントを埋め込んだ文書を生成し、生成した文書を印刷サービスシステムへ送信することを指示するパラメータではないと判定された場合は、フォントが埋め込まれていない文書を生成する生成手段とを有する。【選択図】図１３
2019082962.tif 000002
【特許請求の範囲】
【請求項１】
クライアントと、文書を生成する文書生成サービスシステムと、前記文書をプリンタに印刷させるための印刷サービスシステムから構成される文書システムであって、
前記文書を生成するリクエストを前記クライアントから受信したことに応じて、前記クライアントが指定するパラメータが、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータであるか否かを判定する判定手段と、
前記判定手段により、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータであると判定された場合は、フォントを埋め込んだ前記文書を生成し、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータではないと判定された場合は、前記フォントが埋め込まれていない前記文書を生成する生成手段と、を有する文書システム。
【請求項２】
前記生成手段により、前記フォントを埋め込んだ前記文書が生成された場合は、前記文書を前記印刷サービスシステムへ送信し、前記フォントが埋め込まれていない前記文書が生成された場合は、前記印刷サービスシステムとは別のサービスシステムへ送信する、または前記文書に対する操作を行うための文書操作画面を前記クライアントへ送信することを特徴とする請求項１に記載の文書システム。
【請求項３】
前記クライアントを利用するユーザが前記文書を生成する指示を行うための業務画面を介し前記文書を生成する指示を行うことで、前記業務画面に設定されたＵＲＬに含まれる前記パラメータが前記クライアントから前記判定手段を有する前記文書生成サービスシステムへ送信されることを特徴とする請求項１または２に記載の文書システム。
【請求項４】
前記生成手段は、前記クライアントから指定されたフォームのフォームデータと、文書生成の対象となるデータを取得し、両方のデータを基にオーバレイ処理を実行して前記文書を生成することを特徴とする請求項１乃至３の何れか１項に記載の文書システム。
【請求項５】
前記判定手段は、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータではないと判定した後、さらに、前記フォームデータに前記フォントを埋め込む指定があるか否かを判定し、
前記生成手段は、前記判定手段により、前記フォームデータに前記フォントを埋め込む指定があると判定された場合は、前記フォントを埋め込んだ前記文書を生成することを特徴とする請求項４に記載の文書システム。
【請求項６】
前記生成手段は、前記判定手段により、前記フォームデータに前記フォントを埋め込む指定がないと判定された場合は、前記フォントが埋め込まれていない前記文書を生成することを特徴とする請求項５に記載の文書システム。
【請求項７】
前記判定手段により前記フォームデータに前記フォントを埋め込む指定があると判定され、かつ前記生成手段により前記フォントを埋め込んだ前記文書を生成した場合であって、前記印刷サービスシステムとは別のサービスシステムへ前記文書を送信する際、文書送信リクエストＵＲＬを生成し、前記文書とともに前記文書送信リクエストＵＲＬを送信することを特徴とする請求項５または６に記載の文書システム。
【請求項８】
前記文書送信リクエストＵＲＬに含まれる前記文書のＩＤをパラメータとしたアクセスを前記クライアントから受け付けた前記文書生成サービスは、前記ＩＤに対応する前記文書を前記印刷サービスシステムへ送信することを特徴とする請求項７に記載の文書システム。
【請求項９】
クライアントと、文書を生成する文書生成サービスシステムと、前記文書をプリンタに印刷させるための印刷サービスシステムから構成される文書システムの制御方法であって、
前記文書を生成するリクエストを前記クライアントから受信したことに応じて、前記クライアントが指定するパラメータが、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータであるか否かを判定する判定ステップと、
前記判定ステップにおいて、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータであると判定された場合は、フォントを埋め込んだ前記文書を生成し、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータではないと判定された場合は、前記フォントが埋め込まれていない前記文書を生成する生成ステップと、を含む制御方法。
【請求項１０】
クライアントと、文書を生成する文書生成サービスシステムと、前記文書をプリンタに印刷させるための印刷サービスシステムから構成される文書システムにおける前記文書生成サービスシステムの制御方法のプログラムであって、
前記文書を生成するリクエストを前記クライアントから受信したことに応じて、前記クライアントが指定するパラメータが、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータであるか否かを判定する判定ステップと、
前記判定ステップにおいて、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータであると判定された場合は、フォントを埋め込んだ前記文書を生成し、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータではないと判定された場合は、前記フォントが埋め込まれていない前記文書を生成する生成ステップと、を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウド上に保存されたデータを基に文書を作成する文書システム、制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、サーバーコンピュータ側で業務データの管理や各種処理を行う形態として、クラウドコンピューティングシステムが普及し始めている。ユーザは、クライアントコンピュータのブラウザからインターネットを介してクラウドサーバコンピュータのＷｅｂページにアクセスし、そのＷｅｂページ上で閲覧したい業務データを表示する。その画面から文書作成指示を行うと、文書生成サーバにリダイレクトされ、文書生成サーバから返される画面にてフォームオーバレイに使用するフォームをユーザが選択する。そして、文書生成サーバがクラウドサーバ上にあるデータを取得して文書を生成して、文書をクラウドサーバに送信する、あるいは、連携している他のサービスへ文書を送信する。連携するサービスには、例えば、印刷サービスがあり、文書を印刷サービスに送信し文書の印刷を要求する。クラウドサーバの代表例として、例えば、Ｓａｌｅｓｆｏｒｃｅ．ｃｏｍ社のＳａｌｅｓｆｏｒｃｅ  ＣＲＭ（登録商標）がある。クラウドサーバが提供するストレージは容量が制限されていることが多い。そのため、クラウドサーバに送信する文書のサイズは小さいことが望ましい。
【０００３】
文書生成サーバが生成する文書のフォーマットはＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）が主流となっている。ＰＤＦ文書の場合、通常の生成方法では文字を描画するフォント名のみを指定し、フォントデータそのものはＰＤＦ文書内に含まれない。このため、ＰＤＦ文書を生成した環境とは異なる環境でＰＤＦ文書を閲覧すると、ＰＤＦ文書内で指定されたフォントが閲覧環境に存在しない場合、レイアウトが変わる、あるいは、文字化けが発生する、等の意図しない表示結果になることがある。
【０００４】
このような問題に対応するため、従来から、生成するＰＤＦ文書内にフォントデータを埋め込むようにする技術が存在する。文書生成時に、あらかじめ固定された設定に従って、ＰＤＦ文書内にフォントデータを埋め込むことで、閲覧環境によらず一定の表示を得ることができる（特許文献１参照）。ＰＤＦ文書内にフォントデータを埋め込むと、ＰＤＦ文書内で使用するフォントが多くなるほどＰＤＦ文書のサイズが大きくなる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３４５７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術では、生成する文書にフォントデータを埋め込むかどうかの設定は固定となっていた。文書内にフォントデータを埋め込む場合、クラウドサーバに文書が送信されると、フォントデータを埋め込まない場合と比較しストレージ容量をより多く消費する。一方で、文書内にフォントデータを埋め込まないようにした場合、文書を印刷サービスに送信して印刷すると、印刷出力結果が意図しないものになってしまう。このように、従来技術では、文書送信先のサービスの環境に適した文書を生成することができなかった。
【課題を解決するための手段】
【０００７】
本願発明の文書システムは、クライアントと、文書を生成する文書生成サービスシステムと、前記文書をプリンタに印刷させるための印刷サービスシステムから構成される文書システムであって、前記文書を生成するリクエストを前記クライアントから受信したことに応じて、前記クライアントが指定するパラメータが、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータであるか否かを判定する判定手段と、前記判定手段により、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータであると判定された場合は、フォントを埋め込んだ前記文書を生成し、生成した前記文書を前記印刷サービスシステムへ送信することを指示するパラメータではないと判定された場合は、前記フォントが埋め込まれていない前記文書を生成することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、文書をクラウドプラットフォームサービスに送信する場合のストレージ容量の消費を抑制しつつ、文書を印刷サービスに送信して印刷する場合に意図した印刷出力結果を得ることができる。
【図面の簡単な説明】
【０００９】
【図１】システム構成を示すブロック図である。
【図２】ハードウェア構成を示す図である。
【図３】文書生成システムの全体構成を示す図である。
【図４】クラウドプラットフォームサービスのソフトウェアモジュール構成図である。
【図５】文書生成サーバのソフトウェアモジュール構成図である。
【図６】文書印刷サーバのソフトウェアモジュール構成図である。
【図７】クラウドプラットフォームサービスの業務画面例である。
【図８】クラウドプラットフォームサービスの業務データのテーブル構造例である。
【図９】クラウドプラットフォームサービスのカスタムボタンの定義情報例である。
【図１０】フォーム情報テーブルのテーブル構造を示す図である。
【図１１】Ｗｅｂブラウザで表示する画面フローを示した図である。
【図１２】実施例１における文書生成システムが行う処理シーケンスを示す図である。
【図１３】実施例１における文書生成サーバの文書生成処理を示すフローチャートである。
【図１４】文書情報テーブルのテーブル構造を示す図である。
【図１５】実施例２における文書生成サーバの文書生成処理を示すフローチャートである。
【図１６】クラウドプラットフォームサービスのＡｔｔａｃｈｍｅｎｔテーブルのテーブル構造を示す図である。
【図１７】クラウドプラットフォームサービスの添付ファイル詳細画面例である。
【図１８】実施例３における文書生成サーバの文書生成処理を示すフローチャートである。
【図１９】実施例２における文書生成サーバの文書送信処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１１】
図１は、本発明の実施例１の文書システムのシステム構成を示すブロック図である。図中、１０１は、後述するクラウドプラットフォームサービス１０２および後述する文書生成サーバ１０３に対してリクエストを発行するクライアント装置１０１である。図中、１０２はクラウドプラットフォームサービス１０２であり、クライアント装置１０１や文書生成サーバ１０３からのリクエストに応じて、保持するデータの表示・更新等を行うサービスシステムである。
【００１２】
図中、１０３は、文書生成サーバ１０３であり、クライアント装置１０１からリクエストを受信して文書生成を行う文書生成サービスシステムである。図中、１０４は、文書印刷サーバ１０４であり、文書生成サーバ１０３から文書を受信して文書の印刷を行う印刷サービスシステムである。いずれのサーバも図面上は１台で示されているが、複数台から構成されていても良い。
【００１３】
また、上記各構成要素はネットワーク１００により通信可能に接続されている。ネットワークは、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれかである。または、これらの組み合わせにより実現される、いわゆる通信ネットワークである。
【００１４】
ネットワークはデータの送受信が可能であればよい。
【００１５】
クライアント装置１０１からクラウドプラットフォームサービス１０２、及び文書生成サーバ１０３への通信機能、文書生成サーバ１０３からクラウドプラットフォームサービス１０２への通信機能、及び各サーバ間の通信機能が異なっていてもよい。
【００１６】
図２は、図１のクライアント装置１０１、クラウドプラットフォームサービス１０２、文書生成サーバ１０３、文書印刷サーバ１０４のハードウェア構成を示すブロック図である。図中、２０１は内部バスで接続される各デバイス（後述のＲＯＭ、ＲＡＭ他）を直接或いは間接的に制御し、本発明を実現するためのプログラムを実行するＣＰＵである。２０２はＢＩＯＳが格納してあるＲＯＭである。２０３はＣＰＵ２０１のワーク領域として利用されたり、本発明を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりするＲＡＭ（直接記憶装置）である。２０４は基本ソフトウェアであるＯＳやソフトウェアモジュールが記憶されているＨＤＤ（ハードディスクドライブ）、もしくはＳＳＤ（ソリッドステートドライブ）などの間接記憶装置である。２０５は入力装置であり不図示のキーボードやポインティングデバイスなどである。２０６は出力装置でありディスプレイが接続される。２０７はネットワーク１００に接続するためのＩ／Ｆである。
【００１７】
これらハードウェアでは、起動後にＣＰＵ２０１によりＢＩＯＳが実行されＯＳがＨＤＤ２０４からＲＡＭ２０３に実行可能にロードされる。ＣＰＵ２０１はＯＳの動作に従って後述する各種ソフトウェアモジュールをＨＤＤ２０４からＲＡＭ２０３に随時、実行可能にロードする。各種ソフトウェアモジュールは上記各デバイスの協調によりＣＰＵ２０１によって実行され動作する。また、Ｉ／Ｆ２０７はネットワーク１００に接続されており、ＯＳの動作に従ってＣＰＵ２０１により制御され、上述した通信手段による通信を実現している。
【００１８】
図３は、本発明の実施の形態に係る文書生成システムの構成を示す図である。図中、クライアント装置１０１はユーザインタフェースアプリケーションとしてＷｅｂブラウザ３０１を備えている。クラウドプラットフォームサービス１０２は、クラウドプラットフォームサービスを使用するユーザの管理や、業務データ、後述する文書生成サーバ１０３へのリダイレクトを行うための設定を管理する。
【００１９】
また、クラウドプラットフォームサービス１０２は、マルチテナントが前提であり、使用する企業・組織毎に前述のユーザ管理、業務データ管理等を行う。文書生成サーバ１０３は、Ｗｅｂサーバ３０３、文書生成モジュール３０４、フォーム管理モジュール３０５を備える。Ｗｅｂサーバ３０３はいわゆるＷｅｂアプリケーションの機能を有するよう構成されており、クライアント装置１０１はＷｅｂブラウザ３０１を介してアクセスする事が出来る。
【００２０】
Ｗｅｂサーバ３０３はＷｅｂブラウザ３０１からのリクエストに対してユーザインタフェース情報を返答する。Ｗｅｂブラウザ３０１はＷｅｂサーバ３０３から得られたユーザインタフェース情報をレンダリングし表示する。表示されたユーザインタフェース情報には、たとえば、後述する文書生成サーバ１０３が管理するフォームの一覧や、文書生成をリクエストするためのインタフェース等が含まれている。また、Ｗｅｂサーバ３０３はＷｅｂブラウザ３０１から文書生成リクエストを受信すると、業務データとともに文書生成モジュール３０４に対して文書生成のリクエストを送信する。
【００２１】
文書生成モジュール３０４は、クラウドプラットフォームサービス１０２から文書生成の対象となる業務データを取得し、取得したデータとフォームの両方を使用してオーバレイ処理を行い、文書データを生成する。また、文書生成モジュール３０４は、生成した文書を文書印刷サーバ１０４に送信し文書印刷のリクエストを送信する。
【００２２】
フォーム管理モジュール３０５は、フォームデータを保存・管理している。また、フォームと紐づけてクエリコマンドを管理している。クエリコマンドには、クラウドプラットフォームサービス１０２からの業務データ取得方法等が設定されている。
【００２３】
図４は、クラウドプラットフォームサービス１０２上で動作するソフトウェアモジュールの構成図である。なお各ソフトウェアモジュールは図２で示したＨＤＤ２０４に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行される。
【００２４】
クラウドプラットフォームサービス１０２は以下で構成される。
【００２５】
クライアント装置１０１のＷｅｂブラウザ３０１や文書生成サーバ１０３との通信を処理する送受信部４０１。送受信部４０１が受け付けたリクエストに従って処理を実行する制御部４０２。Ｗｅｂブラウザ３０１にレスポンスを返すためのＷｅｂページを生成するページ生成部４０３。ログイン要求してきたユーザを認証する認証部４０５。認証部４０５にて認証に成功したユーザのセッション情報を管理するセッション管理部４０４。業務データをＤＢ４０８に保持し要求に応じてＤＢ４０８から業務データの取得、あるいは業務データの更新を行うデータ管理部４０６。文書生成サーバ１０３へのリダイレクトを行うための設定を保持する設定管理部４０７。クラウドプラットフォームサービス１０２はこれら各構成要素の協調により、後述する処理を実行する。
【００２６】
また、図中、４０８は管理ユーザデータや業務データを格納するＤＢ４０８であり、図２で示したＨＤＤ２０４に記憶されている。管理ユーザデータや業務データは、企業・組織（以降、組織と表記）毎に管理される。各組織には組織ＩＤが自動的に割り当てられ、組織ＩＤとともに各データが管理される。ユーザ認証時、ユーザが所属する組織の組織ＩＤを取得しセッション管理部４０４に保存する。以降のデータ取得等の処理は組織ＩＤをもとに行われ、組織ＩＤの一致するデータのみを参照することが可能となっている。
【００２７】
また、ＤＢ４０８には、文書生成サーバ１０３へのリダイレクトを行うための設定も格納される。ＤＢ４０８に格納された業務データや文書生成サーバ１０３へリダイレクトを行うための設定は、Ｗｅｂブラウザ３０１を介して、ユーザ（管理者）により任意のタイミングで設定更新が行われる。
【００２８】
図５は、文書生成サーバ１０３上で動作するソフトウェアモジュールの構成図である。なお各ソフトウェアモジュールは図２で示したＨＤＤ２０４に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行される。
【００２９】
文書生成サーバ１０３は以下で構成される。クライアント装置１０１のＷｅｂブラウザ３０１やクラウドプラットフォームサービス１０２との通信を処理する送受信部５０１。受け付けたリクエストに従って処理を実行する制御部５０２。Ｗｅｂブラウザ３０１にレスポンスを返すためのＷｅｂページを生成するページ生成部５０３。後述のフォーム情報テーブルを管理するフォーム情報管理部５０４。フォームデータを管理するフォーム管理部５０５。クラウドプラットフォームサービス１０２にアクセスして業務データを取得するデータアクセス部５０６。業務データとフォームを使用してオーバレイ処理を行い、文書データを生成する文書生成部５０７。後述の文書情報テーブルを管理する文書情報管理部５０８。生成された文書データを格納する文書管理部５０９。文書データをクラウドプラットフォームサービス１０２または文書印刷サーバ１０４に送信する文書送信部５１０。文書生成サーバ１０３はこれら各構成要素の協調により、後述する処理を実行する。
【００３０】
図６は、文書印刷サーバ１０４上で動作するソフトウェアモジュールの構成図である。なお各ソフトウェアモジュールは図２で示したＨＤＤ２０４に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行される。文書印刷サーバ１０４は以下で構成される。クライアント装置１０１のＷｅｂブラウザ３０１や文書生成サーバ１０３との通信を処理する送受信部６０１。受け付けたリクエストに従って処理を実行する制御部６０２。登録プリンタを管理するプリンタ管理部６０３。印刷ジョブの進捗を管理する印刷ジョブ管理部６０４。Ｗｅｂブラウザ３０１にレスポンスを返すためのＷｅｂページを生成するページ生成部６０５である。制御部６０２は、文書生成サーバ１０３から文書を受信すると印刷ジョブを作成し、送受信部６０１を介して印刷ジョブを不図示の印刷装置に送信する。
【００３１】
図７は、クライアント装置１０１のＷｅｂブラウザ３０１から、クラウドプラットフォームサービス１０２にアクセスして業務データを表示した場合の業務画面７０１の例である。なお、図７は、ユーザがクラウドプラットフォームサービス１０２にログイン済の状態である。業務画面７０１は、あるレコードの詳細情報７０２や商品７０３が表示されている。図７では、商談に関する業務画面の商談レコードの詳細を表示している。また、文書生成サーバ１０３へリダイレクトを行うための設定がなされたカスタムボタン７０４が表示されている。カスタムボタン７０４は、ボタン押下時の動作や、どの画面に表示するか、等を任意に設定可能で、ユーザ（管理者）によって画面に配置される。なお、図７のカスタムボタン７０４は、後述する図９の９０３が示す文書作成ボタンである。
【００３２】
図８は、クラウドプラットフォームサービス１０２のデータ管理部４０６が保持する業務データのうち、商談に関するデータのテーブル構造例を示す図である。業務データはデータテーブル８００で管理され、商談テーブル８０１、および、商品テーブル８１１によって構成されている。商談テーブル８０１は、レコードの識別子であるレコードＩＤ８０２、レコードをユーザが容易に区別するために任意の名前を設定可能な商談名８０３で構成される。商品テーブル８１１は、商談レコードＩＤ８１２、商品テーブルのレコードの識別子であるレコードＩＤ８１３、品名８１４、数量８１５、価格８１６から構成される。また、商談レコードＩＤ８１２は、商談テーブルのレコードＩＤ８０２とリレーションしている。
【００３３】
図９は、クラウドプラットフォームサービス１０２の設定管理部４０７で保持するカスタムボタンの定義情報の例を示す図である。図９では、カスタムボタンが「商談」画面と「顧客」画面に定義されており、「商談」画面に表示するカスタムボタンの設定情報には、ボタン表示名９０３、および、文書生成サーバ１０３へリダイレクトを行うためのパラメータ情報が格納されている。文書生成サーバＵＲＩ９０４は、文書生成サーバ１０３のＵＲＩを「ｈｔｔｐ：／／〜」の形式で指定したパラメータである。セッションＩＤ９０５は、ログインしたユーザのセッションＩＤを取得して文字列「ｓｉｄ＝＜セッションＩＤ＞」をＵＲＬパラメータに付加する設定である。ＣＰＳＵＲＬ９０６は、文書生成サーバ１０３がクラウドプラットフォームサービス１０２にアクセスするためのＵＲＬを文字列「ｓｒｖ＿ｕｒｌ＝＜クラウドプラットフォームサービスＵＲＬ＞」としてＵＲＬパラメータに付加する設定である。
【００３４】
クラウドプラットフォームサービス１０２にアクセスするためのＵＲＬは組織毎に固有であり、ユーザ認証時に、制御部４０２が、ユーザが所属する組織に応じたＵＲＬを取得してセッション管理部４０４に保存する。組織ＩＤ９０７は、ログインしたユーザの組織ＩＤを取得して文字列「ｏｒｇｉｄ＝＜組織ＩＤ＞」をＵＲＬパラメータに付加する設定である。レコードＩＤ９０８は、画面に表示した商談レコードのレコードＩＤ１２０２を取得して文字列「ｒｅｃｉｄ＝＜レコードＩＤ＞」をＵＲＬパラメータに付加する設定である。文書操作９０９は、生成した文書の送信先を指定するパラメータである。文書操作９０９の値には、例えば、文書を文書印刷サーバ１０４に送信する場合は「ｐｒｉｎｔ」を指定し、クラウドプラットフォームサービス１０２に送信する場合は「ａｔｔａｃｈ」を指定する。このように、文書を印刷サービスへ送信するか否かをパラメータで指定することができる。
【００３５】
図１０は、文書生成サーバ１０３のフォーム情報管理部５０４が保持するフォーム情報テーブルのテーブル構造を示す図である。フォーム情報テーブル１００１のフォーム情報レコードは、以下で構成される。レコードの所有者である組織を識別する組織ＩＤ１００３。フォーム選択画面に表示する名称である表示名１００４。文書生成サーバ１０３のフォーム管理部５０５で管理されているフォームのファイル名であるフォームファイル名１００５。クラウドプラットフォームサービス１０２からデータを取得するためのクエリを記述したクエリコマンド１００６。フォームファイル内に定義されている固定的なデータに関する情報であるフォーム情報１０７。
【００３６】
図１４は、文書生成サーバ１０３の文書情報管理部５０８が保持する文書情報テーブルのテーブル構造を示す図である。文書情報テーブル１４０１の文書情報レコードは、以下で構成される。文書を識別する文書ＩＤ１４０２。文書生成処理および文書送信処理の進捗状況を表す処理ステータス１４０３。文書管理部５０９に保存されている文書データの保存パス１４０４。
【００３７】
図１１は、図１の文書システムにおけるクライアント装置１０１のＷｅｂブラウザ３０１で表示する画面のフローを示した図である。なお、以降の図中におけるクラウドプラットフォームサービス１０２をＣＰＳと略して表記している。業務画面１１０１は、クラウドプラットフォームサービス１０２が作成し、クライアント装置１０１に返す画面であり、例えば、図７の業務画面７０１が表示される。文書生成ボタン１１０２は、クラウドプラットフォームサービス１０２へ文書生成リクエストを発行するボタンである。
【００３８】
クラウドプラットフォームサービス１０２は文書生成ボタン１１０２が押下されると、文書生成サーバ１０３へリダイレクトするＵＲＬ（以降、リダイレクトＵＲＬ）を返却する。クライアント装置１０１のＷｅｂブラウザ３０１は、リダイレクトＵＲＬを受けるとこのＵＲＬに従った文書生成サーバ１０３へリダイレクトする。リクエストを受けた文書生成サーバ１０３は、フォーム選択画面１１０３をクライアント装置１０１のＷｅｂブラウザ３０１に返す。フォーム選択画面１１０３は文書生成に使用するフォームを選択する選択フォーム１１０４を備える。
【００３９】
また、ユーザから文書作成ボタン１１０５の選択を受けたクライアント装置１０１のＷｅｂブラウザ３０１は、選択フォーム１１０４の選択結果とともに文書生成サーバ１０３に文書生成リクエストを送信する。このとき、クライアント装置１０１のＷｅｂブラウザ３０１は、リダイレクトＵＲＬに含まれるセッションＩＤ９０５、ＣＰＳＵＲＬ９０６、レコードＩＤ９０８、文書操作９０９を文書生成サーバ１０３に送信する。これらの情報を受け取った文書生成サーバ１０３は、業務画面１１０１の業務データをクラウドプラットフォームサービス１０２から取得する。
【００４０】
クラウドプラットフォームサービス１０２からの業務データ取得が完了すると、文書生成サーバ１０３は取得した業務データおよび選択されたフォームを使用して文書生成処理を行う。文書生成処理が完了すると、文書生成サーバ１０３は文書操作９０９をもとに、生成した文書をクラウドプラットフォームサービス１０２あるいは文書印刷サーバ１０４に送信する。文書生成処理および文書送信処理を実行中の間、クライアント装置１０１のＷｅｂブラウザ３０１は、処理中画面１１０６を表示する。文書の作成および送信が完了すると、クライアント装置１０１のＷｅｂブラウザ３０１は完了画面１１０７を表示する。
【００４１】
図１２は、本実施の形態に係る文書生成システムが行う処理フローを示している。なお、ユーザは不図示のログイン画面にてクラウドプラットフォームサービス１０２にログイン済とし、Ｗｅｂブラウザ３０１には図７の業務画面７０１が表示されており、カスタムボタン７０４は、予め、図９の設定がなされているものとする。
【００４２】
はじめに、ユーザによりクライアント装置１０１のＷｅｂブラウザ３０１に表示された業務画面７０１のカスタムボタン７０４が押下される（Ｓ１２０１）と、クラウドプラットフォームサービス１０２では、Ｓ１２０２においてリダイレクトＵＲＬ作成処理を行う。
【００４３】
Ｓ１２０２において、制御部４０２はカスタムボタン７０４に設定された文書生成サーバＵＲＩ９０４、セッションＩＤ９０５、ＣＰＳＵＲＬ９０６、組織ＩＤ９０７、レコードＩＤ９０８および文書操作９０９を取得する。次に、これら取得した値をＵＲＬパラメータに含めてリダイレクトＵＲＬを生成する。そして、リダイレクトさせるためのレスポンスをＷｅｂブラウザ３０１に返す。
【００４４】
Ｓ１２０３で、Ｗｅｂブラウザ３０１はクラウドプラットフォームサービス１０２から返されたレスポンスを受信すると文書生成サーバ１０３にリダイレクトする。Ｓ１２０４で、文書生成サーバ１０３はフォーム情報レコード１００２に含まれるフォームの表示名１００４のリストをフォーム情報管理部５０４から取得する。そして、フォームの表示名１００４のリストからフォーム選択画面１１０３を作成、クライアント装置１０１に送る。
【００４５】
ユーザによりフォーム選択画面１１０３のフォーム１１０４が選択され、文書作成ボタン１１０５が押下されると、Ｗｅｂブラウザ３０１は文書生成サーバ１０３に文書生成リクエストを送信する（Ｓ１２０５）。このとき、Ｗｅｂブラウザ３０１は、選択フォーム１１０４、セッションＩＤ９０５、ＣＰＳＵＲＬ９０６、組織ＩＤ９０７、レコードＩＤ９０８、文書操作９０９を送信する。セッションＩＤ９０５、ＣＰＳＵＲＬ９０６、組織ＩＤ９０７、レコードＩＤ９０８、文書操作９０９はリダイレクトＵＲＬのパラメータから取得する。
【００４６】
文書生成リクエストを受信すると、文書生成サーバ１０３は文書ＩＤを生成し、文書ＩＤ１４０２に生成した文書ＩＤ、処理ステータス１４０３に「処理中」を設定して文書情報テーブル１４０１に文書情報レコードを作成する。その後、処理中画面１１０６をＷｅｂブラウザ３０１に返す。このとき生成した文書ＩＤをレスポンスに含める。続いて、文書生成サーバ１０３は選択フォーム１１０４で指定されたフォームに一致するクエリコマンド１００６を発行する（Ｓ１２０６）。クラウドプラットフォームサービス１０２からデータ取得のレスポンスを受信すると、文書生成サーバ１０３は、後述の文書生成処理および文書送信処理を行う（Ｓ１２０８、Ｓ１２１０またはＳ１２１１）。
【００４７】
Ｗｅｂブラウザ３０１は定期的に処理進捗確認リクエストを文書生成サーバ１０３に送信する（Ｓ１２０７、Ｓ１２０９、Ｓ１２１２）。このとき文書生成リクエストＳ１２０５のレスポンスで返された文書ＩＤをリクエストに含める。文書生成サーバ１０３は、リクエストに含まれる文書ＩＤの処理ステータス１４０３を取得してステータスを返す。返されたステータスに応じてＷｅｂブラウザ３０１は処理中画面１１０６あるいは完了画面１１０７を表示する。文書生成サーバ１０３が処理進捗確認リクエストＳ１２１２のレスポンスで処理ステータス「完了」を返す（Ｓ１２１３）と、Ｗｅｂブラウザ３０１は完了画面１１０７を表示する（Ｓ１２１４）。
【００４８】
図１３は、本実施の形態に係る文書生成サーバ１０３の文書生成処理を示すフローチャートである。本フローはＷｅｂブラウザ３０１が文書生成サーバ１０３に文書生成リクエストを送信することによって始まる。
【００４９】
Ｓ１３０１において、文書生成リクエストを受信すると、制御部５０２は、リクエストに含まれる選択フォーム１１０４のクエリコマンド１００６をフォーム管理部５０５のフォーム情報テーブル１００１から取得する。Ｓ１３０２において、データアクセス部５０６は取得したクエリコマンド１００６を発行してクラウドプラットフォームサービス１０２からデータを取得する。その際、ユーザ情報としてセッションＩＤ９０５を指定し、ＣＰＳＵＲＬ９０６に対してリクエストを送信する。Ｓ１３０３において、制御部５０２は、データ取得が成功したかを判定する。
【００５０】
データ取得が成功したと判定された場合、Ｓ１３０４において、制御部５０２は、リクエストに含まれる文書操作９０９の値を判定する。文書操作９０９の値が「ｐｒｉｎｔ」であると判定された場合、文書生成部５０７はフォントデータを埋め込んだＰＤＦ文書を生成する（Ｓ１３０５）。文書操作９０９の値が「ｐｒｉｎｔ」でないと判定された場合、文書生成部５０７はフォントデータを埋め込まないＰＤＦ文書を生成する（Ｓ１３１２）。なお、文書操作９０９の値は「ｐｒｉｎｔ」に限定されるものではなく、ＰＤＦ文書の送信先が文書印刷サーバであることを示す値であればよい。
【００５１】
次に、制御部５０２は、Ｓ１３０６において、ＰＤＦ文書生成が成功したかを判定する。ＰＤＦ文書生成が成功したと判定された場合、制御部５０２は、文書操作９０９の値を判定する。（Ｓ１３０７）。Ｓ１３０７において、文書操作９０９の値が「ｐｒｉｎｔ」であると判定された場合、文書送信部６０６は、ＰＤＦ文書を文書印刷サーバ１０４に送信する（Ｓ１３０８）。文書操作９０９の値が「ａｔｔａｃｈ」であると判定された場合、文書送信部６０６は、ＰＤＦ文書をクラウドプラットフォームサービス１０２に送信する（Ｓ１３０９）。文書操作９０９が指定されていない、または文書操作９０９の値が「ｐｒｉｎｔ」「ａｔｔａｃｈ」以外であると判定された場合、制御部５０２は、Ｗｅｂブラウザ３０１に不図示の文書操作画面を送信する（Ｓ１３１０）。文書操作画面は、ＰＤＦ文書をＷｅｂブラウザ３０１に送信する、あるいは、クラウドプラットフォームサービス１０２に送信する、を選択可能なメニューを含む。文書操作画面では、ＰＤＦ文書をＷｅｂブラウザ３０１に表示して内容を確認することが可能である。その場合、ユーザは、ＰＤＦ文書の内容を確認した後で、ＰＤＦ文書をクライアント装置１０１に保存する、あるいは、クラウドプラットフォームサービス１０２に送信する、を選択することになる。
【００５２】
Ｓ１３０３において、データ取得が失敗したと判定された場合（Ｓ１３０３のＮＯ）や、Ｓ１３０６においてＰＤＦ文書生成が失敗したと判定された場合（Ｓ１３０６のＮＯ）、文書生成処理はエラー終了する（Ｓ１３１１）。以上の処理により、文書生成サーバ１０３は文書生成処理を実行する。
【００５３】
なお、本実施例においてＰＤＦ文書の送信先を用いてフォントデータを埋め込むかどうかの判定を行っているが、これに限定されるものではない。例えば、「印刷用」「保存用」といった、機能・用途を指定するパラメータを用いる方法であってもよい。パラメータから文書印刷サービスへ送信するか否かを判断できればどのような値であってもよい。また、実施例１において文書操作９０９をカスタムボタン７０４で指定しているが、これに限定されるものではない。例えば、フォーム選択画面１１０３に文書操作をユーザが選択可能に表示し、文書作成ボタン１１０５が押下されると、選択された文書操作を指定して文書生成リクエストＳ１２０５を送信することも可能である。
【００５４】
本実施の形態によれば、文書の送信先に応じてＰＤＦ文書にフォントデータを埋め込むか否かを判断できる。それにより、ＰＤＦ文書をクラウドプラットフォームサービスに送信する場合はストレージ容量の消費を抑制でき、ＰＤＦ文書を印刷サービスに送信する場合は意図した印刷出力結果を得ることができる。
【実施例２】
【００５５】
実施例１では、文書の送信先が文書印刷サーバでない場合はフォントデータを埋め込まないＰＤＦ文書を生成していた。本実施例では、文書の送信先が文書印刷サーバでない場合であっても、条件によってはＰＤＦ文書にフォントデータを埋め込む方法について説明する。
【００５６】
始めに、フォント埋め込み制御に関する設定をフォームデータに保持することを想定する。ユーザはフォームデータ編集時に、ＰＤＦ文書に埋め込むフォントを指定する。本実施例では、埋め込むフォントの指定がなされたフォームデータが文書生成サーバ１０３のフォーム管理部５０５に管理されているものとする。本発明を実施するための第２の形態について図面を用いて説明する。なお第１の実施の形態と共通の部分については説明を省略し、以下では差異部分のみ説明する。
【００５７】
図１５は、本実施の第２の形態に係る文書生成サーバ１０３の文書生成処理を示すフローチャートである。本フローはＷｅｂブラウザ３０１が文書生成サーバ１０３に文書生成リクエストを送信することによって始まる。
【００５８】
Ｓ１３０１において、文書生成リクエストを受信すると、制御部５０２は、リクエストに含まれる選択フォーム１１０４のクエリコマンド１００６をフォーム管理部５０５のフォーム情報テーブル１００１から取得する。Ｓ１３０２において、データアクセス部５０６は取得したクエリコマンド１００６を発行してクラウドプラットフォームサービス１０２からデータを取得する。その際、ユーザ情報としてセッションＩＤ９０５を指定し、ＣＰＳＵＲＬ９０６に対してリクエストを送信する。Ｓ１３０３において、制御部５０２は、データ取得が成功したかを判定する。
【００５９】
データ取得が成功したと判定された場合、Ｓ１３０４において、制御部５０２は、リクエストに含まれる文書操作９０９の値を判定する。文書操作９０９の値が「ｐｒｉｎｔ」であると判定された場合、文書生成部５０７はフォントデータを埋め込んだＰＤＦ文書を生成する（Ｓ１３０５）。
【００６０】
Ｓ１３０５において、文書操作９０９の値が「ｐｒｉｎｔ」でないと判定された場合、ステップＳ１５０１で文書生成部５０７は、フォーム管理部５０５からフォームデータを読み込む。ステップＳ１５０２において、文書生成部５０７は、読み込んだフォームデータに埋め込みフォントの指定がなされているかを判定する。
【００６１】
フォームデータに埋め込みフォントの指定がなされていると判定された場合（Ｓ１５０２のＹＥＳ）、ステップＳ１５０３で文書生成部５０７は、フォームデータ内から埋め込みフォントの指定を取得する。ステップＳ１５０４において、文書生成部５０７は、取得した埋め込みフォントの指定により指定されたフォントデータを埋め込んだＰＤＦ文書を生成する。
【００６２】
ステップＳ１５０２において、フォームデータに埋め込みフォントの指定がなされていないと判定された場合、文書生成部５０７はフォントデータを埋め込まないＰＤＦ文書を生成する（Ｓ１３０６）。
【００６３】
本実施の形態によれば、文書の送信先が文書印刷サーバでない場合、フォームデータ内のフォント埋め込み制御に関する設定に従ってＰＤＦ文書にフォントデータを埋め込むか否かを決定する。それにより、埋め込むフォントを指定したフォームデータを使用してＰＤＦ文書を生成することで、クラウドプラットフォームサービスに送信したＰＤＦ文書を閲覧する場合に、閲覧環境によらず一定の表示を得ることができる。
【実施例３】
【００６４】
実施例１および実施例２では、ＰＤＦ文書生成時に文書の印刷を指示していた。本実施例では、生成したＰＤＦ文書をクラウドプラットフォームサービス１０２に送信した場合であっても、送信されたそのＰＤＦ文書を後から文書印刷サーバ１０４に送信して印刷することを可能とする。本発明を実施するための第３の形態について図面を用いて説明する。なお第１および第２の実施の形態と共通の部分については説明を省略し、以下では差異部分のみ説明する。
【００６５】
図１６は、クラウドプラットフォームサービス１０２のＤＢ４０８が保持するＡｔｔａｃｈｍｅｎｔテーブルのテーブル構造を示す図である。Ａｔｔａｃｈｍｅｎｔテーブル１６０１は、クラウドプラットフォームサービス１０２に送信されたファイルを管理するテーブルである。Ａｔｔａｃｈｍｅｎｔテーブル１６０１のＡｔｔａｃｈｍｅｎｔレコードは、以下で構成される。
【００６６】
ファイルを識別するＩｄ１６０２。Ｉｄ１６０２はクラウドプラットフォームサービス１０２が自動的に付与する。保存されているファイルのファイル名であるＮａｍｅ１６０３。保存されているファイルの実体をバイナリ形式で保持するＢｏｄｙ１６０４。バイナリ形式とは、例えば、Ｂａｓｅ６４形式でエンコードした値である。保存されているファイルのサイズであるＳｉｚｅ１６０５。保存されているファイルに関する説明等任意の文字列を設定可能なＤｅｓｃｒｉｐｔｉｏｎ１６０６。
【００６７】
図１７は、クライアント装置１０１のＷｅｂブラウザ３０１から、クラウドプラットフォームサービス１０２にアクセスしてＡｔｔａｃｈｍｅｎｔテーブル１６０１の１つのレコードを表示した場合の添付ファイル詳細画面１７０１の例である。なお、図１７は、図１６のＩｄ「ａａａ」のレコード１６０７を表示している。
【００６８】
図１８は、本実施の第３の形態に係る文書生成サーバ１０３の文書生成処理を示すフローチャートである。本フローはＷｅｂブラウザ３０１が文書生成サーバ１０３に文書生成リクエストを送信することによって始まる。
【００６９】
制御部５０２は、Ｓ１３０７において、文書操作９０９の値を判定する。
【００７０】
Ｓ１３０７において、文書操作９０９の値が「ａｔｔａｃｈ」であると判定された場合、Ｓ１８０１で制御部５０２は、生成したＰＤＦ文書にフォントデータが埋め込まれているかを判定する。
【００７１】
Ｓ１８０１において、生成したＰＤＦ文書にフォントデータが埋め込まれていると判定された場合、制御部５０２は、文書送信リクエストＵＲＬを生成する（Ｓ１８０２）。文書送信リクエストＵＲＬとは、生成したＰＤＦ文書を文書印刷サーバ１０４に送信するためのＵＲＬである。ＵＲＬにアクセスすると、文書生成サーバ１０３がアクセスを受け付けて文書管理部５０９から文書を取得し文書印刷サーバ１０４に送信する。制御部５０２は、文書送信リクエストＵＲＬに生成したＰＤＦ文書の文書ＩＤ１４０２を含める。続いて、制御部５０２は、Ｓ１８０３において、ＡｔｔａｃｈｍｅｎｔレコードのＢｏｄｙ１６０４に生成したＰＤＦ文書の実体を指定し、Ｄｅｓｃｒｉｐｔｉｏｎ１６０６に生成した文書送信リクエストＵＲＬを指定する。そして、Ｓ１３０９において、文書送信部６０６は、Ａｔｔａｃｈｍｅｎｔレコードをクラウドプラットフォームサービス１０２に送信する。
【００７２】
Ｓ１８０１において、生成したＰＤＦ文書にフォントデータが埋め込まれていないと判定された場合、制御部５０２は、ＡｔｔａｃｈｍｅｎｔレコードのＢｏｄｙ１６０４に生成したＰＤＦ文書の実体を指定する。そして、文書送信部６０６は、Ａｔｔａｃｈｍｅｎｔレコードをクラウドプラットフォームサービス１０２に送信する。
【００７３】
以上のフローが実行されることにより、次の動作となる。すなわち、フォントデータが埋め込まれたＰＤＦ文書をクラウドプラットフォームサービス１０２に送信した場合、添付ファイル詳細画面１７０１は図１７のように表示される。図１７では、説明１７０４の欄に文書送信リクエストＵＲＬ１７０６のリンクが表示されている。
【００７４】
図１９は、本実施の第３の形態に係る文書生成サーバ１０３の文書送信処理を示すフローチャートである。本フローはユーザが添付ファイル詳細画面１７０１の文書送信リクエストＵＲＬ１７０６のリンクをクリックし、Ｗｅｂブラウザ３０１が文書生成サーバ１０３にアクセスし、文書送信リクエストＵＲＬ１７０６に設定された情報を含むリクエストを送信することによって始まる。
【００７５】
Ｓ１９０１において、文書生成サーバ１０３がアクセスを受け付けると、制御部５０２は、リクエストに含まれる文書ＩＤを取得する。Ｓ１９０２において、制御部５０２は、ステップＳ１９０１で取得した文書ＩＤを指定して文書情報管理部５０８に対して文書情報取得をリクエストする。文書情報管理部５０８は、文書情報テーブル１４０１を検索し、文書ＩＤ１４０２の値が指定された文書ＩＤと一致するレコードを取得して返却する。
【００７６】
次に、制御部５０２は、ステップＳ１９０３において、一致するレコードが存在したかを判定する。一致するレコードが存在したと判定された場合、制御部５０２は、ステップＳ１９０４で、文書管理部５０９に対してＳ１９０２で取得した文書情報レコードの保存パス１４０４を指定してＰＤＦ文書を取得する。このように文書ＩＤに対応する文書は取得される。そして、文書送信部６０６は、取得したＰＤＦ文書を文書印刷サーバ１０４に送信する（Ｓ１９０５）。
【００７７】
以上の処理により、文書生成サーバ１０３は文書送信処理を実行する。このとき送信するＰＤＦ文書にはフォントデータが埋め込まれているため、意図した印刷出力結果を得ることができる。
【００７８】
［その他の実施例］
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７９】
１０１  クライアント装置
１０２  クラウドプラットフォームサービス
１０３  文書生成サーバ
１０４  文書印刷サーバ
３０１  Ｗｅｂブラウザ
３０３  Ｗｅｂサーバ
３０４  文書生成モジュール
【図１】
2019082962.tif 000003
【図２】
2019082962.tif 000004
【図３】
2019082962.tif 000005
【図４】
2019082962.tif 000006
【図５】
2019082962.tif 000007
【図６】
2019082962.tif 000008
【図７】
2019082962.tif 000009
【図８】
2019082962.tif 000010
【図９】
2019082962.tif 000011
【図１０】
2019082962.tif 000012
【図１１】
2019082962.tif 000013
【図１２】
2019082962.tif 000014
【図１３】
2019082962.tif 000015
【図１４】
2019082962.tif 000016
【図１５】
2019082962.tif 000017
【図１６】
2019082962.tif 000018
【図１７】
2019082962.tif 000019
【図１８】
2019082962.tif 000020
【図１９】
2019082962.tif 000021