(57)【要約】【課題】  正確な印字結果とネットワーク負荷軽減と計算機処理効率を、バランスよく実現すること。【解決手段】  フォント除去しやすい形でフォント埋込ＰＤＦを生成するステップと、  生成と同時に、そのフォントを効率的に除去するためのフォント除去支援情報を生成するステップと、  ＰＤＦとフォント除去支援情報とを関連付けて保管するステップと、  ＰＤＦ配信する直前に、配信先に依存して、フォント除去支援情報に基づきＰＤＦからフォントを除去するステップを含むことを特徴とする電子文書生成・配信システム。【選択図】  図１
2008186165.tif 000002
【特許請求の範囲】
【請求項１】
フォント除去しやすい形でフォント埋込ＰＤＦを生成するステップと、
生成と同時に、そのフォントを効率的に除去するためのフォント除去支援情報を生成するステップと、
ＰＤＦとフォント除去支援情報とを関連付けて保管するステップと、
ＰＤＦ配信する直前に、配信先に依存して、フォント除去支援情報に基づきＰＤＦからフォントを除去するステップを含むことを特徴とする電子文書生成・配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図形、文字、画像などで表現される電子文書のフォント埋込に関する。
【背景技術】
【０００２】
フォントを埋め込んだＰＤＦを生成するソフトであって、生成するＰＤＦの文書内容の言語とそのＰＤＦを表示・印刷する環境の言語が一致する場合にはフォント埋込せず、一致しなければフォント埋込するものがある（特許文献１参照）。
【０００３】
ＰＣとＰＤＦプリンタで構成されるシステムであって、ＰＣでＰＤＦを解析し、ＰＤＦに埋め込まれたフォントをＰＤＦプリンタが持っている場合には、ＰＤＦからそのフォントを除去してプリンタに送信するものがある（特許文献２参照）。
【特許文献１】特開２００５−３３２０８８号公報
【特許文献２】特開２００４−２４６５０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
世界的なインターネットの普及と企業活動の多国籍化に伴い、上記技術の使用方法や使用環境が多様化している。例えば、中国工場向けの北京語の製造指示書を日本や米国で閲覧・印刷するという例があげられる。このような場合でも、正確に表示・印刷できるようにＰＤＦには、ＰＤＦ作成環境で使用したフォントをＰＤＦ内部に埋め込む機能を持つ。
【０００５】
しかし、フォント埋込するとサイズが増大する。我々の帳票ソフトウェア（ｉｍａｇｅＷＡＲＥ  Ｆｏｒｍ  Ｍａｎａｇｅｒ、以下ＦＭ）のサンプル（見積書）２０ページで試算したところ、フォント埋め込みなしのＰＤＦサイズが約６０ＫＢに対し、フォント埋め込みありのＰＤＦサイズは、４６０ＫＢとなり、９００％近いサイズ増加となる。（ページあたりの新規文字が７５％として計算）
したがって、正確な印刷のために、安易にフォント埋め込みしたＰＤＦを送受信するとネットワーク負荷が増大する。これはＦＭのように帳票を多数の営業所や取引先に一斉配信する機能を持つソフトウェアにとって、大きな影響を及ぼす。具体的には、配信印刷のファーストプリント時間が悪化するなどの影響が懸念される。
【０００６】
このような課題を解決するための代表的な従来技術が２つある。
【０００７】
１つは、特開２００５−３３２０８８のように、予め印刷環境のフォントが分かっている場合は、生成時に埋め込むフォントを選別してＰＤＦサイズを削減する方法である。
【０００８】
もう１つは、特開２００４−２４６５０１のように、ＰＤＦ生成時にはすべてのフォントを埋め込んでおいて、印刷時にプリンタに搭載されているフォントのみＰＤＦから削除して送信することで、ネットワーク負荷を軽減する方法である。
【０００９】
しかしながら、どちらの解決方法もＦＭではうまくいかない。
【００１０】
最初の方法がうまくいかない理由は、ＦＭの配信印刷機能の動作プロセスと関係がある。動作プロセスは次のようになっている。
【００１１】
１．ユーザが帳票生成を要求する。
【００１２】
２．ＰＤＦ生成サーバがＰＤＦを生成する。
【００１３】
３．配信サーバがそのＰＤＦを保管する。
【００１４】
４．複数の拠点にいる一般ユーザが端末の印刷クライアント・ソフトウェアで配信サーバ上のＰＤＦを選択して印刷要求する
５．印刷クライアント・ソフトウェアは配信サーバからＰＤＦを取得し、印刷する
このように、ＦＭの動作では、生成、保管、送受信、印刷が別々のタイミング、かつ別の計算機上のプログラムで処理される。そのため、生成時には印刷環境が特定できないという特徴がある。だから、特開２００５−３３２０８８のように生成時に埋め込むフォントを選別する手法が使えない。
【００１５】
また、二番目の手法がうまくいかない理由は、ＦＭの重要なユーザ要求を満たせないからである。要求とは、配信印刷において、ユーザが印刷を要求してから一枚目の印刷が開始されるまでの時間を、通常のネットワーク印刷並みに短くすることというものである。一般にＰＤＦは複雑な構造を持ち、解析には時間がかかる。そのため、特開２００４−２４６５０１のように印刷要求を受けてからＰＤＦを再解析し除去すべきフォントを見出して除去する方法では、時間がかかりすぎてユーザの要求を満たせない課題がある。
【課題を解決するための手段】
【００１６】
以下の方法でこの問題を解決する。
【００１７】
１．生成サーバは、フォント埋込したＰＤＦをフォント除去しやすい形で生成する。
【００１８】
２．生成サーバはＰＤＦ生成と同時に、埋込フォントの除去を容易にするフォント除去支援情報を生成する。
【００１９】
３．生成サーバは、ＰＤＦとフォント除去支援情報をセットで配信サーバに送信する。配信サーバをそのセットを受信し、関連付けて保管する。
【００２０】
４．配信サーバは要求を受けると配信先によって埋込フォントが不要な環境か否かを判定し、不要なフォントをフォント除去支援情報に基づきＰＤＦから削除する。
【００２１】
５．配信サーバはＰＤＦを配信する。
【００２２】
従来技術との差異化の意味で、４番目のステップが特に重要である。ステップ１でフォント除去しやすい形で生成したＰＤＦから、ステップ２で作成したフォント除去支援情報に基づき、上書き処理およびブロック削除処理のみでフォントを削除する。
【００２３】
特開２００４−２４６５０１のようにフォントを削除するために、ＰＤＦを解析する必要が無いため、非常に短時間で処理できる。
【発明の効果】
【００２４】
上記解決手法により、印字品位を保ったまま、必要に応じて短時間でＰＤＦのサイズを小さくし、ネットワークの負荷を下げることができる。これにより、ユーザが最も気にする、ファーストプリントまでの時間を配信印刷において短くすることができる。
【発明を実施するための最良の形態】
【００２５】
発明を実施するための最良の形態を以下に説明する。
【００２６】
図１は、本発明実施前の一般的なＦＭのシステムの構成およびデータフローを表す。広報部や情報システム部のように配信コンテンツを供給する管理ユーザは、管理用ＰＣ１０１からＰＤＦ生成要求を出す。サーバ側システムはＰＤＦ生成サーバ１０２とＰＤＦ配信サーバ１０３から成る。ＰＤＦ生成サーバは管理ＰＣからの要求を受けてＰＤＦを生成する。ＰＤＦ生成後、ＰＤＦ生成サーバは要求に基づいて、ＰＤＦをＰＤＦ配信サーバに送信する。ＰＤＦ配信サーバはそれを一時的に保管する。一般ユーザが各拠点のクライアントＰＣ１０４や、複合機１０５のパネル上のクライアント・ソフトウェアからＰＤＦの印刷要求をすると、ＰＤＦ配信サーバはＰＤＦをクライアントＰＣや複合機に送信し、クライアントＰＣや複合機は閲覧や印刷を行う。
【００２７】
図２は、本発明を実施した場合のデータフローおよび、フォント埋め込みしたＰＤＦのフォーマット概要とフォント除去支援情報の概念図を表す。２０１はテキスト情報であり描画する文字列を表す。その文字列に対応して、フォント除去支援情報には、その文字列がＰＤＦの何バイト目から何バイト目まであるか、ということが書かれている（２０２）。この情報はフォント毎に分類されてフォント除去支援情報に収められている。
【００２８】
フォントの字形データは、削除時の影響が少ないようにＰＤＦ内の後方に配置される（２０３）。それに対応してフォント除去支援情報には埋込フォント字形データのＰＤＦ内のアドレスが記述される（２０４）。
【００２９】
印刷要求があったときには、配信サーバ上でフォントの要不要が判断される。そして、不要なフォントで描画された文字列２０１は、埋め込み専用のエンコーディングから、通常のエンコーディングに変換される（２０５）。そのとき、フォント除去支援情報で不要なフォントから文字列のアドレス範囲２０２をたどり、その範囲を変換してデータを上書きする。一方、不要なフォントの字形データについては、フォント除去支援情報内の不要なフォントから字形データのアドレス範囲をたどり、その範囲を丸ごと除去する。
【００３０】
図3は、埋め込みフォント削除前と削除後のＰＤＦを比較するものである。一般にＰＤＦは４つの部分からなる。まず、文書の文字や図形の配置情報や描画情報を含むコンテンツ部（３０１）である。コンテンツ部は更にページ毎に分割される。次に、埋め込みフォントや画像データを格納するリソース部（３０２）である。フォントの字形データ（３０８）は、リソース部の一要素である。この例では、コンテンツとしての文字列に、ハングルと日本語文字があり、どちらも埋め込みフォントとなっている。そのため、両方のフォントの字形データがこのリソース部に埋め込まれている。次に、埋め込みフォントの独自エンコーディングとＵｎｉｃｏｄｅの対応を表すエンコード部（３０３）がある。最後に各部分がＰＤＦの何バイト目から始まっているかを示す、アドレスマップ部（３０４）がある。
【００３１】
このうち、埋め込みフォントの除去により次の部分が変化する。まずは、コンテンツ部の文字列（３０５）である。埋め込みフォントは独自エンコーディングで文字を表すが、埋め込みの字形データを除去すると、独自エンコーディングは意味をなさなくなってしまうので、一般的な文字コードに変換する必要がある。次に変化するのは、削除するフォントの字形データが無くなることと、それに付随して、そのフォントの文字コード情報（３０６）が独自エンコーディングから、一般的な文字コードに変わることである。また、エンコード部からも、独自エンコーディングとＵｎｉｃｏｄｅの対応付けがなされていた当該フォントの部分が削除される。そして、最後に変わる箇所は、アドレスマップ部である。字形データやその文字コード対応がごっそりと削除されることで、エンコード部の位置が変わる。そのために、アドレスマップ部内のテーブルのなかで、エンコード部の開始位置を保持している箇所（３０７）のアドレスを変更する。
【００３２】
図４は、生成サーバでＰＤＦに文字を含める一般的な処理を表すフローチャートである。この一般的な処理では、
（１）まず、コンテンツ部に文字を表す字形番号を書き出し、
（２）次に、コンテンツ部で使用した字形データをリソース部に格納し、
（３）最後に、文字の字形番号とＵｎｉｃｏｄｅを対応付けてエンコード部に格納する。
というステップを踏む。
【００３３】
本提案を実現するために、各ステップで次のような工夫をする。
【００３４】
（１）’字形番号のバイト数を、Ｕｎｉｃｏｄｅのバイト数と同じにしておく。バイト数が同じだと、エンコード変換時に上書きのみで済ますことができるため。もしバイト数が異なると、エンコード変換時に後続部分をずらさなければならず、処理時間が大きく増大してしまう。
【００３５】
（２）’字形データをリソース部に格納するとき、除去されやすいフォントほどリソース部の後ろの方に配置する。フォントを除去するとき、除去部分より後の部分の位置をずらす必要があるが、それより後の部分が小さいほど処理が早くできるからである。
【００３６】
（３）’エンコード部をアドレスマップ部の直前に格納する。本来、ＰＤＦはアドレスマップ部が最後にあれば、他の部分はどういう順番で並んでいても良い。しかし除去時の影響を最小限にするには、削除されるものが後方にあるのが良い。なぜなら、削除した後の空白を埋めるために後続部分を前にずらす必要があるが、その部分のサイズが小さいほど処理が早くできるためであるためである。もうひとつの理由は、削除する部分が後ろにあるほうがずらす部分が小さくなって、アドレスマップの書き換え箇所が少なくて済み、これも処理速度の向上に役立つからである。
【００３７】
図５は生成サーバにおけるフォント除去支援情報の書き出し処理のフローチャートである。ＰＤＦ生成処理と対応して同期しつつ、この処理が行われる。
【００３８】
（１）コンテンツ部の文字列の書き出したＰＤＦのアドレス範囲を書き出す
（２）コンテンツ部で使用した字形データをリソース部に格納したときのアドレス範囲を書き出す
（３）最後に、文字の字形番号とＵｎｉｃｏｄｅを対応付けてエンコード部に格納したときのアドレス範囲を書き出す
というステップを踏む。
【００３９】
図４と図５で生成されたＰＤＦとフォント除去支援情報は、セットにして配信サーバに登録、保管される。クライアントから配信サーバに印刷要求がくると、配信サーバは、クライアントの種類やＯＳ、ＩＰアドレスの情報から、クライアントが持っているフォントを推定する。そして、要求されたＰＤＦに対応するフォント除去支援情報からそのフォントが含まれるかを調べ、含まれていれば除去する判断をする。
【００４０】
図６は、除去すべきフォントがＰＤＦに含まれていた場合の配信サーバのフォント除去処理のフローチャートである。
【００４１】
（１）フォント除去支援情報のエンコード部のアドレスから、エンコード情報を読む。
【００４２】
（２）フォント除去支援情報のコンテンツ部のアドレスを読み、エンコード情報に基づき該アドレスの文字コードを変換・上書きする。
【００４３】
（３）エンコード部の該当フォント部分を削除する。
【００４４】
（４）フォント除去支援情報のフォント字形データのアドレスを読み、フォント字形データを削除する。
【００４５】
（５）エンコード部の先頭アドレスが変わるので、アドレスマップ部に変更を反映する。
【図面の簡単な説明】
【００４６】
【図１】ＦＭシステム
【図２】データフローおよびＰＤＦとフォント除去支援情報のフォーマット概要
【図３】埋め込みフォント削除前後のＰＤＦ比較図
【図４】生成サーバのＰＤＦ書き出し処理フローチャート
【図５】生成サーバのフォント除去支援情報の書出処理フローチャート
【図６】配信サーバのフォント除去処理のフローチャート
【符号の説明】
【００４７】
１０１  管理用ＰＣ
１０２  ＰＤＦ生成サーバ
１０３  ＰＤＦ配信サーバ
１０４  クライアントＰＣ
１０５  複合機
２０１  ＰＤＦ内の文字列
２０２  ＰＤＦ内の文字列のアドレス範囲
２０３  ＰＤＦ内の埋め込みフォント字形データ
２０４  ＰＤＦ内の埋め込みフォント字形データのアドレス範囲
２０５  埋め込みフォント除去処理により変換されたＰＤＦ内の文字列
３０１  コンテンツ部
３０２  リソース部
３０３  エンコード部
３０４  アドレスマップ部
３０５  ＰＤＦ内の文字列
３０６  フォントのエンコード情報
３０７  エンコード部の開始アドレス
３０８  字形データ
【図１】
2008186165.tif 000003
【図２】
2008186165.tif 000004
【図３】
2008186165.tif 000005
【図４】
2008186165.tif 000006
【図５】
2008186165.tif 000007
【図６】
2008186165.tif 000008