2021年1月14日木曜日

モビリティ・プリント - レンダリングのスピードアップ方法


モビリティ・プリントはその使い勝手の良さから多くの環境でデファクトの印刷方法として採用されるようになってきています。
そのためデフォルトの設定よりも高速に動作するようにしたいと思うのは無理もないことです。
この問題を解決するためには、問題に影響を与える主な要因を確認する必要があります。


① 元になるドキュメント(画像, テキスト, フォント, ページ数など)

② 対象となるプリンタ・ドライバ(特にドライバがPostScriptであるかどうか)

③ ドキュメントをレンダリングするサーバの性能(CPU, RAM, 印刷の全体的なピーク負荷)

④ ドキュメントをレンダリングする際のDPI


例として、画像と日本語のテキストを含む35ページのドキュメントをレンダリングした場合の時間は下記の通りです。


DPIを600に設定した場合のレンダリング時間






DPIをAutoに設定した場合のレンダリング時間






PostScriptドライバ VS 非PostScriptドライバ

PostScriptとPCL6のレンダリング時間の違いは、読み取ったPDFデータをどのようにドライバへ引き渡すかによるものです。
PostScriptドライバの場合、パススルーを行い、ドライバに渡す情報を変更しません。
Windows上のPCL6や非PostScriptドライバの場合、読み取ったデータをドライバに引き渡すためにGDIコールを使用します。



DPI600 VS Auto

デフォルト設定では、プリンタの最大解像度(DPI) を使用してPDFをレンダリングします。これはプリンタの印刷解像度とは無関係です。
しかし、AdobePDF Reader や XPdf Reader のようなアプリケーションは、ファイルの内容やプリンタの性能に応じて、
独自のヒューリスティックを使用してレンダリングDPIを決定します。
モビリティ・プリントはPDFをレンダリングするために、裏でXpdfPrint.dllを使用しています。
そのため、最適なDPIを計算するためにXpdf を信頼することができます。



デメリットは?

DPIを決定する際、「Auto」オプションを選択するとプリント・ジョブの詳細と品質が予想よりも低くなる場合があります。
また、世の中に存在するすべてのプリンタ・ドライバを使用して変更をテストしていないため、
この変更がご利用の環境のドライバで動作しない可能性があります。



管理者はどうすれば良いですか?

「pc-spool-job」のユーザ・レベルの設定ファイルを作成することができます。
このファイルはモビリティ・プリント・サーバのすべてのアップグレードで維持されます。

Ⅰ. モビリティ・プリント・サーバをインストールしたサーバの次のフォルダを開いてください: [app-path]\PaperCut Mobility Print\

Ⅱ. このフォルダ内に空のテキスト・ファイル「pc-spool-job」を作成してください。

Ⅲ. 「pc-spool-job」を任意のテキスト・エディタから開き、次の行を追記してください。
    [general]
    DPI=‘Auto’

Ⅳ. テキスト・ファイルの名前を次の形式に変更してください: pc-spool-job.conf.user


上記設定で、pc-spool-jobはDPIを強制的に破棄し、XpdfにレンダリングDPIを決定させます。



-------------------------

https://www.papercut.com/kb/Main/SpeedUpMobilityPrintRendering







0 件のコメント :

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。