JP5930815B2 - 情報処理装置及びその処理方法 - Google Patents

情報処理装置及びその処理方法 Download PDF

Info

Publication number
JP5930815B2
JP5930815B2 JP2012090452A JP2012090452A JP5930815B2 JP 5930815 B2 JP5930815 B2 JP 5930815B2 JP 2012090452 A JP2012090452 A JP 2012090452A JP 2012090452 A JP2012090452 A JP 2012090452A JP 5930815 B2 JP5930815 B2 JP 5930815B2
Authority
JP
Japan
Prior art keywords
metadata
document
key
information
value
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.)
Active
Application number
JP2012090452A
Other languages
English (en)
Other versions
JP2013218613A (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 JP2012090452A priority Critical patent/JP5930815B2/ja
Priority to US13/855,057 priority patent/US9064201B2/en
Publication of JP2013218613A publication Critical patent/JP2013218613A/ja
Application granted granted Critical
Publication of JP5930815B2 publication Critical patent/JP5930815B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1242Image or content composition onto a page
    • G06F3/1243Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Facsimile Transmission Control (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、メタ情報を含むドキュメントデータと、当該メタ情報への参照情報を持ち、当該メタ情報の内容に応じた条件付き印刷設定を有する印刷制御データとを処理する技術に関するものである。
バリアブルデータ印刷(VDP:Variable Data Printing)として知られる印刷方法が行われている。VDPでは、データを固定部分と可変部分とに分け、可変部分のデータをRDB(Relational Database)やCSV(Comma Separated Values)ファイルなどのデータソースから供給する。ここで、データソースの桁(フィールド)をテンプレート文書の可変部分と関連付け、データソースの行(レコード)毎に適用することで、レコード毎に異なる内容の印刷を行う。
VDPでは、例えば顧客情報に従って提供する商品情報を変えるダイレクトメールなどを作成することができる。また、一つのVDPに必要なページレイアウトやデータソースなどの論理的な情報の集まりをVDPドキュメントと呼ぶ。近年では、VDPドキュメントに受取人の情報(例:受取人を識別するためのID、性別、住所など)をメタデータとして埋め込めるフォーマットも登場してきている。
VDPドキュメントを印刷する際の印刷設定を制御する方法としては、一般にJDF(Job Definition Format)を利用する。JDFの仕様のうち、印刷の制御方法をデバイスに伝えるデータフォーマットとして、JDF JobTicketがある。近年では、VDPドキュメントに埋め込まれているメタデータと、そのメタデータを参照するJDF JobTicketを利用して印刷物の受取人毎に印刷設定を可変に設定し、印刷する方法が行われている。例えば、VDPドキュメントに受取人の「性別」をキーとするメタデータが含まれていた場合、JDF JobTicketに「性別」キーのバリューが「男性」であればマット紙、「女性」であれば光沢紙、といったように設定することが可能となっている。
このように、VDPドキュメントにメタデータを埋め込むことで多様な印刷設定ができる一方で、そのメタデータを第三者に閲覧されてしまうと個人情報の漏洩に繋がる恐れもある。例えば、印刷工程をアウトソーシングする場合に、アウトソーシング先で第三者によってVDPドキュメントが外部に流出し、埋め込まれているメタデータ(印刷物の受取人の個人情報)が閲覧されてしまうことが考えられる。
このような印刷ジョブの内容の漏洩を防ぐための技術として、従来から印刷ジョブ全体を暗号化する技術が開示されている。特許文献1には、プリンタのホスト側で印刷対象のドキュメントを暗号化し、プリンタに非依存な中間データ化する。そして、プリンタ側で中間データを復号して印刷する手法が提案されている。
また、ドキュメント本文に機密情報が含まれている場合に、特定の機密文字列に対して難読化し、プリンタ側で機密文字列を復号する技術が開示されている。特許文献2には、XPS(XML Paper Specification)ドキュメントに含まれる機密情報(文字列)の難読化を行う手法が提案されている。特許文献2では、機密情報となる文字列の指定をユーザから受け付け、当該文字列をGUID(Globally Unique Identifier)に置換し、そのGUIDとオリジナルの文字列をペアにしてXPSのメタデータに記述する。XPSビューアにより当該XPSドキュメントを読み込む場合、メタデータ部分を読みとばすため、機密情報はGUIDに置き換わった状態で表示される。難読化されたXPSドキュメントはプリンタ側で復元される。
特開2006−294017号公報 特開2009−251803号公報
上記特許文献1のように暗号化を施せば、少なくとも暗号化から復号化までの間は情報の漏洩を防ぐことが可能になる。しかしながら、暗号化されたドキュメントに対して可変印刷設定を実施するためには、印刷工程の何れかの段階でメタデータの復号処理が必要になる。そして、復号したタイミング、例えば復号後のジョブがスプールフォルダに置かれたタイミングで個人情報が閲覧される可能性がある。
また、復号処理のための特別な装置を設けなければならない。例えば、プリンタ内部で復号を行うのであれば、プリンタ内部に復号するための特別な機能を追加しなければならない。更に、復号処理によっては時間がかかり、印刷パフォーマンスが低下するといったデメリットがある。また、暗号化を行う場合、暗号化アルゴリズムによっては暗号が解読される恐れがある。
また、上記特許文献2の場合、ドキュメントに含まれるメタデータ部分には平文で機密情報が記述されるため、ドキュメントの内容を解析されると機密情報が漏洩する可能性がある。
本発明は、可変印刷ドキュメントに含まれるメタデータの内容を第三者に知られることなく、メタデータに応じた可変印刷設定による印刷を指示する装置及び方法を提供する。
本発明は、情報処理装置であって、
可変印刷のドキュメントと、当該ドキュメントに含まれるメタデータに応じた条件付きの印刷設定とを受信する受信手段と、
前記受信手段により受信された前記ドキュメントに含まれるメタデータと前記条件付きの印刷設定との間で共通の情報を任意の情報にそれぞれ置換する置換手段と、
前記共通の情報が前記任意の情報に置換された前記ドキュメントと前記条件付きの印刷設定とを用いて印刷を指示する指示手段と、
を有することを特徴とする。
本発明によれば、可変印刷ドキュメントに含まれるメタデータの内容を第三者に知られることなく、メタデータに応じた可変印刷設定による印刷を指示することができる。
本実施形態における印刷システムの構成の一例を示す模式図。 本実施形態におけるワークフローを説明するための図。 (A)はクライアントPCのハードウェア構成の一例を示す図、(B)はプリンタコントローラのハードウェア構成の一例を示す図。 (A)は難読化前、(B)は難読化後のPDF/VTドキュメント及びJDFジョブチケットを示す図。 PDF/VTドキュメントとJDFジョブチケットとを難読化する処理を示すフローチャート。 難読化処理の詳細を示すフローチャート。 (A)は処理対象のPDF/VTドキュメントのDPart階層構造、(B)は当該PDF/VTドキュメントに対応する難読化メタデータ格納ツリーのデータ構造を示す概念図。 JDFジョブチケット及びPDF/VTドキュメントの一例を示す図。 比較演算子についてPath属性の値、ValueList属性の値を変更した後のJDFジョブチケットを示す図。 難読化後のキー、バリューを格納した状態を示す図。 一つ目の比較演算子に関して処理を完了した様子を示す図。 S605で変更された比較演算子を示す図。 難読化後のキー及びバリューを格納した状態を示す図。 S610でメタデータが削除された状態を示す図。 S611で難読化後のメタデータが追加された状態を示す図。 難読化処理の変形例における詳細を示すフローチャート。 メタデータと当該メタデータを直接参照するJDFジョブチケット内の要素とのマップのデータ構造を表す図。 処理対象のPDF/VTドキュメントに含まれるキー及びバリューのデータ構造を表す図。 置換対象を指定するためのUIを示す図。 S1601の詳細な処理を示すフローチャート。 変形例のJDFジョブチケットとPDF/VTドキュメントのスクリプトの一例を示す図。 UI表示処理(S1603)の詳細な処理を示すフローチャート。 警告ダイアログ2301の一例を示す図。
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。
<印刷システムの構成>
図1は、本実施形態における印刷システムの構成の一例を示す模式図である。この印刷システムは、クライアントPC102、DBサーバ103、プリントサーバ104、プリンタコントローラ105、デジタル印刷機106からなり、ネットワーク101を介して接続されている。また、プリンタコントローラ105とデジタル印刷機106とは印刷機インタフェース(I/F)ケーブル107によって接続されている。
クライアントPC102は、DBサーバ103にアクセスし、DBサーバ103に格納されているデータをVDPテンプレートに流し込むことでVDPドキュメントを生成する。そして、クライアントPC102はVDPドキュメントをプリントサーバ104に送信する。
プリントサーバ104では、クライアントPC102からVDPドキュメントを受信し、そのVDPドキュメントに対する印刷設定をクライアントPC102のユーザから受け付ける。具体的には、ユーザがVDPドキュメントのジョブ全体に対する印刷設定や、VDPドキュメントに含まれるメタデータに応じた条件付きの印刷設定を行う。印刷設定が完了すると、その印刷設定はジョブチケットとして生成される。
更に、プリントサーバ104は、本発明に係る手法により、上述のVDPドキュメントとジョブチケットとを難読化する。その後、プリントサーバ104が難読化されたVDPドキュメントとジョブチケットとをプリンタコントローラ105に送信する。
一方、プリンタコントローラ105は、プリントサーバ104から難読化されたVDPドキュメントとジョブチケットとを受信し、そのジョブチケットを解釈してデジタル印刷機106に印刷指示する。また、プリンタコントローラ105は、RIP(Raster Image Processing)を行い、RIP後のビットマップを印刷機インタフェースケーブル107経由でデジタル印刷機106へ送信する。
ここでは、ネットワーク101でそれぞれの装置が接続されている例を示しているが、接続形態はこの限りではなく、例えばUSBメモリなどを使って装置間のデータ受け渡しを行うようにしてもよい。
<ワークフロー>
ここで、本実施形態におけるワークフローを、図2を用いて説明する。まず、ユーザがクライアントPC102を用いて、VDPテンプレート201とデータソース202とを対応付ける作業を行う(203)。尚、VDPテンプレート201は、各受取人に共通なグラフィック、画像、テキストと、受取人の個人情報を流し込むためのコンテナを持ったデータである。また、データソース202は、DBサーバ103に格納されているデータであり、例えば印刷物の受取人の個人情報が含まれる。
その後、ユーザがVDPドキュメントの生成を指示すると、クライアントPC102はVDPテンプレート201のコンテナにデータソース202のデータを流し込み、VDPドキュメント205を生成する(204)。VDPドキュメント205のフォーマットとしては、PDF/VT、PPML(Personalized Print Markup Language)などがあるが、以降ではPDF/VTを例に説明を行う。尚、このVDPドキュメント205はPDF/VTに限定されるものではなく、その他VDPドキュメントのフォーマットであってもよい。
このVDPドキュメント205の生成と同時に、データソース202に含まれる受取人の個人情報がVDPドキュメント205内に埋め込まれる。例えば、VDPドキュメント205のうち、受取人Aさん向けの部分に関しては、受取人Aさんの年齢や性別、住所といった情報が埋め込まれる。
PDF/VTでは、DPart(Document Part)階層構造と呼ばれるページオブジェクトの構造化機能、DPM(Document Part Metadata)と呼ばれるメタデータ設定機能を有している。このDPMには任意の「キー」と「バリュー」の組を設定することが可能であり、DPMによりDPartに対する意味付けをすることができる。これにより、ユーザは個々のページではなく、DPMに設定されたメタデータを条件にしてDPartに対して印刷設定が可能になっている。例えば、Aさんが受け取るドキュメントに相当するDPartに、Aさんの個人情報がDPMとして埋め込まれる。
次に、ユーザがプリントサーバ104を用いて印刷設定を行う(206)。具体的には、ジョブ全体に関する印刷設定やVDPドキュメント205に埋め込まれたメタデータに基づいて印刷設定の条件設定を行う。例えば、キーが「Gender」、バリューが「Male」であれば光沢紙を使う、といった設定を行う。
この設定を行った結果、JDFジョブチケット(JDF JobTicket)が生成される。ここでJDFは、Job Definition Formatの略である。このJDFチケットには、いまユーザが設定したジョブ全体に関する印刷設定やキーがGenderでバリューがMaleであれば光沢紙を使う、という条件付き印刷設定が含まれる。
次に、プリントサーバ104がVDPドキュメント205及びJDFチケットに対して難読化の処理を行う(207)。この難読化の方法に関しては、図4を用いて後述する。この結果、難読化が行われたVDPドキュメント208とJDFジョブチケット209とが生成される。
以上の説明では、クライアントPC102上で流し込み(204)までの処理を行い、プリントサーバ104上で印刷設定(206)以降の処理を行う例を説明した。しかし、本発明はこれだけに限らず、例えば全ての処理をクライアントPC102上で処理してもよい。その場合、プリントサーバ104は、VDPドキュメントとジョブチケットの中継のみを行う。また、印刷設定(206)までの処理をクライアントPC102上で処理し、難読化の処理(207)のみプリントサーバ104上で処理してもよい。
<クライアントPCの構成>
次に、本実施形態におけるクライアントPC102のハードウェア構成の一例を、図3に示す(A)を用いて説明する。尚、クライアントPC102はパーソナルコンピュータなどの情報処理装置である。クライアントPC102のハードウェア構成は、様々な接続方法や様々なバスやインタフェースを有する構成が一般に知られており、ここで紹介するハードウェア構成は一例である。
CPU301は、RAM302に読み込まれた制御プログラムに従って装置全体の制御を行う制御部である。RAM302は、CPU301が実行する本装置の制御プログラムや文書、画像等のデータが読み込まれる内部記憶部である。ネットワークインタフェース(NetI/F)303は、CPU301の制御の元にインターネット等のネットワークとの接続を行いデータ等を送受信するネットワークインタフェースである。HDD304は、クライアントPC102の制御ソフトウェアを初め、様々なデータを保存するハードディスクドライブ(HDD)である。ディスプレイ305は、本装置の状態や本装置への指示等を表示するものである。キーボード306及びマウス等のポインティングデバイス307は、本装置への指示を入力するものである。
尚、HDD304に記憶されている各種ソフトウェアは、必要に応じてRAM302に読み込まれ、同じくRAM302に読み込まれているオペレーティングシステムの機能を必要に応じて使用し、CPU301の制御によって実行される。
<DBサーバ、プリントサーバの構成>
本実施形態におけるDBサーバ103、プリントサーバ104のハードウェア構成は、上述したクライアントPC102のハードウェア構成と同様であり、ここでの説明は割愛する。尚、DBサーバ103、プリントサーバ104も汎用のサーバコンピュータなどの情報処理装置である。
<プリンタコントローラの構成>
次に、本実施形態におけるプリンタコントローラ105のハードウェア構成の一例を、図3に示す(B)を用いて説明する。プリンタコントローラ105のハードウェア構成はクライアントPC102と同様、様々な接続方法や様々なバスやインタフェースを有する構成が一般に知られており、ここで紹介するハードウェア構成は一例である。
CPU308は、RAM309に読み込まれた制御プログラムに従って装置全体の制御を行う制御部である。RAM309は、CPU308が実行する本装置の制御プログラムや文書、画像等のデータが読み込まれる内部記憶部である。ネットワークインタフェース(NetI/F)310は、CPU308の制御の元にインターネット等のネットワークとの接続を行いデータ等を送受信するネットワークインタフェースである。HDD312は、プリンタコントローラ105の制御ソフトウェアを初め、様々なデータを保存するハードディスクドライブ(HDD)である。ディスプレイ305は、本装置の状態や本装置への指示等を表示するものである。キーボード306及びマウス等のポインティングデバイス307は、本装置への指示を入力するものである。印刷機インタフェース311は、印刷機インタフェースケーブル107によってデジタル印刷機106と接続され、RIP済データの送信に用いられる。
尚、HDD312に記憶されている各種ソフトウェアは、必要に応じてRAM309に読み込まれ、同じくRAM309に読み込まれているオペレーティングシステムの機能を必要に応じて使用し、CPU308の制御によって実行される。
<難読化処理の概要>
ここで、本実施形態における難読化処理の概要を、図4を用いて説明する。尚、実際の処理(難読化プログラム)は、図5及び図6に示すフローチャートを用いて後述する。
図4に示す(A)は、難読化前のPDF/VTドキュメント及びJDFジョブチケットの概念を示す図である。PDF/VTドキュメント401には、Eさん向けドキュメントのメタデータ403として、キー「gender(性別)」にバリュー「female(女性)」が設定されている。更に、キー「age(年齢)」にバリュー「23」が設定されている。一方、Fさん向けドキュメントのメタデータ404として、キー「gender」にバリュー「male(男性)」が設定されている。更に、キー「age」にバリュー「40」が設定されている。
これに対して、JDFジョブチケット402には、メタデータを条件にした、条件付き印刷設定405が設定されている。この例では、キー「gender」のバリューが「male」であればコート紙を利用し、キー「age」のバリューが30未満であればサドルスティッチを適用する、というように設定されている。
尚、JDFでは、要素「MetadataMap」で参照先のメタデータとJDF内で利用される変数とのマッピング関係を記述している。また、JDFでは、その変数に応じた印刷設定ができるようになっており、この機能を用いてメタデータに応じた可変印刷設定を実現している。
プリンタコントローラ105が、上述のJDFジョブチケット402を解釈した場合、条件付き印刷設定405のキー「gender」の条件に該当するFさん向けドキュメントには、コート紙を利用して印刷が行われる。また、キー「age」の条件に該当するEさん向けドキュメントにはサドルスティッチが行われる。
しかし、図4に示す(A)のPDF/VTドキュメント401、JDFジョブチケット402には、受取人の個人情報(年齢、性別)が含まれているため、このままでは第三者に受取人の個人情報が閲覧されてしまう恐れがある。
そこで、第三者が受取人の個人情報を閲覧できないよう、難読化した後のPDF/VTドキュメント及びJDFジョブチケットを図4の(B)に示す。
本実施形態における難読化処理では、PDF/VTドキュメントに含まれるメタデータのキーやバリューを元のキー、バリューが推測できないような予め定められた別の文字列に置換する。また、JDFジョブチケットの条件付き印刷設定の条件部分(MetadataMap)に関してもキー、バリューを予め定められた別の文字列に置換する。このとき、MetadataMapとメタデータとの参照関係が維持されるように、条件式を予め定められた文字列に置換する。具体的には、JDFジョブチケット407の条件付き印刷設定410に示すように、条件式を予め定められた文字列に置換する。
即ち、キー「fneoan」のバリューが“efaij”と等しければコート紙、キー「ofazc」のバリューが“pp1230”と等しければサドルスティッチという設定に難読化する。
この難読化に伴い、条件がマッチしていたFさん向けドキュメントのメタデータ409もキー「fneoan」、バリュー「efaij」に置換して難読化する。また、条件がマッチしていたEさん向けドキュメントのメタデータ408もキー「ofazc」、バリュー「pp1230」に置換して難読化する。更に、Eさん向けドキュメントのメタデータ408、Fさん向けドキュメントのメタデータ409から、MetadataMapから参照されないメタデータを削除する。即ち、メタデータ408に含まれるキー「gender」とメタデータ409に含まれるキー「age」を持つメタデータを削除する。
上述のような難読化処理を行うことで、元のメタデータの内容が第三者には分からなくなり、図4に示す(A)と同様の印刷設定が適用される。即ち、Fさん向けドキュメントはコート紙を利用して印刷が行われ、またEさん向けドキュメントはサドルスティッチが行われる。
上述のPDF/VTドキュメントとJDFジョブチケットとを難読化する処理を図5に示すフローチャートを用いて説明する。尚、本願のフローチャートは、CPU301が、各フローチャートに関連するプログラムを読み出して実行することで実現される。
S501において、プリントサーバ104のCPU301がクライアントPC102から受け取ったJDFジョブチケットをRAM302上に読み込む。そして、S502において、CPU301がクライアントPC102から受け取ったPDF/VTドキュメントをRAM302上に読み込む。
次に、S503において、CPU301はJDFジョブチケット内のMetadataMapと、PDF/VTドキュメント内のメタデータの難読化を行う。尚、この難読化処理の詳細に関しては、図6〜図15を用いて後述する。
そして、S504において、CPU301はS503において難読化したJDFジョブチケットをプリントサーバ104のHDD304に書き出す。S505において、CPU301はS503において難読化したPDF/VTドキュメントをプリントサーバ104のHDD304に書き出す。
<難読化処理の詳細>
ここで、難読化処理の詳細を、図6〜図15を用いて説明する。図6に示す処理の詳細を説明する前に、難読化後のメタデータを記憶するためのツリー型メモリのデータ構造を、図7を用いて説明する。このデータ構造を以下では「難読化メタデータ格納ツリー」と呼ぶ。
図6で示す処理では、難読化を行った後のメタデータを難読化メタデータ格納ツリーに格納しておく。そして、PDF/VTドキュメントに記述されている元のメタデータ(個人情報が含まれたメタデータ)を削除した後、難読化メタデータ格納ツリーに格納されている難読化後のメタデータをPDF/VTドキュメントに反映する。
図7に示す(A)は、処理対象のPDF/VTドキュメントのDPart階層構造、図7に示す(B)は、当該PDF/VTドキュメントに対応する難読化メタデータ格納ツリーのデータ構造、を示す概念図である。
図7に示す(A)のように、Root要素701の下に、受取人ごとのDPart702が存在し、それぞれにDPM703(メタデータ)が記述されている。一方、図7に示す(B)の難読化メタデータ格納ツリーは、処理対象のPDF/VTドキュメントのDPartと同様の構造を持つ。つまり、Root要素704の下に、受取人ごとのNode705が存在し、各Nodeに難読化後のメタデータ706が格納される。難読化後のメタデータ706はPDF/VTドキュメントのDPM703(メタデータ)に相当する。
次に、難読化処理の詳細を説明する際に用いるJDFジョブチケット及びPDF/VTドキュメントの一例を図8に示す。このJDFジョブチケット801には、キー「Gender」のバリューが“Female”であれば光沢紙を使い、キー「Gender」のバリューが“Male”であればマット紙を使う、という設定が記述されている。
ここで、JDFジョブチケットに記述されるMetadataMap要素の仕様を簡単に説明する。JDFジョブチケット801は、MetadataMap要素を持ち、その子要素として比較演算子803を持つ。ここでは、比較演算子803として、NameEvaluationという要素が記述されている。NameEvaluation要素は比較演算子を表現する要素の一つである。NameEvaluation要素はPath属性、ValueList属性を持ち、Path属性で指定されたPDF/VTドキュメント内のメタデータキーがValueList属性の値に含まれていれば、Trueと評価される。この例では、Path属性にはPDF/VTドキュメントのキー「Gender」を参照するように記述されており、キー「Gender」のバリューが「Female」であればこの比較演算子803はTrueと評価される。
比較演算子803がTrueと評価された場合、その比較演算子803の親要素であるExpr要素のName属性の値を変数とみなし、その変数にValue属性の値が代入される。この例では、valtemという変数に、“Pattern1”という値が代入される。一方、次の比較演算子(2つ目のNameEvaluation要素)に関しても同様に、キー「Gender」のバリューが「Male」であれば、valtemという変数に、“Pattern2”が代入される。
用紙を設定する箇所は、“Pattern1”であれば光沢紙、“Pattern2”であればマット紙が使われるように設定されている。これにより、メタデータのキー「Gender」のバリューが“Female”であれば光沢紙、キー「Gender」のバリューが“Male”であればマット紙を使う、という設定を実現している。
PDF/VTドキュメント802には、DPart階層構造が記述されている。尚、PDF/VTドキュメント802は、実際にはPDFの文法に従って記述されるが、ここでは読み易さを考慮し、PDF/VTの仕様に従った等価なXMLとして表現している。
PDF/VTドキュメント802には、3人の受取人に対するドキュメントに対応したDPartが定義されている。それぞれのDPartには、それぞれGender(性別)、Age(年齢)、Name(名前)のキーを持つメタデータが記述されている。
一人目の受取人のメタデータには、以下のキー、バリューが記述されている。
Gender =“Male”
Age =“21”
Name=“Tanaka”
二人目の受取人のメタデータには、以下のキー、バリューが記述されている。
Gender =“Female”
Age =“52”
Name=“Sato”
三人目の受取人のメタデータには、以下のキー、バリューが記述されている。
Gender =“Female”
Age =“73”
Name=“Suzuki”
ここで、プリンタコントローラ105が、このJDFジョブチケット801とPDF/VTドキュメント802とを解釈すると、一人目の受取人にはマット紙、二人目、三人目の受取人には光沢紙で印刷を行うことになる。
次に、難読化処理の詳細を、図6を用いて説明する。まず、S601において、CPU301はJDFジョブチケットを辿り、MetadataMap要素に含まれる最初の要素に移動し、その要素を処理対象要素とする。次に、S602において、CPU301は図7に示す(B)の難読化メタデータ格納ツリーの初期化を行う。ここでは、RAM302上に読み込まれているPDF/VTドキュメントのDPartに基づき、メタデータ706が空の状態の難読化メタデータ格納ツリーを作成する。この難読化メタデータ格納ツリーはプリントサーバ104のRAM302上に記憶される。
次に、S603において、CPU301は処理対象の要素が比較演算子か否かを判定する。JDFジョブチケットには、比較対象となるメタデータの型ごとに、異なる比較演算子が用意されている。例えば、メタデータのバリューを整数型とみなして比較したい場合には、IntegerEvaluationという要素を用いる。図8の例では、要素803が比較演算子(NameEvaluation)であり、メタデータをName型として比較する場合に用いられる。
S603で判定した結果、Yesの場合(比較演算子であった場合)には、S604へ処理を進める。一方、Noの場合(比較演算子でなかった場合)には、S608へ処理を進める。このS604では、CPU301はPDF/VTドキュメントの内容を解析し、比較演算子にマッチするPDF/VTドキュメント内のメタデータを見つける。
JDFジョブチケットにおいて、比較対象のメタデータは比較演算子のPath属性として記述される。このPath属性はXPath(XML Path Language)の形式で記述されている。また、Path属性の記述により、PDF/VTドキュメントの階層のうち当該比較演算子を表す要素の親要素として、どのメタデータのキーを参照するかが決定される。
また、JDFジョブチケットにおいて、比較の条件式を表現するための属性が用意されている。例えば、ValueList属性が記述されていた場合、その属性値として指定された値と、参照先のメタデータのバリューが完全一致すれば、Trueと評価される。
図8では、要素803のPath属性は、PDF/VTドキュメントの“DPart/DPM/KEY”という階層に付加されているキー“Gender”を参照するように記述されている。そのため、当該階層のPDF/VTドキュメントのキー“Gender”まで辿っていく。図8の例では、評価対象のメタデータ804、805、806がそれぞれ要素803にマッチするかの評価を行う。比較演算子には、“Female”が含まれているか否かを評価するよう記述されているため、この例ではメタデータ805、806がマッチすると評価される。
次に、S605において、CPU301は比較演算子の要素をStringEvaluationという要素に変更する。StringEvaluation要素とは、メタデータのバリューを文字列型とみなして比較するための要素である。この例ではStringEvaluation要素に変更しているが、この要素に限らず、メタデータのバリューを文字列の完全一致で比較できる比較演算子の要素であれば、何れの要素であってもよい。
次に、S606において、CPU301はS605で変更したStringEvaluation要素のPath属性の値、ValueList属性の値を元の文字列が判別できない文字列に変更する。ここでは、1つのジョブ(PDF/VTドキュメントとJDFジョブチケットのペア)で一意な文字列に変更する。この処理は、文字列変更後に、本来マッチすべきでないメタデータにマッチしないようにするためである。
文字列の変更方法としては、例えばランダムな文字列に変更し、ジョブ内での一意性をチェックするようにしてもよい。また、元の文字列に対してランダムな文字列をつなげ、その文字列から生成したGUIDに変更するようにしてもよい。もしくは、処理開始して最初に文字列を変更する際に、“UniqueStr0000”のように変更し、その後文字列を変更するたびに“UniqueStr0001”というように、末尾の数字をインクリメントさせた連番の文字列に変更してもよい。
ここで、比較演算子についてPath属性の値、ValueList属性の値を変更した後のJDFジョブチケットを図9に示す。この比較演算子901では、Path属性の値である“Gender”を“03f39”という文字列に変更し、ValueList属性の値である“Female”を“f8098j”という文字列に変更している。尚、S606では、1つのジョブ内で一意な文字列に変更するため、異なるジョブ間では、同じキーを持つメタデータを処理した場合であっても、置換後の文字列が同じになるとは限らない。
次に、S607において、CPU301はS604にて見つけたメタデータに相当する難読化メタデータ格納ツリーのノードに、文字列変更後(難読化後)のキー、バリューを追加する。図8の例では、上述したようにメタデータ805、806が比較演算子803にマッチする。そこで、難読化メタデータ格納ツリー内の、メタデータ805、806に相当するノードに、S606で変更したキー、バリューを格納する。
この難読化メタデータ格納ツリー内の、メタデータ805、806に相当するノードに、難読化後のキー、バリューを格納した状態を図10に示す。図10に示すように、キー及びバリュー1001には、S606で変更したキー“03f39”及びバリュー“f8098j”がそれぞれ格納される。
一方、S608では、CPU301はMetadataMapにおいて、次の処理対象要素が存在するか否かを判定する。判定した結果、次の処理対象が存在する場合はS609へ処理を進めるが、次の処理対象が存在しない場合はS610へ処理を進める。このS609では、CPU301はMetadataMapにおいて、次の要素に処理を移す。
ここまでの説明で、図8に記載のMetadataMapのうち、一つ目の比較演算子に着目して処理の流れを説明した。S610の説明の前に、もう一つの比較演算子についても処理の流れを説明する。このMetadataMapのうち、一つ目の比較演算子に関して処理を完了した様子を図11に示す。図11に示すように、このMetadataMapには、もう一つの比較演算子1101が存在する。比較演算子1101は、PDF/VTのキー“Gender”を参照し、バリューが“Male”であれば、Trueと評価する。ここで、比較演算子1101に関してS604の処理を行うと、メタデータ1102、1103、1104のうち、バリューとして“Male”を持つメタデータ1102がマッチする。
次に、比較演算子1101に関してS605において、図12に示すように比較演算子1201がStringEvaluationに変更される。続いて、S606において、Path属性の値である“Gender”が文字列“21ajf90”に変更され、ValueList属性の値である“Male”が文字列“fea9j09”に変更される。
続いて、S607において、難読化メタデータ格納ツリーのノードのうち、図11にて比較演算子1101にマッチしたメタデータ1102に相当するノードに、文字列変更後のキー及びバリューが格納される。この難読化メタデータ格納ツリー内のメタデータ1102に相当するノードに、難読化後のキー及びバリューを格納した状態を図13に示す。図13に示すように、ノードのキー及びバリュー1301には、S606で変更したキー“21ajf90”及びバリュー“fea9j09”が格納される。
ここまでの処理により、MetadataMapに含まれている比較演算子について、処理が完了したことになる。以下では、S610以降の処理を説明する。
S610において、CPU301はPDF/VTドキュメントのメタデータを削除する。図14に示すPDF/VTドキュメントに含まれているメタデータ1401、1402、1403がこの処理で削除される。次に、S611において、CPU301はS609までの処理で作成した難読化メタデータ格納ツリーに基づき、PDF/VTドキュメントに難読化後のメタデータを追加する。図14に関して、上述のS610、S611で処理された結果を図15に示す。図15に示すように、図13に示す難読化メタデータ格納ツリーに格納されている難読化後のメタデータが、PDF/VTドキュメントのメタデータ1501、1502、1503として追加される。
以上のように、各受取人に適用される印刷設定結果を変えずに、VDPドキュメント(本実施形態ではPDF/VTドキュメント)に埋め込まれていたメタデータを難読化することができる。
その結果、置換されたメタデータは印刷の最後まで復元する必要がないため、印刷の最後まで個人情報が閲覧される恐れはない。
また、復号処理が不要のため、復号のための特別な装置を設ける必要もなく、パフォーマンスを低下させることなく印刷を実行できる。更に、不可逆の難読化を行うため、解読される恐れのある暗号化よりも高いセキュリティ性が望める。
<難読化処理の変形例の概要>
上述の難読化処理では、VDPドキュメントに含まれる全てのメタデータに関して難読化を行った。しかし、JDFジョブチケットを利用する場合、VDPドキュメントに埋め込まれているメタデータ(受取人のIDなど)のバリューから印刷物検品用のバーコードを自動生成する場合も存在する。そこで、JDFジョブチケットがVDPドキュメント内のメタデータの値を直接利用することを、以下では便宜的に「メタデータを直接参照している」と表現する。
メタデータを直接参照する要素がJDFジョブチケットに記述されている場合、VDPドキュメントに含まれるメタデータのバリューをランダムな文字列に変更してしまうと、正しいバーコードが生成されないという問題がある。
そこで、この変形例では、図19に示すようなUI(ユーザインタフェース)をユーザに提示し、難読化対象のメタデータをユーザに選択させる機能を有する。更に、この機能に加えてJDFジョブチケットにメタデータを直接参照する要素が記述されているか否かを識別し、難読化対象から外すようユーザに認知させる機能を設けている。
<難読化処理の変形例の詳細>
次に、難読化処理の変形例における詳細を、図16〜図18を用いて説明する。図16に示すフローチャートを説明する前に、まず図16の説明に必要な図17、図18を先に説明する。
図17は、メタデータと当該メタデータを直接参照するJDFジョブチケット内の要素とのマップのデータ構造を表す図である。以下、このマップを「メタデータ利用マップ」と呼ぶ。図17に示すように、メタデータ利用マップには、メタデータのキー1701が格納される。メタデータのキー1701は、PDF/VTドキュメントが持つ階層のうち、メタデータのロケーションを表現するように、XPath表現で格納される。そして、メタデータのキー1701のそれぞれについてJDFジョブチケットのどの要素で利用されているかを利用先の要素1702と関係付けている。
この例では、メタデータの“/DPart/DPM/KEY”という階層に付加されている“CustomerID”キーがJDFジョブチケットのDynamicFieldという要素で利用されていることを示している。尚、DynamicField要素は、直接参照するメタデータのバリューから、例えば動的にバーコードを生成するための要素である。
次に、処理対象のPDF/VTドキュメントに含まれるキー及びバリューのデータ構造を図18に表す。以下では、このデータ構造のマップを「キーバリューマップ」と呼ぶ。キーバリューマップは、PDF/VTドキュメントに含まれるメタデータのキー1801と各メタデータを置換対象とするか否かを示す置換対象フラグ1802とを含む。ここで、置換対象フラグ1802は、TrueもしくはFalseの値をとる。このキーバリューマップは、それぞれのキーに対応するバリューが一覧(リスト)1803として関係付けられている。また、キーバリューマップは、プリントサーバ104が持つRAM302上に記憶される。そして、このキーバリューマップ及びメタデータ利用マップ(図17)に基づき、図19に示すようなUIをユーザに表示する。
ここで、難読化処理の変形例の詳細を図16に示すフローチャートを用いて説明する。この変形例に関しても、上述した難読化処理と同様に、VDPドキュメントとしてPDF/VTドキュメントを例に用いる。尚、図16に示すS601〜S609、S611は、図6と処理が同様のため、ここでの説明を割愛する。また、PDF/VTドキュメント、JDFジョブチケットの入出力処理に関しては、図5と同様なので、説明を割愛する。
S1601において、CPU301がJDFジョブチケットの内容を解析し、メタデータを直接参照している要素を識別する。このS1601の詳細な処理は、図20、図21を用いて後述する。メタデータを直接参照している要素を識別した結果として、図17に示すメタデータ利用マップを作成する。メタデータ利用マップは、プリントサーバ104が持つRAM302上に記憶される。
次に、S1602において、CPU301はJDFジョブチケットから直接参照されているメタデータが一つ以上存在するか否かを判定する。具体的には、S1601において作成したメタデータ利用マップのメタデータのキー1701に、一つ以上のメタデータのキーが格納されていればYesと判定し、S1603へ処理を進める。
一方、メタデータ利用マップのメタデータのキー1701に、一つもメタデータのキーが格納されていなければNoと判定し、図6のS601へ処理を進める。つまり、JDFジョブチケットから直接参照されているメタデータが一つも存在しない場合、全てのメタデータの難読化を行っても印刷設定の結果に影響はないので上述した難読化処理と同様に処理すればよい。これにより、JDFジョブチケットから直接参照されているメタデータが一つも存在しない場合は、ユーザが難読化対象のメタデータを指定する手間を省くことができる。尚、ユーザが難読化対象のメタデータを常に確認したいようなケースでは、S1602の処理を行わずに、常にS1603へ処理を進めるようにしてもよい。
このS1603では、CPU301はPDF/VTドキュメントを解析し、難読化対象のメタデータをユーザに選択させるためのUIを表示する。S1603の詳細な処理は、図22を用いて後述する。また、UIの詳細は図19を用いて後述する。
次に、S1604において、CPU301はS1603で表示したUIを通じてユーザから難読化対象のメタデータの指定を受け付ける。ユーザが難読化対象であると指定したメタデータに関して、図18に示すキーバリューマップの置換対象フラグ1802にTrueの値を格納する。一方、難読化対象ではないと指定されたメタデータに関しては置換対象フラグ1802にFalseの値を格納する。
次に、上述した難読化処理(S601〜S603)を行い、S1605へ処理を進めると、CPU301は処理対象の比較演算子が参照しているメタデータが置換対象か否かを判定する。判定の方法は、図18に示すキーバリューマップのメタデータのキー1801の中から、当該比較演算子が持つPath属性の値に一致するキーを探す。そして、そのキーに対応する置換対象フラグ1802がTrueであれば、置換対象と判定し、S604へ処理を進める。また、置換対象フラグ1802がFalseであれば、置換対象ではないと判定し、S608へ処理を進める。この判定処理により、処理対象の比較演算子が参照しているメタデータが置換対象であった場合にはS604〜S607の処理により当該比較演算子の条件式が難読化される。一方、処理対象の比較演算子が参照しているメタデータが置換対象でなかった場合には当該比較演算子の条件式が変更されずにそのまま残る。
その後、S608からS1606へ処理を進めると、CPU301は難読化対象のメタデータのみPDF/VTドキュメントのメタデータを削除する。各メタデータに関して、図18に示すキーバリューマップの置換対象フラグ1802を参照し、当該比較演算子が参照しているメタデータが難読化対象(True)であれば、PDF/VTドキュメントから当該メタデータを削除する。一方、難読化対象でなければ、当該メタデータを削除せずに残しておく。
以上の処理により、ユーザから「難読化対象である」と指定されたメタデータに関しては難読化される。また、そのメタデータを参照するJDFジョブチケット内の比較演算子の条件式も難読化される。一方、ユーザから「難読化の対象としない」と指定されたメタデータに関しては難読化されずにPDF/VTドキュメントに残すことができる。また、JDFジョブチケットにおいて、そのメタデータを参照する比較演算子の条件式も難読化せずに残すことができる。
<置換対象を指定するためのUI>
ここで、置換対象を指定するためのUIを、図19を用いて説明する。図19において、テキストボックス1901は、ユーザから入力ファイル、出力フォルダのパスの指定を受け付けるためのものである。入力としては、置換対象のVDPドキュメント(この例ではPDF/VTドキュメント)とJDFジョブチケットを指定する。また、出力としては、置換したVDPドキュメントとJDFジョブチケットを出力するためのフォルダパスを指定する。
ボタン1902は、ユーザに対してテキストボックス1901に指定する入力ファイル、出力フォルダのパスをファイルシステムのフォルダツリーから指定させるためのものである。ここでボタン1902が押下された場合、ユーザにフォルダツリーを表示し、入力ファイル及び出力フォルダを指定させる。指定されたパスはテキストボックス1901に表示する。
テーブル1903は、テキストボックス1901で指定された入力VDPドキュメントに含まれる各メタデータのキー、バリューの例、メタデータ直接参照の有無、置換対象か否かを表す。テーブル1903は、テキストボックス1901に指定された入力のVDPドキュメントとジョブチケットを読み込むことで表示される。表示処理は図22を用いて後述する。
テーブル1903において、入力VDPドキュメントに含まれるメタデータのキーは、一覧フィールド1904に表示される。ここで、キー名としてメタデータのキー名をそのまま表示しているが、PDF/VTドキュメントのドキュメント階層におけるメタデータのロケーションをXPath形式で表示するようにしてもよい。
一覧フィールド1904に表示されているキーに対するバリューの全て又は一部が次のフィールド1905に表示される。このフィールド1905を見ることにより、ユーザは各キーに対してどのようなバリューが格納されているかを確認することができる。
一覧フィールド1904に表示されている各キーのバリューが、JDFジョブチケットから直接参照されているかをユーザに認知させるためのフィールド1906が表示される。ユーザは、このフィールド1906を見ることにより、各キーがJDFジョブチケットから直接参照されているか(つまり、当該キーが難読化した場合に印刷設定に影響があるか)を確認することができる。
具体的には、図17に示すメタデータ利用マップのメタデータのキー1701に当該キーが存在していれば、フィールド1906にメタデータ直接参照「あり」と表示される。更に、利用先の要素1702を参照して利用先の要素を列挙して表示する。図19に示す例では、CustomerIDキーは、JDFジョブチケットのDynamicField要素から直接バリューを利用していることが示されている。また、メタデータのキー1701に当該キーが存在していなければ、フィールド1906にメタデータ直接参照「なし」と表示される。
チェックボックス1907は、ユーザに対してどのメタデータを難読化対象とするかを指定させるためのものである。このチェックボックス1907をオンにした場合、難読化対象とみなされ、オフにした場合は難読化の対象外とみなされる。このチェックボックス1907のオン、オフを行う操作は、図16に示すS1604の処理に相当する。
この図19に示すUIを開いた時点のデフォルト表示では、フィールド1906にメタデータ直接参照「あり」と表示されているキーに関しては、チェックボックス1907がオフの状態で表示される。同様に、フィールド1906にメタデータ直接参照「なし」と表示されているキーに関しては、チェックボックス1907がオンの状態で表示される。これにより、ユーザがチェックボックス1907をオン又はオフする手間を省いている。チェックボックス1907のデフォルト表示に関しては、図22を用いて後述する。
尚、フィールド1906において、メタデータ直接参照「あり」と表示されているキーに対してユーザがチェックボックス1907をオンにした場合、ユーザに対して図23に示すような警告ダイアログを表示するようにしてもよい。
図23は、警告ダイアログ2301の一例を示す図である。この例のように、「難読化を行うと、ユーザが望んだ印刷設定結果とならない場合がある。」旨を認知させるためのメッセージを表示する。ボタン2302は、置換対象として指定するためのものであり、ボタン2302が押下された場合には、チェックボックス1907をオンにする。また、ボタン2303は、置換対象として指定する操作をキャンセルするためのものであり、ボタン2303が押下された場合には、チェックボックス1907はオフのままにする。
もしくは、警告ダイアログを表示する代わりに、図19に示すテーブル1903の行のうち、当該メタデータに相当する行を赤く表示するなどして、ユーザに認知させるようにしてもよい。
図19に戻り、ボタン1908は、全てのメタデータのキーについてチェックボックス1907をオンにするためのものである。尚、フィールド1906において、メタデータ直接参照「あり」のメタデータが一つ以上含まれており、ボタン1908を押下した場合には、ユーザに対して警告ダイアログを表示するようにしてもよい。具体的には、「一つ以上の直接参照されているメタデータが含まれているが本当に全て難読化対象としてよいか」という旨の警告ダイアログを表示するようにしてもよい。
また、ボタン1909は、全てのメタデータのキーについてチェックボックス1907をオフにするためのものである。更に、ボタン1910は、難読化の処理を開始するためのものである。そして、ボタン1910を押下することにより、図16に示すS601の処理が開始される。ボタン1911は、置換を行わずに、このUIを閉じるためのものである。
<直接参照しているメタデータの識別>
ここで、S1601での詳細な処理を、図20、図21を用いて説明する。図20は、JDFジョブチケットを解析し、直接参照されているメタデータを識別する処理の詳細を示すフローチャートである。この処理により、「メタデータ利用マップ」が生成される。即ち、どのメタデータが、どのJDFの要素から利用されているかの関係性が判別できるようになる。
図21は、MetadataMapがPDF/VTドキュメントに含まれるメタデータを直接利用している場合のJDFジョブチケットとPDF/VTドキュメントのスクリプトの一例を示す図である。以下では、JDFジョブチケットのスクリプト2101と、PDF/VTドキュメントのスクリプト2102の例を用いて図20に示す処理を説明する。
まず、S2001において、CPU301はJDFジョブチケットを辿り、MetadataMap要素に含まれる最初の要素に移動する。そして、S2002において、CPU301はメタデータ利用マップを初期化する。上述したように、メタデータ利用マップは図17に示すような、メタデータと、JDF内で当該メタデータを利用している要素とのマップである。尚、初期化処理は、メタデータ利用マップのメタデータのキー1701、利用先の要素1702に格納されているデータを削除する処理である。
次に、S2003において、CPU301は処理対象の要素がメタデータを直接参照する要素か否かを判定する。JDFジョブチケットでは、子要素を持たないExpr要素がメタデータを直接参照する要素である。図21に示す要素2103がメタデータを直接参照する要素に相当する。尚、この要素2103は、PDF/VTドキュメントのメタデータであるキー「CustomerID」の値を参照する。またメタデータ2104、2105、2106は、PDF/VTドキュメントの各受取人に対応し、これらが要素2103によって参照される。
S2003で判定した結果、Yesの場合(直接参照する要素であった場合)には、S2004へ処理を進める。一方、Noの場合(直接参照する要素でなかった場合)には、S2007へ処理を進める。このS2004では、CPU301は処理対象要素が属するMetadataMapノName属性の値をプリントサーバ104のRAM302上に記憶する。図21の例では、処理対象要素が属するMetadataMapのName属性の値に相当する「CustomerID」という文字列2107が記憶される。
次に、S2005において、CPU301はJDFジョブチケット内を走査し、S2004で記憶した「CustomerID」を参照している要素を検索する。尚、検索の際に、複数の要素が見つかる場合や要素がまったく見つからない場合もある。
図21では、要素2108がS2004で記憶した値を参照している要素である。この要素2108は、DynamicFieldという要素であり、Template属性で指定した値(CustomerID)を利用して、動的に文字列を生成し、バーコードやスラグラインとして印刷するための要素である。
次に、S2006において、CPU301はExpr要素が参照するメタデータのキーと、S2005にて検索された要素とを対応付けてメタデータ利用マップに記憶する。まず、Expr要素が参照するメタデータのキー(つまり、Expr要素のPath属性の値)をメタデータのキー1701に格納する。図17に示す例では、“/DPart/DPM/KEY[@name=‘CustomerID']”というキーが格納されている。
本実施形態では、PDF/VTドキュメントにおけるメタデータの記述位置をXPathの形式で記述している。尚、メタデータのキー1701に既に同様のキーが格納されている場合には、当該キーを重複して格納しないようにする。また、S2005で一つも要素が検索されなかった場合には、当該メタデータはメタデータのキー1701には格納しないようにする。
次に、CPU301は当該メタデータのキーが格納されているエントリに対応する利用先の要素1702に、S2005で検索された要素を格納する。このS2005で複数の要素が見つかった場合には複数個の要素名を格納する。図21の例では、利用先の要素1702に「DynamicField」が格納される。
次に、S2007において、CPU301はMetadataMap要素以下の要素に、次の処理対象要素が存在するか否かを判定する。判定の結果、Yes(次の処理対象が存在する)であれば、S2008へ処理を進め、No(次の処理対象が存在しない)であれば、この処理を完了する。一方、S2008では、CPU301はMetadataMap要素以下の、次の要素に処理を移す。
S2001乃至S2008の処理により「メタデータ利用マップ」が完成する。CPU301は、メタデータ利用マップを参照することにより、どのメタデータが、どのJDFジョブチケットの要素から利用されているかを判別できるようになる。
<UI表示処理の詳細>
ここで、UI表示処理(S1603)の詳細を、図22を用いて説明する。この処理により、図19に示すUIのテーブル1903を表示する。
まず、S2201において、CPU301は図18に示すキーバリューマップを初期化する。この初期化は、図18に示すメタデータのキー1801、置換対象フラグ1802、バリュー1803の内容を削除する処理である。
次に、S2202において、CPU301はPDF/VTドキュメントを解析し、このPDF/VTドキュメントに含まれるメタデータのキー、バリューをキーバリューマップに記憶する。具体的には、PDF/VTドキュメントに含まれるキーをメタデータのキー1801に格納する。具体的には、当該キーのロケーションをXPathの形式で格納する。そして、各キーに対応するバリューをバリュー1803に格納する。尚、置換対象フラグ1802には、全てのキーに対してTrueを格納しておく。
次に、S2203において、CPU301はキーバリューマップの最初のキー(即ち、図18に示すメタデータのキー1801の一番上のエントリ)を処理対象とする。そして、S2204において、CPU301は処理対象のキーが図17に示す「メタデータ利用マップ」のメタデータのキー1701に存在するか否かを判定する。この処理は、言い換えると、処理対象のキーがJDFジョブチケットのMetadataMapから直接参照されているか否かを判定する処理である。判定の結果、Yesの場合(処理対象のキーがメタデータ利用マップに存在する場合)には、S2205へ処理を進める。一方、Noの場合(存在しない場合)には、S2206へ処理を進める。
図17、図18に示す例では、キーバリューマップの最初のキーである「/DPart/DPM/KEY[@name=‘CustomerID']」は、メタデータ利用マップに存在する。つまり、当該キーは、MetadataMapから直接参照されているため、S2205へ処理を進める。S2205では、CPU301は図19に示すUIのチェックボックス1907をオフにし、図18に示す置換対象フラグ1802をFalseに変更する。これにより、図19に示すUIを開いたときに、デフォルト表示でチェックボックスがオフ状態となる。
これに対して、S2206では、CPU301は図19に示すUIのチェックボックス1907をオンにし、図18に示す置換対象フラグ1802をTrueに変更する。これにより、図19に示すUIを開いたときに、デフォルト表示でチェックボックスがオン状態となる。
そして、S2207において、CPU301は処理対象のキーに関して、図19に示すUIのテーブル1903にキー及びバリューを表示する。一覧フィールド1904には、「キーバリューマップ」のメタデータのキー1801に基づいてキー名を表示する。次のフィールド1905には、「キーバリューマップ」のバリュー1803に基づいて各キーに対応するバリューの一覧を表示する。そして、フィールド1906には、「メタデータ利用マップ」の利用先の要素1702に基づいて、JDFジョブチケットでの利用要素の一覧を表示する。
図19の例では、フィールド1905、1906に一覧を列挙しているが、フィールド1905、1906をダブルクリックした場合に別途ダイアログを表示して一覧表示し、視認性を高めるようにしてもよい。
次に、S2208において、CPU301はキーバリューマップに、次の処理対象キーが存在するか否かを判定する。判定の結果、Yes(次の処理対象が存在する)であれば、S2209へ処理を進めるが、No(次の処理対象が存在しない)であれば、この処理を完了する。一方、S2209では、キーバリューマップの次の要素に処理を移す。
上述のUI表示処理により、図19に示すUIをユーザに提示する。そして、チェックボックス1907を通じて、どのメタデータを難読化するかをユーザから受け付けることで、ユーザが望んだメタデータのみ難読化を行うことができる。
[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (9)

  1. 情報処理装置であって、
    可変印刷のドキュメントと、当該ドキュメントに含まれるメタデータに応じた条件付きの印刷設定とを受信する受信手段と、
    前記受信手段により受信された前記ドキュメントに含まれるメタデータと前記条件付きの印刷設定との間で共通の情報を任意の情報にそれぞれ置換する置換手段と、
    前記共通の情報が前記任意の情報に置換された前記ドキュメントと前記条件付きの印刷設定とを用いて印刷を指示する指示手段と、
    を有することを特徴とする情報処理装置。
  2. 前記置換手段は、前記条件付きの印刷設定の条件式を予め定められた文字列に変更することにより共通の情報を任意の情報にそれぞれ置換することを特徴とする請求項1に記載の情報処理装置。
  3. 前記文字列は、当該文字列にランダムな文字列を含むことを特徴とする請求項2に記載の情報処理装置。
  4. 前記文字列は、処理開始から前記文字列を変更するたびにインクリメントされる連番の数字を含むことを特徴とする請求項2に記載の情報処理装置。
  5. 前記メタデータが置換対象か否かをユーザに指定させる指定手段を更に有し、
    前記置換手段は、前記指定手段により置換対象に指定されたメタデータと前記条件付きの印刷設定との間で共通の情報を任意の情報にそれぞれ置換することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記指定手段により置換対象に指定されたメタデータが前記条件付きの印刷設定で直接利用されている場合、前記置換手段により当該メタデータの置換を行うとユーザが望んだ印刷設定結果とならない場合がある旨を前記ユーザに警告することを特徴とする請求項5に記載の情報処理装置。
  7. 前記指示手段は、プリンタ或いはプリンタコントローラに印刷を指示することを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
  8. 情報処理装置の処理方法であって、
    受信手段が、可変印刷のドキュメントと、当該ドキュメントに含まれるメタデータに応じた条件付きの印刷設定とを受信する受信工程と、
    置換手段が、前記受信工程において受信された前記ドキュメントに含まれるメタデータと前記条件付きの印刷設定との間で共通の情報を任意の情報にそれぞれ置換する置換工程と、
    指示手段が、前記共通の情報が前記任意の情報に置換された前記ドキュメントと前記条件付きの印刷設定とを用いて印刷を指示する指示工程と、
    を有することを特徴とする情報処理装置の処理方法。
  9. コンピュータを請求項1乃至7の何れか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
JP2012090452A 2012-04-11 2012-04-11 情報処理装置及びその処理方法 Active JP5930815B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012090452A JP5930815B2 (ja) 2012-04-11 2012-04-11 情報処理装置及びその処理方法
US13/855,057 US9064201B2 (en) 2012-04-11 2013-04-02 Information processing apparatus that instructs printing using metadata without divulging content of the metadata and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012090452A JP5930815B2 (ja) 2012-04-11 2012-04-11 情報処理装置及びその処理方法

Publications (2)

Publication Number Publication Date
JP2013218613A JP2013218613A (ja) 2013-10-24
JP5930815B2 true JP5930815B2 (ja) 2016-06-08

Family

ID=49324800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012090452A Active JP5930815B2 (ja) 2012-04-11 2012-04-11 情報処理装置及びその処理方法

Country Status (2)

Country Link
US (1) US9064201B2 (ja)
JP (1) JP5930815B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5713563B2 (ja) * 2010-01-14 2015-05-07 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム
US20150169508A1 (en) * 2013-12-13 2015-06-18 Konica Minolta Laboratory U.S.A., Inc. Obfuscating page-description language output to thwart conversion to an editable format
JP2015197826A (ja) * 2014-04-01 2015-11-09 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP2015215653A (ja) * 2014-05-08 2015-12-03 コニカミノルタ株式会社 プリンタドライバ及びプリンタドライバの禁則処理制御方法
US9477913B2 (en) * 2014-11-12 2016-10-25 Xerox Corporation Print path obfuscation method and system for document content analytics assessment
JP2016224857A (ja) * 2015-06-03 2016-12-28 株式会社リコー 画像処理装置、画像処理方法及び画像処理プログラム
CN106293552A (zh) * 2016-07-28 2017-01-04 上海爱数信息技术股份有限公司 一种浏览器防打印方法及系统
US10152284B2 (en) 2016-10-26 2018-12-11 Ricoh Company, Ltd. Synchronizing metadata with alterations to a portable document format print job
US10936681B2 (en) * 2017-08-03 2021-03-02 International Business Machines Corporation Generalized search engine for abstract data types with skimming and approximate retrieval
JP7182022B2 (ja) * 2017-09-11 2022-12-01 株式会社日立システムズ コンピュータ装置および文書処理プログラム
JP7011912B2 (ja) * 2017-09-11 2022-01-27 株式会社日立システムズ 文書処理システム、処理システムおよび文書処理プログラム
US11294938B2 (en) 2019-01-03 2022-04-05 International Business Machines Corporation Generalized distributed framework for parallel search and retrieval of unstructured and structured patient data across zones with hierarchical ranking
CN110472379A (zh) * 2019-07-18 2019-11-19 浙江新华数码印务有限公司 基于传统印刷形式的可变数据印刷及保护与失效识别方法
CN112181523B (zh) * 2020-09-29 2024-03-12 四川封面传媒有限责任公司 一种项目配置信息的变更管理方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006294017A (ja) 2005-03-18 2006-10-26 Ricoh Co Ltd 印刷情報処理システム、印刷情報処理プログラム及び記録媒体
JP4135733B2 (ja) * 2005-06-30 2008-08-20 コニカミノルタビジネステクノロジーズ株式会社 ジョブチケット発行装置及びジョブ実行装置
US7571069B1 (en) * 2006-12-22 2009-08-04 Hewlett-Packard Development Company, L.P. Data assurance workflow derivation and execution
JP5043715B2 (ja) * 2008-02-22 2012-10-10 キヤノン株式会社 画像処理装置
JP2009251803A (ja) 2008-04-03 2009-10-29 Canon Inc 情報処理装置、データ処理方法、プログラム
JP5361479B2 (ja) * 2009-03-17 2013-12-04 キヤノン株式会社 ジョブ管理装置、制御方法及びプログラム
JP5713563B2 (ja) * 2010-01-14 2015-05-07 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム
JP5451411B2 (ja) * 2010-01-14 2014-03-26 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム
GB2483648A (en) * 2010-09-14 2012-03-21 Mastek Uk Ltd Obfuscation of data elements in a message associated with a detected event of a defined type

Also Published As

Publication number Publication date
US20130271777A1 (en) 2013-10-17
US9064201B2 (en) 2015-06-23
JP2013218613A (ja) 2013-10-24

Similar Documents

Publication Publication Date Title
JP5930815B2 (ja) 情報処理装置及びその処理方法
US11586800B2 (en) Document architecture with fragment-driven role based access controls
JP5046881B2 (ja) 情報処理装置、表示制御方法ならびにプログラム
JP5239170B2 (ja) 画像処理システム及びプログラム
US8239956B2 (en) Document outputting apparatus, control method thereof, and document output system
US20090044283A1 (en) Document management apparatus, document management system and method, and computer-readable medium
US8261187B2 (en) System and method for managing dynamic document references
JP2013093017A (ja) ネットワーク外のデバイスからの無線印刷
JP4799497B2 (ja) ドキュメントオブジェクト
US9137405B2 (en) System for creating certified document copies
JP2008209985A (ja) データ処理装置、電子文書登録方法、及びコンピュータプログラム
JP5355032B2 (ja) クライアント装置、サーバ装置、及び、それらを用いた文書管理システム、文書管理方法、文書管理プログラム
JP2009187126A (ja) 情報処理装置、及び、情報処理方法
JP2007304931A (ja) 印刷システム、印刷方法及び印刷処理プログラム
JP2012045847A (ja) 画像形成装置、画像形成装置の制御方法、プログラム
JP5322421B2 (ja) 情報処理装置およびその方法
JP5045118B2 (ja) 文書管理装置、文書管理システム及びプログラム
JP5082460B2 (ja) 情報処理装置及びプログラム及び情報処理システム
US8456659B2 (en) Access control system, apparatus, and program
JP5747598B2 (ja) 画像形成装置、画像形成システムおよび処理プログラム
US20140101210A1 (en) Image processing apparatus capable of easily setting files that can be stored, method of controlling the same, and storage medium
US20210294779A1 (en) Information processing apparatus and non-transitory computer readable medium
JP4908053B2 (ja) 印刷システム、印刷方法及び印刷処理プログラム
JP2010287094A (ja) 情報処理装置、情報処理方法及びプログラム
JP2020009341A (ja) 画像出力の管理装置、画像出力装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160316

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: 20160328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160426

R151 Written notification of patent or utility model registration

Ref document number: 5930815

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151