Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7152879B2 - 情報処理装置及びその制御方法およびプログラム - Google Patents
[go: Go Back, main page]

JP7152879B2 - 情報処理装置及びその制御方法およびプログラム - Google Patents

情報処理装置及びその制御方法およびプログラム Download PDF

Info

Publication number
JP7152879B2
JP7152879B2 JP2018099792A JP2018099792A JP7152879B2 JP 7152879 B2 JP7152879 B2 JP 7152879B2 JP 2018099792 A JP2018099792 A JP 2018099792A JP 2018099792 A JP2018099792 A JP 2018099792A JP 7152879 B2 JP7152879 B2 JP 7152879B2
Authority
JP
Japan
Prior art keywords
margin
data
print
control program
application
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
JP2018099792A
Other languages
English (en)
Other versions
JP2019204347A5 (ja
JP2019204347A (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 JP2018099792A priority Critical patent/JP7152879B2/ja
Priority to US16/411,298 priority patent/US10901663B2/en
Publication of JP2019204347A publication Critical patent/JP2019204347A/ja
Publication of JP2019204347A5 publication Critical patent/JP2019204347A5/ja
Application granted granted Critical
Publication of JP7152879B2 publication Critical patent/JP7152879B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1254Automatic configuration, e.g. by driver
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/0044Display of information to the user, e.g. menus for image preview or review, e.g. to help the user position a sheet
    • H04N1/00442Simultaneous viewing of a plurality of images, e.g. using a mosaic display arrangement of thumbnails
    • H04N1/00456Simultaneous viewing of a plurality of images, e.g. using a mosaic display arrangement of thumbnails for layout preview, e.g. page layout
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00681Detecting the presence, position or size of a sheet or correcting its position before scanning
    • H04N1/00684Object of the detection
    • H04N1/00708Size or dimensions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00681Detecting the presence, position or size of a sheet or correcting its position before scanning
    • H04N1/00742Detection methods
    • H04N1/00748Detecting edges, e.g. of a stationary sheet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、アプリケーションにより作成した文書の印刷技術に関するものである。
Microsoft Excel(登録商標)のような表計算ソフトウェアには、用紙サイズという概念がない。そのため、このような表計算ソフトウェアから表計算ドキュメントを印刷する際は、ユーザが特定の用紙サイズを指定して印刷を行う必要がある。しかしながら、大部分の表計算ドキュメントの縦横比はA4サイズ等の定型サイズの比率とは異なっているため、意図しない箇所でページが分割されたり、意図しない余白が発生してしまうことが往々にして良くある。
そこで、特許文献1に記載の印刷システムでは、規定の用紙サイズを表計算ソフトウェアに設定し、表計算ドキュメントに割り当てられたページ数を取得する。そして、取得されたページ数と該規定の用紙サイズに基づいて、表計算ドキュメントを1ページに含む、該表計算ドキュメントの大きさに対応する用紙サイズ算出する。さらに、算出された用紙サイズの大きさを少しずつ縮小しながら繰り返し表計算ソフトウェアに設定することで、表計算ソフトウェアによりフィットする用紙サイズを求める。そして、求めた用紙サイズを表計算ソフトウェアに対して指定し、該用紙サイズに応じて表計算ソフトウェアにより生成されたデータを、ロール紙のサイズに合わせてプリンタドライバに変倍させ、変倍されたデータを印刷装置にロール紙へ印刷させる。これにより、無駄な分割や余白が発生しない印刷を実現している。
特許5253060号公報
しかしながら、特許文献1の印刷システムでは、表計算ドキュメントによりフィットする用紙サイズを表計算ソフトウェアに設定する処理を行っている。そのために、用紙サイズを縮小しながら繰り返し表計算ソフトウェアに対して設定を行うことで、用紙サイズの調整を行っている。特にその調整のために表計算ソフトウェアに対して用紙サイズを設定する回数が多かった場合、アプリケーションに対する設定に多くの時間がかかってしまうことがある。一方で、表計算ドキュメントに対して余白の多い用紙サイズをアプリケーションに設定した場合、該用紙サイズの1ページに含まれるデータが、余白の多い状態で印刷されてしまう。
この課題を解決するため、例えば本発明の情報処理装置は以下の構成を備える。すなわち、
印刷対象のデータを生成するアプリケーション生成された前記データを印刷装置で印刷させるための前記アプリケーションに組み込まれる第1の制御プログラム及び前記第1の制御プログラムを介して印刷の指示があった場合に実行する第2の制御プログラムとを実行する情報処理装置であって、
記第1の制御プログラムにより複数の用紙サイズとの比較によって前記データを1ページに含ませるための所定の用紙サイズの設定を前記アプリケーションに実行させ、前記第2の制御プログラムに対して余白削除を行わせるための余白削除設定を実行する設定手段と、
前記第2の制御プログラムにより、前記アプリケーションにより生成された、1ページの前記所定の用紙サイズ含まれている前記データに基づく印刷データを生成、生成した印刷データの余白を削除する余白削除手段と、
該余白削除手段で余白削除した印刷データを前記印刷装置に出力する出力手段とを有する。
本発明によれば、アプリケーションに対してより簡単な設定を行った場合でも、無駄な余白部分を適切に削除もしくは削減して、アプリケーションにより作成されたデータを1枚の記録紙に印刷させることが可能になる。
第1の実施形態のシステム構成図。 ホスト装置の構成を示すブロック図。 表計算ソフトウェアの画面の一例を示す図。 表計算ソフトウェアにプラグインを組み込んだ画面の一例を示す図。 プラグイン起動後の処理手順を示すフローチャート。 プラグインの用紙サイズ算出処理のフローチャート。 プリンタドライバのフローチャート。 余白削除された印刷結果の一例を示す図。 第2の実施形態のシステム構成図。 加工用プリンタドライバの処理手順を示すフローチャート。 プレビューソフトウェアの画面の一例を示す図。
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下の実施形態では、表計算ソフトウェアのプラグインソフトウェア(以下、プラグイン)と、表計算ソフトウェアから印刷された印刷データを加工するプリンタドライバを用いた例を説明する。ここで、プラグインとは、ソフトウェアに対して機能を追加するプログラムである。たとえば、Microsoft Office(登録商標)や、Microsoft Internet Explorer(登録商標)などは、自身の機能を拡張させるための手段を公開している。そのため、これらのソフトウェアはプラグインを登録して新たな機能を追加することが可能となっている。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
[第1の実施形態]
図1は、第1の実施形態におけるシステム構成図である。本システムは、ホスト装置1と、ロール紙を装着可能な印刷装置2によって構成される。ホスト装置1は、パーソナルコンピュータ等であり、マイクロソフト社のOS(オペレーティングシステム)、印刷装置2を制御するソフトウェアであるプリンタドライバ110、一般的な表計算ソフトウェア100がハードディスク等の記憶装置に既にインストールしているものとする。本実施形態では、一般的な表計算ソフトウェアとして、Microsoft Excel(登録商標)を想定して説明する。なお、ホスト装置1と印刷装置2とはネットワークを介して接続されるものとするが、他のI/Fを介して接続しても構わないし、有線、無線の種類も特に問わない。
プラグイン101は、表計算ソフトウェア100の機能を拡張するためのソフトウェアの一種であり、表計算ソフトウェア100上で動作し、表計算ソフトウェア100の制御を行う。プリンタドライバ110は表計算ソフトウェア100から印刷データを受け取って、印刷装置2が解釈できる形式の印刷データを生成し、その印刷データを印刷装置2に転送する処理を行う。
図2は、ホスト装置1のブロック構成図である。ホスト装置1は、CPU201と、ROM202と、RAM203と、通信インターフェース204と、外部記憶装置205と、入力部206と、表示部207とを有する。
CPU201は、ホスト装置1の全体の各種制御を行う。ROM202には、ホスト装置1の起動時に、CPU201が実行する初期化プログラム(BIOS、ブートプログラム)や各種データが格納されている。RAM203は、CPU201に対するメインメモリや作業領域として用いられる。外部記憶装置205は、たとえば、ハードディスク(HDD)等で構成され、OS、表計算ソフトウェア100、プラグイン101、プリンタドライバ110、その他各種プログラムや、表計算ソフトウェア100で作成したデータファイルが格納されている。
本装置の電源がONになると、CPU201はROM202のブートプログラムに従って外部記憶装置205からOSをRAM203にロードし実行する。この結果、ホスト装置1は、入力部206を介してユーザからの指示入力と表示部207への各種情報の表示を行うユーザインターフェースを有する情報処理装置として機能することになる。更に、CPU201はOSの制御下で、表計算ソフトウェア100や、プラグイン101、プリンタドライバ110を外部記憶装置205からRAM203にロードし実行することで、本装置は表計算ソフトウェアによるユーザが作成した表の印刷制御装置として機能することになる。なお、入力部206は、キーボードやマウス等で構成され、入力部206を介して、ユーザが各種指示を、CPU201に入力する。表示部207は、LCDやCRT等で構成され、CPU201の制御によって、各種表示を行う。また、通信インターフェース204を介して、印刷装置2等、周辺装置と通信する。プリンタドライバ110が生成した印刷データは、この通信インターフェース204を介して印刷装置2に送信されることになる。
図3は、ホスト装置1上で表計算ソフトウェア100を実行している際の、ユーザによる作表画面を示している。表計算ソフトウェア100の画面は、表計算ソフトウェア100の備える機能をメニュー形式で表示するメニューバー300と、メニュー内の機能をアイコン等のコントロールで表示するリボン310と、現在編集中の表計算ドキュメントを表示する文書表示領域320で構成される。
メニューバー300において、ページレイアウトに関するメニュータブがユーザによって選択された場合、リボン310には、参照符号311~314のコントロールが表示される。コントロール311は印刷に使用する用紙サイズを設定するためのコントロールである。コントロール312、313は印刷に使用する印刷用紙の枚数を指定するコントロールである。また、コントロール312は横方向(水平方向)、コントロール313は縦方向(垂直方向)に使用するページ数(印刷用紙の枚数)を設定するコントロールである。そして、コントロール314は、拡大縮小して印刷する場合に倍率を指定するためのコントロールである。横方向のページ数をN、縦方向のページ数をMとしたとき、実際に印刷される印刷用紙の枚数はN×Mとなる。
なお、印刷用紙の枚数を指定するコントロール312、313と、倍率指定のコントロール314は排他関係にあり、どちらか一方しか設定はできない。例えば、用紙サイズ311にA4、横の印刷枚数312に「1ページ」(印刷用紙1枚)、縦の印刷枚数313に「1ページ」(印刷用紙1枚)が設定されている場合は、A4用紙1枚に対する印刷が行われることを示す。このとき、倍率指定314は設定不可となり、描画データがA4サイズよりも小さい場合は、100%が設定され、描画データがA4サイズよりも大きい場合、倍率指定314は100%よりも小さな値が自動計算され、縮小印刷が行われる。一方、用紙サイズ311にA4、倍率指定314に100%が設定されている場合は、A4用紙で100%のサイズで印刷が行われる。このとき、描画データがA4サイズよりも大きい場合、横の印刷枚数312や縦の印刷枚数313には「1ページ」より大きなページ数が設定され、例えば、横2枚、縦3枚を掛け合わせた計6枚の印刷が実行されることになる。
図4は、ユーザによって、メニューバー300の中のプラグイン101に関するメニュータブ「プラグイン」が選択された場合の画面を示している。ここで、プラグイン101は表計算ソフトウェア100に事前に登録を済ませているものとする。なお、表計算ソフトウェアに対する一般的なプラグインのシステム登録の方法については、公知であるため説明を省く。
参照符号401は、実施形態のプラグイン101が備えるコントロールであり、現在開いている表計算ドキュメントを無駄な余白なしに1枚の用紙で印刷を実行させるための印刷ボタンである。ユーザは、入力部206に連動するカーソルを、このコントロール401が示すボタン上に移動させ、クリックする操作を行うと(以下、単純に押下操作という)と、CPU201は、表計算ソフトウェア100の一部の機能として、プラグイン101が規定する処理を実行することになる。以下、図5を参照して、CPU201が実行する、このプラグイン101の処理手順を説明する。
まず、S101にて、CPU201は、印刷に使用する用紙サイズの算出と設定を行う。この算出と設定処理を図6のフローチャートに従って説明する。なお、当然ながら以下の説明もプラグイン101の処理の一部である。
S201にて、CPU201は、表計算ソフトウェア100のAPIを用いて、初期値として倍率指定314に100%の値を設定する。表計算ソフトウェア100のAPIについては、公知であるため、その説明は省く(以後、同様)。
次にS202にて、CPU201は、表計算ソフトウェア100のAPIを用いて、用紙サイズ311に予め設定された規定のサイズを設定し、処理をS203へ処理を進める。この規定のサイズは、実施形態では固定値として扱うが、ユーザが設定できるようにしても良い。その場合、設定したサイズに関する情報は外部記憶装置205に格納され、ユーザから特に変更指示が無い限り、維持されるものとする。
ここで言う規定のサイズは、表計算ソフトウェア100が作成する印刷データのサイズであり、印刷装置2に実際に搭載された記録用紙のサイズとは無関係の仮の記録紙のサイズである。詳細は後述する説明から明らかになるが、ここで設定された用紙サイズで表計算ソフトウェア100は印刷データを作成し、その後、プリンタドライバ110あるいはプレビューソフトウェア140によって、外周の余白領域の削除と、実際の記録用紙のサイズに合わせた変倍処理(拡大又は縮小)が実行される。表計算ソフトウェア100に設定する用紙サイズは、描画データが無駄に縮小されて画質劣化が発生することがないよう、100%の拡大率で印刷可能な大き目の用紙サイズを設定することが望ましい。ただし、用紙サイズを無駄に大きな値に設定した場合、その後のレンダリング処理や余白領域の削除処理に時間がかかってしまうことから、描画データよりも少し大き目のサイズを設定するのが理想的であり、S202では、一般に利用頻度が高いA3サイズまでのデータが収まるA3サイズを規定のサイズの初期値として設定している。
S203にて、CPU201は、表計算ドキュメントの描画データが先ほど設定した用紙サイズと倍率100%の設定で印刷された場合に、何ページの印刷となるかを判断すると共に、その結果が印刷用紙1枚(即ち1ページ)に収まるか否かを判定する。印刷用紙1枚(1ページ)に収まらないと判定された場合、CPU201は処理をステップS204へ進める。また、ページ1枚に収まると判定した場合、CPU201は本処理を終了する。なお、ページ1枚に収まるかどうかの判断は特に問わないが、例えば表計算ソフトウェア100のAPIを通して現在の印刷枚数を取得する方法や、ページの改行の個数を判断するなどの方法が考えられる。
S204にて、CPU201は、先ほど設定した用紙サイズ“A3”よりも大きいサイズを設定し、処理を205へと進める。ここでは“A1”サイズを設定したものと仮定する。
S205にて、CPU201は、S203と同様の処理を行う。異なるのは、この段階での設定した用紙サイズが“A1”となっている点である。印刷対象の表計算ドキュメントが印刷用紙1枚(1ページ)に収まらないと判定した場合、CPU201は処理をS206へ進め、1枚に収まると判定した場合は本処理を終了する。
S206にて、CPU201は、プリンタドライバ110が使用可能な最大の用紙サイズを設定し、用紙サイズ算出処理を終了する。ここで、最大の用紙サイズとしては、A0などの業界標準の定型サイズを指定する方法や、プリンタドライバ100のインストール時に、あらかじめ印刷に使用可能なオリジナルの最大サイズを登録して、それを指定する方法が考えられる。オリジナルのサイズの登録としては、OS標準の用紙サイズデータベースに登録する方法があり、ここで例えば60インチ×5m等のサイズを登録して使用することができる。ここで登録されたオリジナルのサイズは、一時的に使用するカスタムサイズとは異なり、3.2m等の制限を持たないため、3.2mを超えた巨大なデータを縮小することなく、高品質で印刷することができるようになる。
以上の用紙サイズ算出処理により、描画データの大きさに応じて3段階で用紙サイズが設定されることになる。これにより、無駄に大きなサイズで印刷を行うケースが削減でき、後述する余白削除処理の高速化や、印刷自体の高速化、画質劣化の抑制を図ることができる。なお、実施形態では3つの用紙サイズを使用したが、もちろんこの数や用いる用紙サイズを変更することも可能である。また、プリンタドライバ110の最大サイズを固定で設定する方法や、A1等の特定サイズで固定する方法も考えられる。
図5のフローチャートの処理の説明に戻る。
S101にて、CPU201は印刷用紙のサイズの設定処理を終えると、処理をS102に進める。
S102にて、CPU201は、表計算ソフトウェア100のAPIを用いて、横(水平方向)の印刷枚数312に「1ページ」、縦(垂直方向)の印刷枚数313に「1ページ」を表計算ソフトウェア100におけるページ設定において設定し、処理をS103へ進める。本処理により、意図しない箇所で作成した表が、表計算ソフトウェア100により分割されることを防ぎ、確実に1枚の用紙への印刷を実現できるようになる。本処理により、S201で設定した倍率は、再度自動的に計算され、用紙サイズが描画データより小さい場合は、倍率が100%よりも小さな値となる。なお、用紙サイズが描画データより大きい場合は、100%の値が維持されることになる。
S102における処理により、印刷実行の際には、表計算ドキュメントが1ページに収まっているデータが、印刷対象として表計算ソフトウェア100から出力されることになる。しかし、上述のS202、またはS204、またはS206の処理により設定された用紙サイズから、表計算ドキュメントによりフィットするサイズへ変更する処理が行われていないため、印刷対象のデータにおいて無駄な余白が生じている場合がある。
そこで、S103にて、CPU201は、プリンタドライバ110にこれから印刷する印刷データの上下左右の余白を削除する指示を行い、S104へと処理を進める。この指示する方法としては、例えばプリンタドライバ110のSDK(Software Development Kit)を用いて指示する方法や、印刷するドキュメントの名前を通して指示する方法等が考えられる。要するに、プリンタドライバ110に対して、余白削除を通知できれば良い。
S104にて、CPU201は、表計算ソフトウェア100のAPIを用いて、表計算ソフトウェア100に現在の設定で印刷を実行させ、処理を終了する。なお、S104においては、現在の設定として設定されている出力先のプリンタドライバに、S101において設定された用紙サイズの1ページに含まれている印刷対象の表計算ドキュメントが出力される。ここでは出力先のプリンタドライバとして、プリンタドライバ110が設定されている。
次に、図7のフローチャートを用いて、表計算ソフトウェア100から印刷が実行された後の、CPU201によるプリンタドライバ110の実行手順を説明する。この処理は、上記S104の処理を受けて実行されるものである。
まずS301にて、CPU201は、S103で指定される余白削除の指示が存在するかどうかの確認を行い、指示が存在する場合は処理をS302へ、指示が存在しない場合は処理をS306へと進める。本処理により、プリンタドライバ110は常に余白を削除する必要がなくなり、余白を削除しない印刷ケースと、余白を削除する印刷ケースとを切り分けることが可能となる。
S302にて、CPU201は、表計算ソフトウェア100から渡された印刷対象のデータに基づき、RGBデータにレンダリングし、印刷イメージデータを生成する。そして、CPU201は処理をS303へ進める。なお、ここでは、RGB色空間でのレンダリングについて説明したが、色空間の種類は問わない。例えばCMYKやRGBA等の色空間でも構わない。
S303にて、CPU201は、レンダリングして得た印刷イメージデータの上下左右の余白を算出し、S304へと処理を進める。算出方法としては、印刷イメージデータの最上位のラインから下方向のラインに向けて走査し、最初に真っ白でない画素(非白画素)を含むラインの直前までを余白領域として判定する。これを左、右、下方向に対しても同様に処理することで、上下左右の余白を算出することができる。つまり、レンダリングした印刷イメージデータにおいて、非白画素を含む領域の外接矩形を求め、その外接矩形の外側を削除するものとして決定する。なお、本実施形態における余白の算出方法は上記の算出方法に限定するものでない。例えば、レンダリング処理中に、非白画素をレンダリングした際の座標が、垂直、水平方向のそれぞれの最大座標を超える、或いは最小座標を下回る場合にその座標を更新する処理を行い、レンダリングを終了した際のそれらの座標から余白を算出しても良い。
S304にて、CPU201は、S303により算出された余白領域をもとに、余白の削除を行い、S305へと処理を進める。余白を削除する対象としては、RGBデータをそのまま印刷データとして印刷装置2に送信する場合は、RGBデータに対して余白箇所(外接矩形外)を削除する。また、RGB以外のフォーマット形式(XPSやPDF等)を印刷装置2に送信する必要がある場合は、そのフォーマットに対して、余白箇所の削除を行う。余白を削除する対象やタイミングについては、特に限定するものではなく、例えば、印刷装置2で実施することも可能である。また、描画データだけでなく、印刷装置2に送信する用紙サイズ等の情報も必要に応じて変更を行う。
S305にて、CPU201は、余白が削除された印刷データを、印刷装置2にセットされた用紙サイズにフィットするよう拡大縮小処理(変倍処理)を行い、S306へと処理を進める。なお、印刷に使用する用紙媒体や用紙サイズについては特に限定されず、例えばロール紙等の長尺印刷が可能な用紙媒体に対しては、拡大/縮小処理は印刷データの幅をロール紙幅へフィットさせて行えばよい。一方、カット紙に対しては、A4等の定型サイズに対して印刷データを内接フィットさせることで無駄な余白を発生させなくする方法や、印刷データを90度回転させた後にフィット処理を行うことで、さらに余白を発生させなくする方法が考えられる。印刷に使用する用紙媒体や用紙サイズの特定方法については、例えばあらかじめプラグイン101に用紙媒体や用紙サイズを指定するコントロールを設ける方法がある。また、印刷装置2がセンサにより現在装着されている用紙媒体の用紙サイズを検知し、検知された用紙サイズを、CPU201がホスト装置1と印刷装置2の間の通信により取得する方法等が考えられる。S306では、このようにユーザにより指定された用紙サイズ、或いは印刷装置2から取得された用紙サイズにフィットするように拡大縮小処理が行われる。なお、特にカット紙の場合、カット紙のアスペクト比と、表計算ソフトウェア100による印刷しようとしている矩形範囲のアスペクト比が一致しない場合がある。この場合、印刷しようとしている矩形範囲の長尺方向を、カット紙の長尺方向に一致させて印刷する。
S306にて、CPU201は、余白削除し、上記の拡大縮小処理後の印刷イメージデータを、印刷装置2が解釈可能な形式の印刷データに変換した上で、印刷装置2に印刷データを転送し、処理を終了する。
以上、説明したように本実施形態によれば、上記プラグイン101、プリンタドライバ110の2つの制御プログラムの共同処理により、図8のように、表計算ソフトウェア100により作成した表(文書)を包含する印刷範囲を、余白無し或いは余白を削減して、1枚の記録紙へカスタムサイズで印刷が可能となる。特に、本実施形態によれば、図6の処理により、表計算ドキュメントを1ページに含む用紙サイズが、表計算ソフトウェア100に設定される。そして、その用紙サイズに対応する大きさの印刷対象のデータが表計算ソフトウェア100により作成される。そして、余白の削除については、プリンタドライバ110により実行される。そのため、例えば図6に示す処理の後に、余白がより少ない用紙サイズを算出して表計算ソフトウェア100に対して設定する場合に比べ、より簡単な処理により表計算ソフトウェア100に用紙サイズを設定することができる。また、この場合、表計算ソフトウェア100により余白があるデータが生成されることもあるが、プリンタドライバ110により余白が削除される。そのため、表計算ソフトウェア100に対するより簡単な設定が行われるが、余白が適切に削除または削減された印刷結果を得ることができる。
また、表計算ソフトウェア100が、表計算ドキュメントにおけるセル内の余白を削除することができない場合もある。この場合、例えば表計算ドキュメントによりフィットする用紙サイズを設定できたとしても、セル内の余白は残っている状態で印刷対象のデータが生成される。しかし、本実施形態によれば、プリンタドライバ110では、表計算ドキュメントとしてのデータでなく、RGB等の画像データとして余白を削除する。そのため、表計算ドキュメントにおいて元々はセル内に設けられていた余白を印刷装置2による印刷対象から除外することができる。
なお、S306において、プリンタドライバ110は、S304で削除された余白とは別に、印刷のための所定の余白を印刷イメージデータに付与してもよい。或いは、印刷装置2において、印刷のための所定の余白が付与されるよう印刷が行われてもよい。これにより、仮にS304において余白が完全に削除され、表計算ドキュメントにおける実データが印刷イメージデータの端に配置されていたとしても、印刷結果においてある程度の余白を残すことができる。そのため、印刷結果の視認性を確保することができる。または、S304において、印刷結果の視認性確保のために、所定の量の余白は残すように、余白の削減を行ってもよい。
[第2の実施形態]
次に、余白削除したデータを、印刷前にプレビュー表示やレイアウト変更する例を第2の実施形態として説明する。
図9は、本第2の実施形態におけるシステム構成図である。本システムにおける、ホスト装置1、印刷装置2、表計算ソフトウェア100、プラグイン101については、図1と同じであるため説明を省く。
加工用プリンタドライバ120は、表計算ソフトウェア100からの印刷データを受け取り、余白削除までを行うプリンタドライバである。ただし、加工用プリンタドライバ120は印刷装置2への印刷は行わず、余白削除後のイメージデータをスプールファイル130として出力する。スプールファイル130の出力場所は、外部記憶装置205に予め定義されたTempフォルダやAppData等、後述するプレビューソフトウェア140が読み込むことができればよく、その場所は特に問わない。
プレビューソフトウェア140はスプールファイル130を読み込み、余白削除されたデータを表示部207にプレビューウインドウとして表示する。プレビューソフトウェア140の起動方法としては、ユーザが自身で起動する方法や、加工用プリンタドライバ120への印刷を監視し、その印刷タイミングでプレビューソフトウェア140を起動する常駐アプリケーションを用意する方法等が考えられる。また、スプールファイル130を監視して自動起動する方法や、加工用プリンタドライバ120が直接起動する方法等でも構わない。
プリンタドライバ150は、印刷装置2に印刷データを転送するための一般的なプリンタドライバである。プレビューソフトウェア140からプリンタドライバ150に印刷指示を行うことで、印刷装置2に対して送信処理が実行される。なお、加工用プリンタドライバ120とプリンタドライバ150は内部的に処理を切り替える構成をとることで、同じ一つのプリンタドライバとすることも可能である。
図10は、表計算ソフトウェア100から印刷が実行された後の加工用プリンタドライバ120の動作を表したフローチャートである。同図は、先に説明した第1の実施形態の図7に置き換わるものである。そして、図示のS401はS301と、S402はS302と、S403はS303と、S404はS304と同じ処理であるため、ここでの説明は省略し、S405について説明する。
S405にて、CPU201は、余白を削除した印刷データをスプールファイル130として出力し、処理を終了する。ここで、プレビューソフトウェア140にて、印刷データを拡大や縮小する変更が可能な場合は、S404で余白を削除し、S405で特定フォルダへ出力する印刷データは、ベクター形式のデータが望ましい。例えば、加工用プリンタドライバ120がXPS(XML Paper Specification)を印刷データとして扱うXPSドライバの場合は、プリンタドライ150が受信する印刷データはベクター形式のXPSとなる。この場合、S403の余白箇所の算出はXPSをRGBに変換したものに対して行われるが、S404で余白を削除しS405で出力する印刷データは、ベクター形式であるXPSとなる。その結果、プレビューソフトウェア140上で印刷データが拡大や縮小される場合においても、ベクター形式であるXPSに対して処理が行われるため、細線の途切れや、文字が粗くなる等の品質低下が起こることなく、高品質での印刷を実現することができる。
図11はプレビューソフトウェア140により表示するプレビューウインドウの一例を表している。図示の参照符号1101が、印刷結果を確認するための作表イメージを示す画面であり、ユーザは印刷をキャンセルしたい場合はキャンセルボタン1102を押下(クリック)し、印刷を実行する場合は印刷ボタン1103を押下することで、印刷を実行することができる。
プレビューソフトウェア140には、印刷データのプレビューのみでなく、印刷データの加工処理の機能を持たせることも可能である。例えば、余白削除された印刷データとロール紙幅の長さが一致していない場合、ユーザは、印刷データを自動的にロール紙幅にフィットさせるチェックボックス1104をチェック状態にすれば良い。これにより、確実に無駄な余白が発生しない印刷を実現できる。
また、第2の実施形態は、加工用プリンタドライバ120が余白の削除を行ったが、これをプレビューソフトウェアで行ってもよい。なお、本第2の実施形態のプリンタドライバ150は、図7におけるS305の処理を行い、印刷装置2に送信する。
以上の第2の実施形態により、余白を削除された印刷データのプレビューや、追加の加工処理が実現可能となる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1…ホスト装置、2…印刷装置、101…プラグイン、110…プリンタドライバ

Claims (15)

  1. 印刷対象のデータを生成するアプリケーション生成された前記データを印刷装置で印刷させるための前記アプリケーションに組み込まれる第1の制御プログラム及び前記第1の制御プログラムを介して印刷の指示があった場合に実行する第2の制御プログラムとを実行する情報処理装置であって、
    記第1の制御プログラムにより複数の用紙サイズとの比較によって前記データを1ページに含ませるための所定の用紙サイズの設定を前記アプリケーションに実行させ、前記第2の制御プログラムに対して余白削除を行わせるための余白削除設定を実行する設定手段と、
    前記第2の制御プログラムにより、前記アプリケーションにより生成された、1ページの前記所定の用紙サイズ含まれている前記データに基づく印刷データを生成、生成した印刷データの余白を削除する余白削除手段と、
    該余白削除手段で余白削除した印刷データを前記印刷装置に出力する出力手段と
    を有することを特徴とする情報処理装置。
  2. 前記設定手段は、更に、予め設定された複数のサイズの記録紙の中の、前記アプリケーションが作成したデータの印刷範囲を包含する最小のサイズの記録紙を設定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記余白削除手段は、
    前記アプリケーションにより生成された、前記所定の用紙サイズの1ページに含まれている前記データの印刷イメージを生成し、生成された印刷イメージにおける余白を削除することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記余白削除手段は、前記印刷イメージにおける非白画素を含む領域の外接矩形を求め、当該外接矩形の外側を前記余白として判定して余白削除を行うことを特徴とする請求項3に記載の情報処理装置。
  5. 前記出力手段は、余白削除後の印刷イメージを、前記印刷装置にセットされた記録紙のサイズに応じて変倍し、前記変倍して得た印刷イメージを前記印刷装置に出力する
    ことを特徴とする請求項3または4に記載の情報処理装置。
  6. 更に、前記余白削除後の印刷データを、プレビュー表示するプレビュー表示手段を有し、
    前記出力手段は、前記プレビュー表示手段で表示したプレビュー表示にて、ユーザから印刷の指示が入力された場合、前記印刷装置への出力を実行する
    ことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記アプリケーションは表計算ソフトウェアであり、前記第1の制御プログラムは前記表計算ソフトウェアのプラグインであり、前記第2の制御プログラムはプリンタドライバ、もしくはプレビューソフトウェアであることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 印刷対象のデータを生成するアプリケーション生成された前記データを印刷装置で印刷させるための前記アプリケーションに組み込まれる第1の制御プログラム及び前記第1の制御プログラムを介して印刷の指示があった場合に実行する第2の制御プログラムとを実行する情報処理装置の制御方法であって、
    記第1の制御プログラムにより複数の用紙サイズとの比較によって前記データを1ページに含ませるための所定の用紙サイズの設定を前記アプリケーションに実行させ、前記第2の制御プログラムに対して余白削除を行わせるための余白削除設定を実行する設定工程と、
    前記第2の制御プログラムにより、前記アプリケーションにより生成された、1ページの前記所定の用紙サイズ含まれている前記データに基づく印刷データを生成、生成した印刷データの余白を削除する余白削除工程と、
    該余白削除工程で余白削除した印刷データを前記印刷装置に出力する出力工程と
    を有することを特徴とする情報処理装置の制御方法。
  9. 前記設定工程は、更に、予め設定された複数のサイズの記録紙の中の、前記アプリケーションが作成したデータの印刷範囲を包含する最小のサイズの記録紙を設定することを特徴とする請求項8に記載の情報処理装置の制御方法。
  10. 前記余白削除工程は、
    前記アプリケーションにより生成された、前記所定の用紙サイズの1ページに含まれている前記データの印刷イメージを生成し、生成された印刷イメージにおける余白を削除することを特徴とする請求項8または9に記載の情報処理装置の制御方法。
  11. 前記余白削除工程は、前記印刷イメージにおける非白画素を含む領域の外接矩形を求め、当該外接矩形の外側を前記余白として判定して余白削除を行うことを特徴とする請求項10に記載の情報処理装置の制御方法。
  12. 前記出力工程は、余白削除後の印刷イメージを、前記印刷装置にセットされた記録紙のサイズに応じて変倍し、前記変倍して得た印刷イメージを前記印刷装置に出力することを特徴とする請求項10または11に記載の情報処理装置の制御方法。
  13. 更に、前記余白削除後の印刷データを、プレビュー表示するプレビュー表示工程を有し、
    前記出力工程は、前記プレビュー表示工程で表示したプレビュー表示にて、ユーザから印刷の指示が入力された場合、前記印刷装置への出力を実行する
    ことを特徴とする請求項8乃至12のいずれか1項に記載の情報処理装置の制御方法。
  14. 前記アプリケーションは表計算ソフトウェアであり、前記第1の制御プログラムは前記表計算ソフトウェアのプラグインであり、前記第2の制御プログラムはプリンタドライバ、もしくはプレビューソフトウェアであることを特徴とする請求項8乃至13のいずれか1項に記載の情報処理装置の制御方法。
  15. 印刷対象のデータを生成するアプリケーションを実行する情報処理装置に実行させるプログラムであって、
    前記プログラムは、前記アプリケーションで生成された前記データを印刷装置で印刷させるための前記アプリケーションに組み込まれる第1の制御プログラム及び前記第1の制御プログラムを介して印刷の指示があった場合に実行する第2の制御プログラムとを含み、
    前記情報処理装置に、
    前記第1の制御プログラムにより、複数の用紙サイズとの比較によって前記データを1ページに含ませるための所定の用紙サイズの設定を前記アプリケーションに実行させ、前記第2の制御プログラムに対して余白削除を行わせるための余白削除設定を実行させ、
    前記第2の制御プログラムにより、前記アプリケーションにより生成された、1ページの前記所定の用紙サイズに含まれている前記データに基づく印刷データを生成させ、生成した印刷データの余白を削除させ、
    前記余白を削除した印刷データを前記印刷装置に出力させる
    ことを特徴とするプログラム。
JP2018099792A 2018-05-24 2018-05-24 情報処理装置及びその制御方法およびプログラム Active JP7152879B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018099792A JP7152879B2 (ja) 2018-05-24 2018-05-24 情報処理装置及びその制御方法およびプログラム
US16/411,298 US10901663B2 (en) 2018-05-24 2019-05-14 Information processing apparatus, control method thereof, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018099792A JP7152879B2 (ja) 2018-05-24 2018-05-24 情報処理装置及びその制御方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2019204347A JP2019204347A (ja) 2019-11-28
JP2019204347A5 JP2019204347A5 (ja) 2021-07-26
JP7152879B2 true JP7152879B2 (ja) 2022-10-13

Family

ID=68613712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018099792A Active JP7152879B2 (ja) 2018-05-24 2018-05-24 情報処理装置及びその制御方法およびプログラム

Country Status (2)

Country Link
US (1) US10901663B2 (ja)
JP (1) JP7152879B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002094762A (ja) 2000-09-18 2002-03-29 Toshiba Corp 画像データ処理装置及び画像データ処理方法
JP2010003186A (ja) 2008-06-20 2010-01-07 Canon Inc 情報処理装置
JP2010067034A (ja) 2008-09-11 2010-03-25 Canon Inc 表計算ソフトにおける用紙サイズ算出方法
JP2011203826A (ja) 2010-03-24 2011-10-13 Canon Inc 画像処理装置、画像処理方法、およびプログラム
JP2015125465A (ja) 2013-12-25 2015-07-06 キヤノン株式会社 用紙サイズ設定プログラムおよび用紙サイズ設定方法
JP2015170115A (ja) 2014-03-06 2015-09-28 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6975425B1 (en) * 1998-02-26 2005-12-13 Canon Kabushiki Kaisha Information processing apparatus and information processing method
US7212309B1 (en) * 2002-08-30 2007-05-01 Microsoft Corporation Best fit printing
JP5445483B2 (ja) * 2011-02-07 2014-03-19 ブラザー工業株式会社 画像処理プログラム
JP6198502B2 (ja) 2013-07-25 2017-09-20 キヤノン株式会社 情報処理装置及びその方法、プログラム
JP6630122B2 (ja) * 2015-11-09 2020-01-15 キヤノン株式会社 画像形成装置、画像処理装置及びプログラム
US10795618B2 (en) * 2018-01-05 2020-10-06 Datamax-O'neil Corporation Methods, apparatuses, and systems for verifying printed image and improving print quality

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002094762A (ja) 2000-09-18 2002-03-29 Toshiba Corp 画像データ処理装置及び画像データ処理方法
JP2010003186A (ja) 2008-06-20 2010-01-07 Canon Inc 情報処理装置
JP2010067034A (ja) 2008-09-11 2010-03-25 Canon Inc 表計算ソフトにおける用紙サイズ算出方法
JP2011203826A (ja) 2010-03-24 2011-10-13 Canon Inc 画像処理装置、画像処理方法、およびプログラム
JP2015125465A (ja) 2013-12-25 2015-07-06 キヤノン株式会社 用紙サイズ設定プログラムおよび用紙サイズ設定方法
JP2015170115A (ja) 2014-03-06 2015-09-28 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
US10901663B2 (en) 2021-01-26
JP2019204347A (ja) 2019-11-28
US20190361639A1 (en) 2019-11-28

Similar Documents

Publication Publication Date Title
CN103186355B (zh) 打印控制装置及打印控制方法
JP4436851B2 (ja) プリンタドライバ・プログラムおよび画像形成装置
US7706010B2 (en) Method for printing a web page
US8384946B2 (en) Image forming apparatus, method, and computer product for positioning images of different size on a given paper size
JP6844474B2 (ja) プリンタドライバ、および情報処理装置
CN107766011B (zh) 打印控制方法、装置及系统
JP5490757B2 (ja) プリンタドライバ及びこれを用いた印刷方法
US20100060908A1 (en) Printing control apparatus, printing control method, and storage medium
US9781300B1 (en) Method and system for removing objects from a print document
JP2018036755A (ja) 制御方法、プログラム及び情報処理装置
JP7152879B2 (ja) 情報処理装置及びその制御方法およびプログラム
JP2006259917A (ja) 文書処理装置、文書処理プログラム、及び文書処理方法
JP7102955B2 (ja) 情報処理装置およびプログラム
US20190361637A1 (en) Printing control method, storage medium and information processing apparatus
JP6330790B2 (ja) 印刷制御システム、印刷制御装置およびプログラム
JP7318386B2 (ja) 情報処理装置及びプログラム
JP4661832B2 (ja) 印刷制御装置およびプリンタドライバのプログラム
JP6624918B2 (ja) 情報処理装置、制御方法、及びプログラム
JP2012123692A (ja) 画像処理装置、はみ出し判定方法、およびコンピュータプログラム
US11966641B1 (en) User-defined boundaries for documents
JP5526863B2 (ja) プリンタドライバ、及び印刷制御装置
JP6015478B2 (ja) 制御装置、制御方法およびプリンタードライバプログラム
JP5957979B2 (ja) 画像処理方法、画像処理プログラムおよび画像形成装置
JP7255277B2 (ja) 画像処理装置および画像処理システム
JP2008009652A (ja) 印刷処理方法およびプリンタドライバ

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210519

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220506

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220930

R151 Written notification of patent or utility model registration

Ref document number: 7152879

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151