JP6157210B2 - 文書変換装置、文書変換方法、及びプログラム - Google Patents

文書変換装置、文書変換方法、及びプログラム Download PDF

Info

Publication number
JP6157210B2
JP6157210B2 JP2013103204A JP2013103204A JP6157210B2 JP 6157210 B2 JP6157210 B2 JP 6157210B2 JP 2013103204 A JP2013103204 A JP 2013103204A JP 2013103204 A JP2013103204 A JP 2013103204A JP 6157210 B2 JP6157210 B2 JP 6157210B2
Authority
JP
Japan
Prior art keywords
document data
character font
font information
information
document
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013103204A
Other languages
English (en)
Other versions
JP2014225085A5 (ja
JP2014225085A (ja
Inventor
聡史 河原
聡史 河原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013103204A priority Critical patent/JP6157210B2/ja
Priority to US14/276,143 priority patent/US9619440B2/en
Publication of JP2014225085A publication Critical patent/JP2014225085A/ja
Publication of JP2014225085A5 publication Critical patent/JP2014225085A5/ja
Application granted granted Critical
Publication of JP6157210B2 publication Critical patent/JP6157210B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、電子文書データを構造化文書データへ変換する文書変換装置および文書変換方法に関する。
従来から、任意の電子文書データをPDF(Portable Document Format)に代表される構造化文書データに変換するシステムが存在する。例えば、クライアント端末から電子文書データをサーバー端末にアップロードし、サーバー端末にて構造化文書データに変換し、変換後の構造化文書データをクライアント端末(または指定された別のクライアント端末)に返信する(送信する)変換システムである。このような変換システムでは、ネットワークの負荷を軽減するため、変換後の構造化文書データのデータサイズを極力小さくすることが求められている。その一例として、構造化文書データを構成する文字フォント情報のうち、比較的データサイズが大きいグリフ情報(文字の字体を表す情報、単にグリフとも呼ぶ)を構造化文書データ内に含めないことが一般的に行われている。しかしながら、この方法で生成した構造化文書データは、クライアント端末とサーバー端末とに含まれる文字フォント情報との違いから構造化文書データを閲覧する時に構造化文書データ内の文字が意図した字体で表示されない場合がある。
変換した構造化文書データ内の文字を意図した字体で表示するために特許文献1が開示されている。特許文献1では、構造化文書データを生成する際に閲覧先の文字フォントの言語情報を取得し、その言語情報と、電子文書データ内に含まれる文字フォントの言語情報とを比較する。そして、双方の言語情報における言語の種類が一致した場合は、グリフをファイルに含めない構造化文書を生成し、言語の種類が一致しない場合は、グリフを文字フォント情報に含めた構造化文書データを生成する。これにより、閲覧環境に応じて、可読性とファイルサイズの抑制とを両立させた構造化文書を生成することができる。
特開2005−332088号公報
近年、クラウドサービスなどにより不特定多数の閲覧環境が存在するため、特許文献1のように電子文書データを構造化文書データに変換する際にそれぞれの閲覧先の閲覧環境の情報を取得し、比較することは現実的ではない。そのため、閲覧先の閲覧環境の情報を事前に取得することなく構造化文書データを生成することが望まれている。
また、閲覧のために構造化文書データには文字フォント情報が格納されており、生成される構造化文書データに格納される文字フォント情報は、変換元の電子文書データに格納されている文字フォント情報であることが望ましい。しかしながら、変換元の電子文書データに格納された文字フォント情報が、変換を行うサーバー端末において取得できない場合、変換元の電子文書データに格納されている文字フォント情報と異なる他の文字フォント情報が構造化文書データに格納されることになる。そのため、閲覧先の閲覧環境に変換元の電子文書データに格納されていた文字フォント情報があったとしても、生成された構造化文書データにはその文字フォント情報とは異なる文字フォント情報が格納されることになる。そのため、構造化文書データを閲覧した際に変換元の電子文書データの文字フォントとは異なる文字フォントで閲覧することになる。
そこで、本発明は、電子文書データを構造化文書データに変換する際、および変換した構造化文書を閲覧する際に、それぞれの装置に含まれる文字フォント情報によらずに構造化文書データに変換することができる装置を提供することを目的とする。
上記課題を解決するために、本発明の文書変換装置は、第1の文字フォント情報を含む、第1のファイルフォーマットで記述された第1の文書データを取得する取得手段と、前記取得された第1の文書データを、前記第1のファイルフォーマットと異なる第2のファイルフォーマットで記述される第2の文書データに変換する変換手段と、を有し、前記変換手段は、前記第1の文字フォント情報が前記文書変換装置の記憶手段に存在しない場合、前記第1の文字フォント情報を第2の文字フォント情報に代替するとともに、前記第1の文字フォント情報が前記第2の文字フォント情報に代替されたことを示す代替情報を前記第2の文書データに含めることによって、前記第1の文書データを前記第2の文書データに変換することを特徴とする
本発明によれば、電子文書データを構造化文書データに変換する際、および変換した構造化文書を閲覧する際に、それぞれの装置に含まれる文字フォント情報によらずに構造化文書データに変換することができる装置を提供することができる。
本発明の一実施形態に係るシステム全体の概要図である。 本発明の一実施形態にかかる構成の概要図である。 本発明の一実施形態に係る処理全体を説明するフローチャートである。 Webブラウザの表示画面の一例を示す図である。 印刷制御装置の代表的な機能ブロック図である。 変換処理の一連の流れを示すフローチャートである。 文字フォント情報に含まれる情報を表す模式図である。 構造化文書データ変換処理の一連の流れを示すフローチャートである。 構造化文書データ内に格納する制御プログラムに基づく構造化文書を表示する際の一連の流れを示すフローチャートである 本発明の第1実施形態に係る構造化文書データに含まれる情報の模式図である。 本発明の第2実施形態に係る構造化文書データに含まれる情報の模式図である。
以下、本発明を実施するための形態について図面等を参照して説明する。
(第1実施形態)
まず、本発明の一実施形態に係るシステム全体の構成を説明する。図1は、本発明の一実施形態に係るシステム全体の概要図である。本実施形態では、クライアント端末およびサーバー端末ともに1台ずつ採用する場合を示すが、それぞれの台数は1台に限定することなく、複数台であってもよい。クライアント端末100は、パーソナルコンピュータ等の情報処理装置であって、Webブラウザ101と、画像表示部102と、データ入出力部103と、構造化文書処理部104とを含む。また、サーバー端末110は、少なくともHTTP及びFTPをサポートするWebサーバーであり、クライアント端末100と同様に、パーソナルコンピュータ等の情報処理装置である。サーバー端末110は、ネットワーク通信制御部111、データ格納部112、ファイル変換管理部113、ファイル変換部114を含む。
Webブラウザ101は、サーバー端末110から受信したHTML文書を表示することができる。また、表示したHTML文書データに、画面上でデータを入力するプログラムが含まれている場合、ユーザは、データを入力する欄への入力をすることができる。さらに、ユーザが入力したデータをサーバー端末110に送信するプログラムを含んでもよく、そのプログラムに従ってユーザが操作を行う場合、入力したデータがサーバー端末110に送信される。なお、これらのプログラムは、例えば、一般に入手可能なWebブラウザによりサポートされている。また、Webブラウザ101は、データ入出力部103を介してサーバー端末110から受信したHTML文書を、画像表示部103を介してディスプレイ120で表示させる。ここで、データ入出力部103は、ネットワーク130を介してサーバー端末110と通信し、データ等を交換する。ネットワーク130の形態としては、電話回線、LAN、インターネットあるいは無線等のWeb環境の通信手順に対応するものであれば、その種類は問わない。
構造化文書処理部104は、構造化文書データを解析し、画像表示部103を介してディスプレイ120に表示させる。なお、サーバー端末110から受信したHTML文書が、構造化文書データであった場合は、Webブラウザ101でなく、構造化文書処理部104を介してディスプレイ120に表示する機能を有する。
サーバー端末110は、Webブラウザ101からデータを受信したり、変換指示を受信する。受信した変換指示に応じて、例えば、電子文書データ(第1の文書データ)を構造化文書データ(第2の文書データ)へ変換し、変換後の構造化文書データをWebブラウザ101へ返信する。もしくは、指定された不図示他のクライアントに送信する。この時、HTML文書に、Webブラウザ101からユーザがボタンによる入力し、その結果をサーバー端末110に送信するようプログラムしておく。そのプログラムに従って、Webブラウザ101は、ボタンを表示し、ユーザがWebブラウザ101のボタンを押す等の操作をした時に、サーバー端末110へデータを送信したり、変換指示の送信する。サーバー端末110では、クライアント端末100に送信したHTML文書に基づいて受信データを解析し、必要があればWebブラウザ101へ応答する。
ネットワーク通信制御部111は、サーバー端末110がWebサーバーとして機能するために、クライアント端末100へデータを送信、あるいはクライアント100からデータを受信する処理を行う。データ格納部112は、データベース等であり、変換対象の電子文書データや変換後の構造化文書データが格納される。本実施形態では、この変換対象の電子文書データは、Webブラウザ101を介してクライアント端末100からアップロードされたものとする。しかしながら、これに限定することなく、変換対象の電子文書データは、予め格納されていてもよい。ファイル変換管理部113では、クライアント端末100から変換対象として指定された電子文書データを、サーバー端末110上で変換できるアプリケーションがあるかどうかの判定を行う。そして、変換できるアプリケーションがあれば、ファイル変換部114へ変換指示を行う。ファイル変換部114は、変換対象の電子文書データを構造化文書データに変換する。ファイル変換部114は、後述の図5に示すように、アプリケーション501、グラフィックエンジン502、プリンタドライバ503を含む。
次に、図2を参照して、クライアント端末100およびサーバー端末110として使用可能な情報処理装置の構成を示すハードウェアの構成について説明する。図1におけるクライアント端末100およびサーバー端末110の処理は、メモリ100bに格納されたプログラムを、CPU100aにより実行することで実現される。図1の処理を実現するためのプログラムは、ハードディスク等の外部メモリ100cに格納される。外部メモリ100cは、フロッピディスクやCDROM等の取り外し可能な記憶媒体を用いるものであっても良い。また、データ格納部112は、外部メモリ100cの一部領域として実現することができる。ディスプレイ120(クライアント端末100の場合)には、画像が表示され、I/Oインターフェース100dを介してネットワーク130に接続される。また、キーボードやポインティングデバイスなどの入力装置100eにより、ユーザは、必要な入力を行う。
次に、図3のフローチャートおよび図4を参照してファイル変換システムの処理について説明する。まず、ステップS301で、クライアント端末100上でWebブラウザ101を起動する。この時のWebブラウザは、一般的に用いられているWebブラウザでよい。ここで、図4は、Webブラウザ101に表示されたファイル変換処理に係るHTML文書の一例である。図4において、ウインドウ400は、ディスプレイ120に表示されるWebブラウザ101のウインドウである。タイトルエリア401には表示されるHTML文書に付されたタイトルが表示される。エリア402およびエリア403にはWebブラウザ101に表示されている内容を印刷するなどのコマンドがツールバーやボタン等の形式で表示されている。エリア404は、接続するWebサーバーのアドレスや文書のURLなどを入出力するURLフィールドである。HTML文書はここで入力されるURLにより指定される。Webブラウザ101が起動されると、タイトルエリア401〜URLフィールド404迄が表示され、その他の欄(エリア)は予めブラウザに設定されたURLで指定される文書が表示される。
次に、ステップS302で、ユーザがキーボード等の入力装置100eによってファイル変換処理を実行するためのWebページのURLを打ち込む。URLが打ち込まれると、ファイルパス入力欄405と、参照ボタン406と、配信先選択欄407と、変換ボタン408とを含むHTML文書がサーバーから読み出されてウインドウ400に表示される。ファイルパス入力欄405は、ユーザが変換対象として指定する電子文書データのファイルパス(クライアント端末100上の格納場所)を入力するためのフィールドであり、ユーザは、入力装置100eによって、ファイルパスを入力することができる。また、参照ボタン406は、ユーザが変換対象の電子文書データを選択しやすいようにするボタンであり、ユーザが参照ボタン406を押下すると、不図示のダイアログが表示され、クライアント端末100内の電子文書データの一覧が表示される。この中から、ユーザが入力装置100eによって、変換対象とする電子文書データを指定するために、該当のファイルパスをファイルパス入力欄405に入力する。配信先選択欄407は、変換後の構造化文書データの配信先の候補リストを表示するとともに、ユーザは、入力装置100e使用し、配信先として指定する(複数の指定が可能である)。本実施形態において、この配信先の候補リストは予めユーザ毎に紐づけられているものとし、候補リストはメールアドレスとする。また、このHTML文書には、ファイル変換処理を開始させるための変換ボタン408が含まれている。
次に、ステップS303で、ユーザが入力装置100eを使用して、ファイルパス入力欄405に、変換対象の電子文書データのファイルパスを入力し、配信先選択欄407で配信先を決定し、変換ボタン408を押下する。ここで、本実施形態では、サーバー端末110から送信されたHTML文書には、予め、変換ボタン408が押されると後述のステップS304〜ステップS307の処理を行うようにプログラムしておく。
まず、変換ボタン408が押下されると、ステップS304で、Webブラウザ101は、ネットワーク制御部111を介して、変換対象として指定された電子文書データをサーバー端末110にアップロードする。さらに、併せて、選択された配信先リストの情報をサーバー端末110に通知する。
次に、ステップS305で、ファイル変換管理部113は、アップロードされた電子文書データを変換するアプリケーションに対して、電子文書データの変換命令を出す。電子文書データを変換するアプリケーションの特定は、通常、装置に含まれる基本ソフト(オペレーティングシステム、以下、OS)に備わっている機能を利用する。
次に、ステップS306で、ファイル変換管理部113からの変換命令を受けたファイル変換部114は、電子文書データを構造化文書データに変換する処理を行う。変換された構造化文書データはデータ格納部112に格納され、その格納先はURLによって一意に特定される。この変換処理に詳細については図6を用いて後述する。
次に、ステップS307で、サーバー端末110は、変換した構造化文書データを、ネットワーク制御部111を介して、クライアント端末100へ送信する。本実施形態では、説明を簡単にするために変換後の構造化文書データをクライアント端末100に送信する。なお、実際には作成されたデータそのものをクライアント端末100に送信せず、作成された構造化文書データのURLをクライアント端末100に送れば、サーバー端末110から送信されるデータ量を抑えられる。また、指定された配信先リストのメールアドレスに対しては、ファイル変換管理部113は、ネットワーク通信制御部111を介して、構造化文書データのURLをメールで送信する。
次に、ステップS308で、クライアント端末100は、サーバー端末110から受信した構造化文書データを、構造化文書処理部104で解析し、画像表示部102を介してディスプレイ120上に表示する。これにより、ユーザは、Webブラウザ101を用いて、構造化文書データをクライアント端末100上にダウンロードすることができる。なお、構造化文書データは構造化文書データのURLからも取得できる。
次に、ステップS306の詳細について説明する。本実施形態における構造化文書データへの変換方法(文書変換方法)として、プリンタドライバを介して印刷するために、アプリケーションを制御し構造化文書データを得る、という方法を用いる。変換の手段として、予めサーバー端末110のOSに備わっている印刷機能を利用して変換する。図5は、ファイル変換部114をより詳細化した概略図である。
サーバー端末110では、ワードプロセッサや表計算などのアプリケーションソフトウェア(以下、アプリケーション)501がOS上で動作する。アプリケーション501で印刷を行う場合、アプリケーション501のプログラム内から、OSが提供するいくつかのサブシステムのうち、グラフィックエンジン502の機能を用いて行う。
グラフィックエンジン502は、例えば、ディスプレイやプリンタに対する画像情報の処理を行う。グラフィックエンジン502は、ディスプレイやプリンタといった各デバイスの依存性を吸収するためにデバイスドライバと呼ばれるモジュールを動的にリンクし、それぞれのデバイスに対する出力処理を行う。このモジュールをプリンタドライバ503とする。
プリンタドライバ503では、その能力や機能などに応じてあらかじめデバイスドライバに実装することが決められているDDI(Device Driver Interface)と呼ばれる関数群を用意する必要がある。アプリケーション501のAPI(Application Programming Interface)コールをグラフィックエンジン502がデバイスドライバ用にデータ変換を行う。そして、このDDI関数群が適宜グラフィックエンジン502からコールされ所定の印刷処理が実行されるような仕組みになっている。グラフィックエンジン502では、このようにプリンタドライバ503を介してアプリケーション501からの印刷要求をシーケンシャルに処理している。
プリンタドライバ503はその使用用途によりプリンタ出力系とファイル出力系に大別できる。プリンタ出力系とは、システムからDDI関数を介して送られる描画命令を、PDL(Printer Description Language)とよばれる中間フォーマットに変換するものである。プリンタ出力系の中間フォーマット(PDL)は、印刷装置にPDLの制御コマンドを処理可能なコントローラを搭載するものであり、この場合、印刷装置のプリンタ機器で印刷を行う。
一方、ファイル出力系では、印刷装置にデータを送ることが直接的な目的ではなく、DDI関数を介して送られる描画命令を予め定義された構造化文書データ形式に変換し、ホストコンピュータのディスクシステム上に構造化文書データとして蓄積するものである。一般的な構造化文書データのフォーマットとしてPDF(Portable Document Format)やSVG(Scalable Vector Graphics)等が存在する。構造化文書データは、ホストコンピュータ上のファイルシステム上に保存される。
前述のDDI関数には、印刷の開始を宣言する「ジョブ開始要求」、ページの開始を宣言する「ページ開始要求」、ページ内にプログラムされた文字、図形等のオブジェクトの描画を表す「論理描画要求」、ページの終了を宣言する「ページ終了要求」が含まれる。複数ページを印刷する場合、ページの数だけ「ページ開始要求」、「ページ終了要求」が出され、ページ内に含まれるオブジェクトの数だけ「論理描画要求」が出される。プリンタドライバ503は各要求に対して、PDL,PDF等の中間フォーマット形式に沿ったコマンドを生成する。本実施例においては、この「ファイル出力系としてのプリンタドライバ」を用いて電子文書データを構造化文書データに変換する。
図6は、ファイル変換部114内部で動作する、アプリケーション501、グラフィックエンジン502、プリンタドライバ503で行う処理の流れを説明するための図である。ステップS600で、ファイル変換部114は、ファイル変換管理部113からファイル変換命令を受ける。ファイル変換命令を受けたファイル変換部114では、アプリケーション501が、グラフィックエンジン502を介してプリンタドライバ503に、対象の電子文書データを構造化文書データへ変換する要求を出すことによってファイル変換を開始する。
次に、ステップS601で、アプリケーション501は、変換要求を出して、変換のジョブが開始することを、GDI関数を介してグラフィックエンジン502に通知する。グラフィックエンジン502は、通知されたGDI関数をDDI関数に変換してプリンタドライバ503へ引き渡す。
次に、ステップS603で、プリンタドライバ503は、ジョブ開始コマンドを生成する(ステップS602)。アプリケーション501は、ページが開始することを、GDI関数を介してグラフィックエンジン502に通知する。グラフィックエンジン502は通知されたGDI関数をDDI関数に変換してプリンタドライバ503へ引き渡す。
ステップS604で、プリンタドライバ503は、ページ開始コマンドを生成する。ステップS605で、アプリケーション501は、論理描画要求を、GDI関数を介してグラフィックエンジン502に通知し、グラフィックエンジン502は、通知されたGDI関数をDDI関数に変換してプリンタドライバ503へ引き渡す。次に、ステップS606で、プリンタドライバ503は、論理描画コマンドを生成する。論理描画コマンドの内、文字描画コマンドの生成についての詳細は図8を用いて後述する。
次に、ステップS607で、アプリケーション501からの要求がページ終了要求か論理描画要求かどうかを判定する。アプリケーション501からの要求がページ終了要求である場合(YES)、アプリケーション501はページが終了することを、GDI関数を介してグラフィックエンジン502に通知する。グラフィックエンジン502は、通知されたGDI関数をDDI関数に変換してプリンタドライバ503へ引き渡し、ステップS608へ移行する。そして、ステップS608で、プリンタドライバ503は、ページ終了コマンドを生成する。一方、アプリケーション501からの要求が論理描画要求である場合(NO)、ステップS605へ戻る。
次に、ステップS609で、アプリケーション501からの要求がジョブ終了要求かページ開始要求かを判定する。アプリケーション501からの要求がジョブ終了要求である場合(YES)、アプリケーション501は、ジョブが終了することを、GDI関数を介してグラフィックエンジン502に通知する。そして、グラフィックエンジン502は、通知されたGDI関数をDDI関数に変換してプリンタドライバ503へ引き渡し、ステップS610へ移行する。ステップS610で、プリンタドライバ503は、ジョブ終了コマンドを生成する。一方、アプリケーション501からの要求がページ開始要求である場合(NO)、ステップS603へ戻る。
次に、一般的な文字の描画(表示)方法について説明する。図7は、文字フォント情報に含まれる一般的な情報を示す模式図である。フォントフェース名701は、ゴシックなどのユーザがフォントの種類を識別するために必要な情報である。各種テーブル702は、文字フォントの文字幅の情報や文字コード、ならびに各文字フォントの形状とのマッピング情報などの情報である。フォント形状情報703は、文字の描画形状を示す情報であり、その中に文字毎の描画形状情報(以下グリフと呼ぶ)を有する。
文字フォント情報の形式としては、ビットマップフォントとアウトラインフォントに分かれ、TrueType、OpenTypeなどの各種フォーマットが定義される。一般的には、アプリケーション501は、フォントフェース名、文字コード、および描画属性などを指定することで、所望の文字描画を実現する。ここで、文字コードは、ASCII、ShiftJIS、Unicodeなどの予め定義されたコード体系であり、描画属性は、文字の大きさや描画位置、色などの情報である。
文字を描画する際に、構造化文書データ内の文字描画コマンドを使用する。本実施形態において、文字コード、描画属性、フォントフェース名、各種テーブル、を用いた文字描画コマンドが構造化文書データ内に含まれる。そして、グリフについては文字描画を実行する際に、文字描画コマンドに含まれるフォントフェース名を基に、クライアント端末100のOSが保持している該フォントフェース名のグリフを参照し、文字を描画するものとする。
次に、図8〜10を参照して、構造化文書データ内の描画コマンドの生成方法(ステップS606の詳細)および生成した描画コマンドに基づいて構造化文書データを表示させる方法(ステップS308の詳細)について説明する。
まず、図10は、構造化文書データに含まれる情報の内、描画コマンドに関する模式図である。図10において、「Obj1」(10−1)は、ヒント情報(詳細は後述)を示し、本実施形態では、変換後の構造化文書データ内では「FontB」だが、変換元の電子文書データ内での文字フォントは、「FontA」であったことを示す。
「Obj3」(10−3)は、構造化文書データ内で使用する文字フォントの情報であり、「/Name」は構造化文書内で一意に用いられるフォント名を指す。また、「/BaseFont」は、フォントフェース名を示し、「〜Font情報〜」は、文字フォントの各種テーブルを示す。
「Obj2」(10−2)は、構造化文書データにおけるページのリソース、および描画コマンドを示すものである。リソースとしては、Resource Fontである「Obj3」、Alternative Contentsである「Obj4」、を指し、それぞれのObjを参照することを示している。また、描画コマンドは「/Contents」内に含まれる。本実施形態では、「BT」とはテキスト文字出力開始を意味し、「FB」(即ちObj3)のフォントを使用し、「48」ポイントの大きさ(描画属性)で、ABC(文字コード)である文字を出力する、ということを示している。そして「ET」は、テキスト文字出力終了を意味する。
「Obj4」(10−4)は、代替ファイルを格納したものであり、「Obj2」に記載の「/Contents」の内容を無視する場合、「Obj4」に格納されている文字画像を出力する。
「Obj5」は、制御プログラム(表示コマンド)であり、構造化文書データをクライアント端末100が閲覧(表示)する際に、クライアント端末100の閲覧アプリケーションによって実行される。この制御プログラムのプログラミング言語として、例えば、JavaScript(登録商標)などを用いてよい。また、この制御プログラムには上記「/Contents」の内容を無視するか否かの制御情報も含まれている。詳細については、図9を用いて後述する。
次に、図8を参照して文字描画コマンドの生成方法について説明する。まず、ステップS801で、アプリケーション501は、ステップS600で、文字描画要求として、変換元の電子文書データにおける文字コード、描画属性、フォントフェース名、各種テーブルを、GDI関数を介してグラフィックエンジン502に通知する。そして、ステップS601でグラフィックエンジン502は、通知されたGDI関数をDDI関数に変換してプリンタドライバ503へ引き渡す。
次に、ステップS802で、プリンタドライバ503は、受け取ったフォントフェース名がサーバー端末110内の(複数の)文字フォント情報に存在するかどうかを判定する(判定手段)。このとき、サーバー端末110のOSに予め備わっている機能(例えば、EnumFontsと呼ばれる関数を利用することで実現可能)を使用して判定する。該フォントフェース名がサーバー端末110内に存在する場合(YES)、ステップS803へ移行する。ステップS803で、プリンタドライバ503は、サーバー端末110に存在する、ステップS801で通知されたフォントフェース名の文字フォント情報(第1の文字フォント情報)を読み込む。このとき、OSに予め備わっている機能(例えば、GetFontDateと呼ばれる関数)を利用することで実現可能である。
一方、該フォントフェース名がサーバー端末110内に存在しない場合(NO)、ステップS804へ移行する。ステップS804で、プリンタドライバ503は、クライアント端末100にある他の文字フォント情報の中から代替する文字フォント情報(代替情報:第2の文字フォント情報)を選ぶ(例えば、GetFontDataと呼ばれる関数で選ぶ)。そして、プリンタドライバ503は、選んだ代替フォント情報を読み込む。
次に、ステップS805で、プリンタドライバ503は、ステップS801で通知されたフォントフェース名と、ステップS804で選択した代替フォント情報とを紐づけるヒント情報を構造化文書データ内に格納する。これにより、通知された文字フォント情報が、代替フォント情報に代替されることを示す。具体的には、前述の図10の「Obj1」の情報を構造化文書データ内に格納する。
次に、ステップS806で、プリンタドライバ503は、文字フォント情報を用いて構造化文書データのフォーマットに沿った文字描画コマンドを生成する(描画コマンド生成手段)。このときの文字フォント情報は、ステップS803で読み込んだ文字フォント情報またはステップS804で読み込んだ代替フォント情報であり、文字コード、描画属性、フォントフェース名、各種テーブルなどのであってよい。また、生成した文字描画コマンドは、構造化文書データ内に格納する。具体的には、前述の図10の「Obj2」および「Obj3」の情報を構造化文書データ内に格納する。
次に、ステップS807で、プリンタドライバ503は、文字コード、描画属性、フォントフェース名、各種テーブルからグリフを取得し、レンダリングを行い、文字画像データを生成(画像生成手段)し、データ格納部112に格納する。格納する文字画像データの形式としては、PNGやJPEGなどの一般に使用される画像形式であってよい。
次に、ステップS808で、プリンタドライバ503は、ステップS807で格納した画像の格納先(例えば、URLなどのリンク情報)を、構造化文書データ内に代替ファイルとして格納する。具体的には、前述の図10の「Obj4」および「Obj2」のAlternative Contentsに該当する情報を構造化文書データ内に格納する。
次に、ステップS809で、プリンタドライバ503は、制御プログラム(表示コマンド)を構造化文書データ内に格納する(表示コマンド格納手段)。具体的には、前述の図10の「Obj5」の情報を構造化文書データ内に格納する。制御プログラムとは、構造化文書データを閲覧する際の閲覧環境において閲覧アプリケーションが実行するものであり、後述の図9で具体的に説明する。ここで、閲覧アプリケーションとは、電子文書などを閲覧するために、閲覧する端末(不図示)に予め備わっているアプリケーションであってよい。また、構造化文書データ内に格納する文字フォント情報は、グリフ(描画形状情報)を除く文字フォントに関する情報である。
次に、図9を参照して、構造化文書データの制御プログラムに基づいて構造化文書を閲覧端末で閲覧する際の、表示方法について説明する。閲覧処理は、図3におけるステップS308の処理の詳細であり、ステップS901からS909の処理はすべてクライアント端末100、構造化文書処理部104内で行われるものである。また、制御プログラム10−5内には、S901からS909の処理を実行するためのプログラムが含まれている。なお、ここでは、クライアント端末100内の処理として説明するが、ステップS307において、構造化文書データのURLをメールで送信した場合、メールを受け取った端末においても同様の処理を行うものとする。
まず、ステップS901で、構造化文書データ内のヒント情報(図10における「Obj1」)を取得する。次に、ステップS902で構造化文書データ内の「Obj1」にヒント情報があるか否かを判定する(ヒント情報判定手段)。ここで、ヒント情報の有無の判定は、図10の構造化文書データ内の、「\Type Hint」の記載が含まれているか否かで行う。
ヒント情報がある場合(YES)は、ステップS903に移行し、「Obj1」内の変換元の電子文書データの文字フォントのフォントフェース名(図10における「FontA」)が閲覧する端末の文字フォント情報の中にある否かを判定する。判定の際は、閲覧する端末のOSに備わっている機能を使用する(例えば、EnumFontsと呼ばれる関数を利用することで実現可能)。
閲覧する端末の文字フォント情報の中に該フォントフェース名が存在する場合(YES)は、ステップS904に移行し、該フォントフェース名に対応する文字フォント情報を読み込む(文字フォント情報取得手段)。
次に、ステップS905で、構造化文書データ内の文字フォント情報を、該当する文字フォント情報に置き換える。具体的には、図10の「Obj3」で「FontB」であった「BaseFont」を元々の文字フォントである「FontA」に書き換える。さらに、「〜Font情報〜」に格納されている「FontB」の各種テーブルを閲覧する端末から取得した「FontA」の各種テーブルに書き換える。
次に、ステップS906で、閲覧する端末における文字フォント情報から該文字フォントのグリフを取得し、ディスプレイなどの表示装置(不図示)に表示する(文書データ表示手段)。
一方、ステップS902で、ヒント情報が無い場合(NO)、またはステップS903で閲覧する端末の文字フォント情報の中に該フォントフェース名が存在しない場合(NO)、ステップS907に移行する。ステップS907で、構造化文書データ内に格納された代替フォント(図10の「FontB」)が閲覧する端末の文字フォント情報の中に存在するか否かを閲覧する端末のOSに備わっている機能を使用して判定する(文字フォント情報判定手段)。
該代替フォントが存在する場合(YES)は、ステップS908に移行し、該代替フォントの文字フォント情報を読み込む。そして、ステップS906で閲覧する端末における文字フォント情報から該文字フォントのグリフを取得し、ディスプレイなどの表示装置(不図示)に表示する。
該代替フォントが存在しない場合(NO)は、ステップS909に移行する。ステップS909で、代替フォントの文字画像データを文字画像データのURL(格納先情報)から取得する(文字画像取得手段)。具体的には、図10の「Obj4」の「Alternative」に記述されたURL先から文字画像データをダウンロードする。そして、ステップS906で、ディスプレイなどの表示装置(不図示)に表示する。
以上により、閲覧する際の端末における文字フォント情報を、構造化文書データ生成時に把握することができない場合においても、可読性とファイルサイズの抑制とを両立させた構造化文書データを生成することができる。また、構造化文書データを生成する端末において変換元の電子文書データ内で使用している文字フォントが存在しない場合でも、閲覧する端末において該文字フォントが存在すれば、該文字フォントで閲覧可能な構造化文書データを生成することができる。また、本実施形態では、電子文書データを構造化文書データに変換する際は、クライアント端末100に含まれる機能で説明したが、例えば、文書変換装置として、クライアント端末100と異なる装置で変換してもよい。
(第2実施形態)
第1実施形態では、ステップS809において制御プログラムを構造化文書データ内に格納したが、第2の実施例においては、この制御プログラムを格納しない。つまり、サーバー110が生成する構造化文書データは、図11に示すように図10と比較して制御プログラムに該当する「Obj5」がないものとなる。「Obj5」がない代わりに、構造化文書を閲覧する端末(例えば、本実施形態では、クライアント端末100)における構造化文書処理部104に、図9を参照して説明した制御プログラムが含まれるものとする。すなわち、構造化文書処理部104は、ステップS906で、構造化文書を表示する際、図11に示す構造化文書データを解析し、図9で示した表示方法で構造化文書を表示する。また、その他の構成は、第1実施形態と同様である。
以上により、第1実施形態と同様に、閲覧する際の端末における文字フォント情報を、構造化文書データ生成時に把握することができない場合においても、可読性とファイルサイズの抑制とを両立させた構造化文書データを生成することができる。また、構造化文書データを生成する端末において変換元の電子文書データ内で使用している文字フォントが存在しない場合でも、閲覧する端末において該文字フォントが存在すれば、該文字フォントで閲覧可能な構造化文書データを生成することができる。
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。

Claims (9)

  1. 第1の文字フォント情報を含む、第1のファイルフォーマットで記述された第1の文書データを取得する取得手段と、
    前記取得された第1の文書データを、前記第1のファイルフォーマットと異なる第2のファイルフォーマットで記述される第2の文書データに変換する変換手段と、
    を有し、
    前記変換手段は、前記第1の文字フォント情報が前記文書変換装置の記憶手段に存在しない場合、前記第1の文字フォント情報を第2の文字フォント情報に代替するとともに、前記第1の文字フォント情報が前記第2の文字フォント情報に代替されたことを示す代替情報を前記第2の文書データに含めることによって、前記第1の文書データを前記第2の文書データに変換する
    ことを特徴とする文書変換装置。
  2. 記変換手段は、前記第1の文字フォント情報が前記文書変換装置の記憶手段に存在する場合、前記第1の文字フォント情報を用いて、前記第1の文書データを前記第2の文書データに変換する
    ことを特徴とする請求項1に記載の文書変換装置。
  3. 前記変換された第2の文書データを表示装置で表示させるための表示コマンドを生成する手段
    をさらに有し、
    前記変換手段は、さらに、前記生成された表示コマンドを前記第2の文書データに格納する
    ことを特徴とする請求項1または2に記載の文書変換装置。
  4. 前記表示コマンドは前記第2の文書データを表示する前記表示装置に、
    前記表示装置に記憶されている複数の文字フォント情報に前記第1の文字フォント情報が含まれるかを判定させる工程と、
    前記表示装置に記憶されている複数の文字フォント情報に前記第1の文字フォント情報が存在すると判定された場合に、前記第1の文字フォント情報を用いて、前記第2の文書データを表示させ、前記表示装置に記憶されている複数の文字フォント情報に前記第1の文字フォント情報が存在しないと判定された場合に、前記第2の文字フォント情報を用いて、前記第2の文書データを表示させる工程と、
    を実行させるためのコマンドである
    ことを特徴とする請求項3に記載の文書変換装置。
  5. 前記表示コマンドは前記第2の文書データを表示する前記表示装置に、
    前記代替情報が前記第2の文書データに格納されているか判定させる工程と、
    前記代替情報が前記第2の文書データに格納されていると判定され、かつ前記表示装置に記憶されている複数の文字フォント情報に前記第1の文字フォント情報が存在すると判定された場合に、前記第1の文字フォント情報を用いて、前記第2の文書データを表示させる工程と、
    を実行させる
    ことを特徴とする請求項4に記載の文書変換装置。
  6. 前記第2の文字フォント情報から文字画像データを生成する手段と、
    前記生成された文字画像データを、前記変換された第2の文書データとは異なる場所に格納し、該格納先を示す格納先情報を生成する手段と、
    をさらに有し、
    前記変換手段は、さらに、前記格納先情報を、前記第2の文書データに格納する
    ことを特徴とする請求項1乃至5の何れか1項に記載の文書変換装置。
  7. 前記第2の文字フォント情報は、文字フォントの幅を示す文字幅情報を含む
    ことを特徴とする請求項1乃至の何れか1項に記載の文書変換装置。
  8. コンピュータを、請求項1乃至7の何れか1項に記載の文書変換装置の各手段として機能させるためのコンピュータプログラム。
  9. 文書変換装置により実行される文書変換方法であって、
    第1の文字フォント情報を含む、第1のファイルフォーマットで記述された第1の文書データを取得する取得ステップと、
    前記取得された第1の文書データを、前記第1のファイルフォーマットと異なる第2のファイルフォーマットで記述される第2の文書データに変換する変換ステップと、
    を有し、
    前記変換ステップでは、前記第1の文字フォント情報が前記文書変換装置の記憶手段に存在しない場合、前記第1の文字フォント情報を第2の文字フォント情報に代替するとともに、前記第1の文字フォント情報が前記第2の文字フォント情報に代替されたことを示す代替情報を前記第2の文書データに含めることによって、前記第1の文書データを前記第2の文書データに変換する
    ことを特徴とする文書変換方法。
JP2013103204A 2013-05-15 2013-05-15 文書変換装置、文書変換方法、及びプログラム Expired - Fee Related JP6157210B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013103204A JP6157210B2 (ja) 2013-05-15 2013-05-15 文書変換装置、文書変換方法、及びプログラム
US14/276,143 US9619440B2 (en) 2013-05-15 2014-05-13 Document conversion apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013103204A JP6157210B2 (ja) 2013-05-15 2013-05-15 文書変換装置、文書変換方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2014225085A JP2014225085A (ja) 2014-12-04
JP2014225085A5 JP2014225085A5 (ja) 2016-06-30
JP6157210B2 true JP6157210B2 (ja) 2017-07-05

Family

ID=51896825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013103204A Expired - Fee Related JP6157210B2 (ja) 2013-05-15 2013-05-15 文書変換装置、文書変換方法、及びプログラム

Country Status (2)

Country Link
US (1) US9619440B2 (ja)
JP (1) JP6157210B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483694B2 (en) * 2014-01-26 2016-11-01 Sang Hun Kim Image text search and retrieval system
WO2016010546A1 (en) * 2014-07-18 2016-01-21 Hewlett-Packard Development Company, L.P. Creation of uniform resource identifiers including a scheme name associated with a print application
US10803229B2 (en) * 2015-07-16 2020-10-13 Thinxtream Technologies Pte. Ltd. Hybrid system and method for data and file conversion across computing devices and platforms
JP2018185380A (ja) * 2017-04-25 2018-11-22 セイコーエプソン株式会社 電子機器、プログラム及び電子機器の制御方法
JP2019057152A (ja) * 2017-09-21 2019-04-11 共同印刷株式会社 情報処理方法、情報処理装置及びデータ構造
US11182538B2 (en) 2018-08-01 2021-11-23 Microsoft Technology Licensing, Llc Conversational user interface logic for cross-application ingestion and restructuring of content
US11295073B2 (en) 2018-08-01 2022-04-05 Microsoft Technology Licensing, Llc Cross-application ingestion and restructuring of spreadsheet content
US11113447B2 (en) 2018-08-01 2021-09-07 Microsoft Technology Licensing, Llc Cross-application ingestion and restructuring of slide presentation content
US11681760B2 (en) 2018-08-01 2023-06-20 Microsoft Technology Licensing, Llc Cross-application ingestion and restructuring of content
US11790170B2 (en) * 2019-01-10 2023-10-17 Chevron U.S.A. Inc. Converting unstructured technical reports to structured technical reports using machine learning

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096764A (ja) * 1995-06-21 1997-01-10 Ricoh Co Ltd 文書処理装置
US7999950B1 (en) * 1998-11-12 2011-08-16 International Business Machines Corporation Method and apparatus for providing backup font support for missing device glyphs
US6480291B1 (en) * 1999-05-03 2002-11-12 Apple Computer, Inc. Font management system that provides for synchronization of fonts among resources
JP2002183018A (ja) * 2000-12-18 2002-06-28 Fuji Xerox Co Ltd コンテンツ配信システム
JP2003186794A (ja) * 2001-12-13 2003-07-04 Fujitsu Ltd 情報提供プログラム,情報提供プログラムを記録したコンピュータ読取可能な記録媒体及び情報提供装置
JP2003308188A (ja) * 2002-04-17 2003-10-31 Canon Inc 印刷制御装置、印刷制御方法、プログラム、及び記憶媒体
JP4537040B2 (ja) * 2003-11-19 2010-09-01 キヤノン株式会社 文書処理装置および文書処理方法
US20050240393A1 (en) * 2004-04-26 2005-10-27 Glosson John F Method, system, and software for embedding metadata objects concomitantly wit linguistic content
JP2005332088A (ja) 2004-05-18 2005-12-02 Canon Inc 文書生成装置およびファイル変換システム
JP2006163862A (ja) * 2004-12-08 2006-06-22 Canon Inc 文字埋め込みテキスト編集方法及び装置ならびにそれらを記憶する記憶媒体
JP2006221337A (ja) * 2005-02-09 2006-08-24 Epson Avasys Corp 電子文書提供サーバ、電子文書提供システム、および電子文書提供方法
US20080079730A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Character-level font linking
GB0620238D0 (en) * 2006-10-12 2006-11-22 Ibm A method and apparatus for converting a text-based email message to an email message comprising image-based fonts
US20080304113A1 (en) * 2007-06-06 2008-12-11 Xerox Corporation Space font: using glyphless font for searchable text documents
US8856647B2 (en) * 2009-02-20 2014-10-07 Microsoft Corporation Font handling for viewing documents on the web
US8769050B2 (en) * 2009-10-16 2014-07-01 Celartern, Inc. Serving font files in varying formats based on user agent type
US8769405B2 (en) * 2009-10-16 2014-07-01 Celartem, Inc. Reduced glyph font files
JP5490757B2 (ja) * 2011-07-26 2014-05-14 京セラドキュメントソリューションズ株式会社 プリンタドライバ及びこれを用いた印刷方法
US20130325795A1 (en) * 2012-05-31 2013-12-05 Google Inc. Systems and Methods for Dynamically Loading Web Fonts and Dynamic Availability for Fonts Based on Language Settings
JP5969860B2 (ja) 2012-08-24 2016-08-17 キヤノン株式会社 文書管理装置、その制御方法及びプログラム
US9471550B2 (en) * 2012-10-16 2016-10-18 Linkedin Corporation Method and apparatus for document conversion with font metrics adjustment for format compatibility

Also Published As

Publication number Publication date
US20140344669A1 (en) 2014-11-20
US9619440B2 (en) 2017-04-11
JP2014225085A (ja) 2014-12-04

Similar Documents

Publication Publication Date Title
JP6157210B2 (ja) 文書変換装置、文書変換方法、及びプログラム
JP5801545B2 (ja) 情報処理装置、その情報処理方法及びプログラム
US9330349B2 (en) Systems and methods for providing variable data printing (VDP) using dynamic font downgrading
JP5901704B2 (ja) 情報処理装置、情報処理方法、プログラム
US10481776B2 (en) Server apparatus, client apparatus, information processing method, and storage medium
TWI448909B (zh) 具有圖形影像之字形檔案
KR101376905B1 (ko) 화상 처리 장치, 화상 처리 방법 및 기억 매체
JP2016522464A (ja) 印刷可能文書ビューア最適化のためのシステムおよび方法
US9575702B2 (en) Information processing apparatus, information processing method, and storage medium storing program having a layered structure
JP5991365B2 (ja) 帳票システム、情報処理装置と、その処理方法及びプログラム
JP5735778B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5792942B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP6234417B2 (ja) 情報処理装置及びその制御方法とプログラム
JP6437076B2 (ja) 情報処理装置及びその制御方法とプログラム
KR20100031784A (ko) 웹페이지 캡쳐 화면 인쇄 방법
JP2005208706A (ja) 位置情報取得装置及び方法、並びに、表示メディア作成装置等
JP2010125810A (ja) 情報処理装置、データ処理方法、プログラム及び記憶媒体
JP2006178622A (ja) 文書変換方法、文書変換装置、及びプログラム
JP2018206125A (ja) 所定形式ファイル生成サーバ、書類発行システム、プログラム
JP2001306550A (ja) 表示情報処理装置
JP2009289121A (ja) 情報処理装置、出力装置、出力処理方法、及びプログラム
JP5766257B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2001022618A (ja) データ変換処理装置及び記録媒体
JP2020107020A (ja) プログラム、情報処理装置及び処理方法
JP2004280144A (ja) 帳票作成装置、帳票処理装置、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160511

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170606

R151 Written notification of patent or utility model registration

Ref document number: 6157210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees