JP2008186165A - 埋込フォント除去方法 - Google Patents

埋込フォント除去方法 Download PDF

Info

Publication number
JP2008186165A
JP2008186165A JP2007018069A JP2007018069A JP2008186165A JP 2008186165 A JP2008186165 A JP 2008186165A JP 2007018069 A JP2007018069 A JP 2007018069A JP 2007018069 A JP2007018069 A JP 2007018069A JP 2008186165 A JP2008186165 A JP 2008186165A
Authority
JP
Japan
Prior art keywords
font
pdf
support information
embedded
removal support
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.)
Withdrawn
Application number
JP2007018069A
Other languages
English (en)
Inventor
Hajime Ono
肇 大野
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 JP2007018069A priority Critical patent/JP2008186165A/ja
Publication of JP2008186165A publication Critical patent/JP2008186165A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

【課題】 正確な印字結果とネットワーク負荷軽減と計算機処理効率を、バランスよく実現すること。
【解決手段】 フォント除去しやすい形でフォント埋込PDFを生成するステップと、
生成と同時に、そのフォントを効率的に除去するためのフォント除去支援情報を生成するステップと、
PDFとフォント除去支援情報とを関連付けて保管するステップと、
PDF配信する直前に、配信先に依存して、フォント除去支援情報に基づきPDFからフォントを除去するステップを含むことを特徴とする電子文書生成・配信システム。
【選択図】 図1

Description

本発明は、図形、文字、画像などで表現される電子文書のフォント埋込に関する。
フォントを埋め込んだPDFを生成するソフトであって、生成するPDFの文書内容の言語とそのPDFを表示・印刷する環境の言語が一致する場合にはフォント埋込せず、一致しなければフォント埋込するものがある(特許文献1参照)。
PCとPDFプリンタで構成されるシステムであって、PCでPDFを解析し、PDFに埋め込まれたフォントをPDFプリンタが持っている場合には、PDFからそのフォントを除去してプリンタに送信するものがある(特許文献2参照)。
特開2005−332088号公報 特開2004−246501号公報
世界的なインターネットの普及と企業活動の多国籍化に伴い、上記技術の使用方法や使用環境が多様化している。例えば、中国工場向けの北京語の製造指示書を日本や米国で閲覧・印刷するという例があげられる。このような場合でも、正確に表示・印刷できるようにPDFには、PDF作成環境で使用したフォントをPDF内部に埋め込む機能を持つ。
しかし、フォント埋込するとサイズが増大する。我々の帳票ソフトウェア(imageWARE Form Manager、以下FM)のサンプル(見積書)20ページで試算したところ、フォント埋め込みなしのPDFサイズが約60KBに対し、フォント埋め込みありのPDFサイズは、460KBとなり、900%近いサイズ増加となる。(ページあたりの新規文字が75%として計算)
したがって、正確な印刷のために、安易にフォント埋め込みしたPDFを送受信するとネットワーク負荷が増大する。これはFMのように帳票を多数の営業所や取引先に一斉配信する機能を持つソフトウェアにとって、大きな影響を及ぼす。具体的には、配信印刷のファーストプリント時間が悪化するなどの影響が懸念される。
このような課題を解決するための代表的な従来技術が2つある。
1つは、特開2005−332088のように、予め印刷環境のフォントが分かっている場合は、生成時に埋め込むフォントを選別してPDFサイズを削減する方法である。
もう1つは、特開2004−246501のように、PDF生成時にはすべてのフォントを埋め込んでおいて、印刷時にプリンタに搭載されているフォントのみPDFから削除して送信することで、ネットワーク負荷を軽減する方法である。
しかしながら、どちらの解決方法もFMではうまくいかない。
最初の方法がうまくいかない理由は、FMの配信印刷機能の動作プロセスと関係がある。動作プロセスは次のようになっている。
1.ユーザが帳票生成を要求する。
2.PDF生成サーバがPDFを生成する。
3.配信サーバがそのPDFを保管する。
4.複数の拠点にいる一般ユーザが端末の印刷クライアント・ソフトウェアで配信サーバ上のPDFを選択して印刷要求する
5.印刷クライアント・ソフトウェアは配信サーバからPDFを取得し、印刷する
このように、FMの動作では、生成、保管、送受信、印刷が別々のタイミング、かつ別の計算機上のプログラムで処理される。そのため、生成時には印刷環境が特定できないという特徴がある。だから、特開2005−332088のように生成時に埋め込むフォントを選別する手法が使えない。
また、二番目の手法がうまくいかない理由は、FMの重要なユーザ要求を満たせないからである。要求とは、配信印刷において、ユーザが印刷を要求してから一枚目の印刷が開始されるまでの時間を、通常のネットワーク印刷並みに短くすることというものである。一般にPDFは複雑な構造を持ち、解析には時間がかかる。そのため、特開2004−246501のように印刷要求を受けてからPDFを再解析し除去すべきフォントを見出して除去する方法では、時間がかかりすぎてユーザの要求を満たせない課題がある。
以下の方法でこの問題を解決する。
1.生成サーバは、フォント埋込したPDFをフォント除去しやすい形で生成する。
2.生成サーバはPDF生成と同時に、埋込フォントの除去を容易にするフォント除去支援情報を生成する。
3.生成サーバは、PDFとフォント除去支援情報をセットで配信サーバに送信する。配信サーバをそのセットを受信し、関連付けて保管する。
4.配信サーバは要求を受けると配信先によって埋込フォントが不要な環境か否かを判定し、不要なフォントをフォント除去支援情報に基づきPDFから削除する。
5.配信サーバはPDFを配信する。
従来技術との差異化の意味で、4番目のステップが特に重要である。ステップ1でフォント除去しやすい形で生成したPDFから、ステップ2で作成したフォント除去支援情報に基づき、上書き処理およびブロック削除処理のみでフォントを削除する。
特開2004−246501のようにフォントを削除するために、PDFを解析する必要が無いため、非常に短時間で処理できる。
上記解決手法により、印字品位を保ったまま、必要に応じて短時間でPDFのサイズを小さくし、ネットワークの負荷を下げることができる。これにより、ユーザが最も気にする、ファーストプリントまでの時間を配信印刷において短くすることができる。
発明を実施するための最良の形態を以下に説明する。
図1は、本発明実施前の一般的なFMのシステムの構成およびデータフローを表す。広報部や情報システム部のように配信コンテンツを供給する管理ユーザは、管理用PC101からPDF生成要求を出す。サーバ側システムはPDF生成サーバ102とPDF配信サーバ103から成る。PDF生成サーバは管理PCからの要求を受けてPDFを生成する。PDF生成後、PDF生成サーバは要求に基づいて、PDFをPDF配信サーバに送信する。PDF配信サーバはそれを一時的に保管する。一般ユーザが各拠点のクライアントPC104や、複合機105のパネル上のクライアント・ソフトウェアからPDFの印刷要求をすると、PDF配信サーバはPDFをクライアントPCや複合機に送信し、クライアントPCや複合機は閲覧や印刷を行う。
図2は、本発明を実施した場合のデータフローおよび、フォント埋め込みしたPDFのフォーマット概要とフォント除去支援情報の概念図を表す。201はテキスト情報であり描画する文字列を表す。その文字列に対応して、フォント除去支援情報には、その文字列がPDFの何バイト目から何バイト目まであるか、ということが書かれている(202)。この情報はフォント毎に分類されてフォント除去支援情報に収められている。
フォントの字形データは、削除時の影響が少ないようにPDF内の後方に配置される(203)。それに対応してフォント除去支援情報には埋込フォント字形データのPDF内のアドレスが記述される(204)。
印刷要求があったときには、配信サーバ上でフォントの要不要が判断される。そして、不要なフォントで描画された文字列201は、埋め込み専用のエンコーディングから、通常のエンコーディングに変換される(205)。そのとき、フォント除去支援情報で不要なフォントから文字列のアドレス範囲202をたどり、その範囲を変換してデータを上書きする。一方、不要なフォントの字形データについては、フォント除去支援情報内の不要なフォントから字形データのアドレス範囲をたどり、その範囲を丸ごと除去する。
図3は、埋め込みフォント削除前と削除後のPDFを比較するものである。一般にPDFは4つの部分からなる。まず、文書の文字や図形の配置情報や描画情報を含むコンテンツ部(301)である。コンテンツ部は更にページ毎に分割される。次に、埋め込みフォントや画像データを格納するリソース部(302)である。フォントの字形データ(308)は、リソース部の一要素である。この例では、コンテンツとしての文字列に、ハングルと日本語文字があり、どちらも埋め込みフォントとなっている。そのため、両方のフォントの字形データがこのリソース部に埋め込まれている。次に、埋め込みフォントの独自エンコーディングとUnicodeの対応を表すエンコード部(303)がある。最後に各部分がPDFの何バイト目から始まっているかを示す、アドレスマップ部(304)がある。
このうち、埋め込みフォントの除去により次の部分が変化する。まずは、コンテンツ部の文字列(305)である。埋め込みフォントは独自エンコーディングで文字を表すが、埋め込みの字形データを除去すると、独自エンコーディングは意味をなさなくなってしまうので、一般的な文字コードに変換する必要がある。次に変化するのは、削除するフォントの字形データが無くなることと、それに付随して、そのフォントの文字コード情報(306)が独自エンコーディングから、一般的な文字コードに変わることである。また、エンコード部からも、独自エンコーディングとUnicodeの対応付けがなされていた当該フォントの部分が削除される。そして、最後に変わる箇所は、アドレスマップ部である。字形データやその文字コード対応がごっそりと削除されることで、エンコード部の位置が変わる。そのために、アドレスマップ部内のテーブルのなかで、エンコード部の開始位置を保持している箇所(307)のアドレスを変更する。
図4は、生成サーバでPDFに文字を含める一般的な処理を表すフローチャートである。この一般的な処理では、
(1)まず、コンテンツ部に文字を表す字形番号を書き出し、
(2)次に、コンテンツ部で使用した字形データをリソース部に格納し、
(3)最後に、文字の字形番号とUnicodeを対応付けてエンコード部に格納する。
というステップを踏む。
本提案を実現するために、各ステップで次のような工夫をする。
(1)’字形番号のバイト数を、Unicodeのバイト数と同じにしておく。バイト数が同じだと、エンコード変換時に上書きのみで済ますことができるため。もしバイト数が異なると、エンコード変換時に後続部分をずらさなければならず、処理時間が大きく増大してしまう。
(2)’字形データをリソース部に格納するとき、除去されやすいフォントほどリソース部の後ろの方に配置する。フォントを除去するとき、除去部分より後の部分の位置をずらす必要があるが、それより後の部分が小さいほど処理が早くできるからである。
(3)’エンコード部をアドレスマップ部の直前に格納する。本来、PDFはアドレスマップ部が最後にあれば、他の部分はどういう順番で並んでいても良い。しかし除去時の影響を最小限にするには、削除されるものが後方にあるのが良い。なぜなら、削除した後の空白を埋めるために後続部分を前にずらす必要があるが、その部分のサイズが小さいほど処理が早くできるためであるためである。もうひとつの理由は、削除する部分が後ろにあるほうがずらす部分が小さくなって、アドレスマップの書き換え箇所が少なくて済み、これも処理速度の向上に役立つからである。
図5は生成サーバにおけるフォント除去支援情報の書き出し処理のフローチャートである。PDF生成処理と対応して同期しつつ、この処理が行われる。
(1)コンテンツ部の文字列の書き出したPDFのアドレス範囲を書き出す
(2)コンテンツ部で使用した字形データをリソース部に格納したときのアドレス範囲を書き出す
(3)最後に、文字の字形番号とUnicodeを対応付けてエンコード部に格納したときのアドレス範囲を書き出す
というステップを踏む。
図4と図5で生成されたPDFとフォント除去支援情報は、セットにして配信サーバに登録、保管される。クライアントから配信サーバに印刷要求がくると、配信サーバは、クライアントの種類やOS、IPアドレスの情報から、クライアントが持っているフォントを推定する。そして、要求されたPDFに対応するフォント除去支援情報からそのフォントが含まれるかを調べ、含まれていれば除去する判断をする。
図6は、除去すべきフォントがPDFに含まれていた場合の配信サーバのフォント除去処理のフローチャートである。
(1)フォント除去支援情報のエンコード部のアドレスから、エンコード情報を読む。
(2)フォント除去支援情報のコンテンツ部のアドレスを読み、エンコード情報に基づき該アドレスの文字コードを変換・上書きする。
(3)エンコード部の該当フォント部分を削除する。
(4)フォント除去支援情報のフォント字形データのアドレスを読み、フォント字形データを削除する。
(5)エンコード部の先頭アドレスが変わるので、アドレスマップ部に変更を反映する。
FMシステム データフローおよびPDFとフォント除去支援情報のフォーマット概要 埋め込みフォント削除前後のPDF比較図 生成サーバのPDF書き出し処理フローチャート 生成サーバのフォント除去支援情報の書出処理フローチャート 配信サーバのフォント除去処理のフローチャート
符号の説明
101 管理用PC
102 PDF生成サーバ
103 PDF配信サーバ
104 クライアントPC
105 複合機
201 PDF内の文字列
202 PDF内の文字列のアドレス範囲
203 PDF内の埋め込みフォント字形データ
204 PDF内の埋め込みフォント字形データのアドレス範囲
205 埋め込みフォント除去処理により変換されたPDF内の文字列
301 コンテンツ部
302 リソース部
303 エンコード部
304 アドレスマップ部
305 PDF内の文字列
306 フォントのエンコード情報
307 エンコード部の開始アドレス
308 字形データ

Claims (1)

  1. フォント除去しやすい形でフォント埋込PDFを生成するステップと、
    生成と同時に、そのフォントを効率的に除去するためのフォント除去支援情報を生成するステップと、
    PDFとフォント除去支援情報とを関連付けて保管するステップと、
    PDF配信する直前に、配信先に依存して、フォント除去支援情報に基づきPDFからフォントを除去するステップを含むことを特徴とする電子文書生成・配信システム。
JP2007018069A 2007-01-29 2007-01-29 埋込フォント除去方法 Withdrawn JP2008186165A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007018069A JP2008186165A (ja) 2007-01-29 2007-01-29 埋込フォント除去方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007018069A JP2008186165A (ja) 2007-01-29 2007-01-29 埋込フォント除去方法

Publications (1)

Publication Number Publication Date
JP2008186165A true JP2008186165A (ja) 2008-08-14

Family

ID=39729181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007018069A Withdrawn JP2008186165A (ja) 2007-01-29 2007-01-29 埋込フォント除去方法

Country Status (1)

Country Link
JP (1) JP2008186165A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11677894B2 (en) 2021-03-11 2023-06-13 Canon Kabushiki Kaisha Information processing apparatus, image processing method, and medium
US11818319B2 (en) 2021-03-11 2023-11-14 Canon Kabushiki Kaisha Information processing apparatus, image processing method, and medium
US11973903B2 (en) 2021-03-11 2024-04-30 Canon Kabushiki Kaisha Image processing system and image processing method with determination, for each of divided areas, as to which of read image data or original image data is used in correcting original image data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11677894B2 (en) 2021-03-11 2023-06-13 Canon Kabushiki Kaisha Information processing apparatus, image processing method, and medium
US11818319B2 (en) 2021-03-11 2023-11-14 Canon Kabushiki Kaisha Information processing apparatus, image processing method, and medium
US11973903B2 (en) 2021-03-11 2024-04-30 Canon Kabushiki Kaisha Image processing system and image processing method with determination, for each of divided areas, as to which of read image data or original image data is used in correcting original image data

Similar Documents

Publication Publication Date Title
US8081346B1 (en) System to create image transparency in a file generated utilising a print stream
US6295538B1 (en) Method and apparatus for creating metadata streams with embedded device information
US7403297B2 (en) Printing system that manages font resources using system independent resource references
US8045198B2 (en) System and method for processing a change history of a PDF file
JP4596285B2 (ja) 画像処理システム及び画像処理方法並びにオブジェクト名生成プログラム
JP2009251803A (ja) 情報処理装置、データ処理方法、プログラム
JP5457208B2 (ja) 印刷装置におけるメモリ管理用システム及びその方法
US20070127085A1 (en) Printing system, printing method and program thereof
US7664290B2 (en) Image processor, image processing method, and storage medium storing program for the combining of coded images into print images
US6781711B1 (en) Method and system for efficient transmittal and presentation of complex images
JP2008186165A (ja) 埋込フォント除去方法
US7793204B2 (en) Copy protecting documents
US10733355B2 (en) Information processing system that stores metrics information with edited form information, and related control method information processing apparatus, and storage medium
JP6190207B2 (ja) システム、情報処理方法、処理装置、処理方法、及びプログラム
US20050094172A1 (en) Linking font resources in a printing system
JP4479617B2 (ja) 任意図文字挿入コンピュータ、画像形成装置、方法及びプログラム
JP2006235933A (ja) 画像処理装置及び印刷ジョブ生成装置
JP2010105191A (ja) 画像処理装置
US20060227355A1 (en) System and method for applying unique output characteristics to documents in a document set
EP2284689B1 (en) PDL data processing device
US8756491B2 (en) PDL data processing device
US10789030B2 (en) Document pooling mechanism
JP5104446B2 (ja) 印刷制御装置、プログラム、及びシステム
JP2000225745A (ja) 印刷制御装置およびそのプログラム記録媒体
JP2007249403A (ja) 画像データ処理システムおよびその方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100406