ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド
11g リリース 1 (11.1.1)
B61375-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

10.4 プリンタ関連のファイル

この項では、様々な印刷関連のファイルについて説明します。ファイルの概要と、ファイルを一般的な印刷ニーズに合せて編集する方法を示します。

10.4.1 ファイルの概要

表10-2は、UNIXでの印刷時にOracle Reportsで使用されるファイルの一覧です。

表10-2 プリンタ関連ファイルの概要

ファイル名/拡張子 説明

.ppd

PostScriptプリンタ定義ファイル

.hpd

HP glueファイル

.afm

Adobeフォント・メトリック・ファイル

.tfm

PCLフォント・メトリック・ファイル

uifont.ali

フォント・エイリアシング・ファイル

uiprint.txt

プリンタ構成ファイル


10.4.2 PPDファイル

PostScriptは、Adobe社が開発したページ記述プログラミング言語です。PPDファイルは、Oracle Reportsなどのアプリケーションで使用できるプリンタの機能を定義するものです。たとえば、使用可能な用紙トレイ、使用可能な用紙サイズ、用紙の物理的サイズ、使用可能なフォントなどがPPDファイルで定義されます。現時点では、Oracle Reportsによってこのファイルから読み取られる情報は、プリンタの用紙サイズ、プリンタで使用可能なフォントおよびデフォルトの解像度です。将来的には、このほかにイメージ分割を正しく行うためのメモリーなどの情報も使用することが考えられます。

PPDファイルを変更するのは、新たに追加したフォントやメモリーをOracle Reportsが認識できるようにする場合のみです。DefaultPageSizeを変更して、優先するページ・サイズを指定することもできます。


注意:

ページ・サイズでは、PPDの他のエントリと同様に大文字と小文字が区別されます。基本的に、PPDファイルの他のエントリは変更しないでください。


「プリンタの選択」ダイアログ・ボックスで、uiprint.txtに記述されていないプリンタを選択する場合や、プリンタのタイプをPostScriptタイプに変更する場合は、そのプリンタのPPDファイルを指定するよう要求されます。使用するプリンタに最も類似度の高いプリンタのPPDファイルを選択する必要があります。PPDファイルには、一般に、プリンタのモデル名に似た名前が付けられています。

uiprint.txtでは、プリンタごとにPPDファイルを指定する必要があります。現行のプリンタに対してPPDファイルの指定が正しくない場合(PPDファイルが見つからない場合や、PPDファイルのフォーマットが不正な場合など)、そのプリンタに対してはdefault.ppdが使用されます。default.ppdは、デフォルトとなる可能性が最も高いプリンタであるローカル・プリンタの設定を反映するPPDファイルのコピーとなるように設定してください。

Oracle Reportsには、PPDファイルの一般的セットが付属していますが、場合によってはプリンタ専用のPPDファイルをベンダーから入手する必要があります。表10-3は、Oracle Reportsに付属するPPDファイルの例です。

表10-3 Oracle Reportsに付属の一般的なPPDファイル

PPDファイル名 対応するプリンタ

appl230.ppd

Apple LaserWriter v23.0

datap462.ppd

Dataproducts LZR-2665

declps32.ppd

Digital PrintServer 40

default.ppd

デフォルトのレベル1 PostScriptプリンタ

hpljet41.ppd

HP LaserJet 4/4M PostScript 600DPI

lwntx470.ppd

Apple LaserWriter II NTX

nccps801.ppd

NEC Colormate PS/80

tkphzr33.ppd

Tektronix Phaser III PXi v2011.108

l530_523.ppd

Linotronic 530

screenprinter.ppd

UNIXでプリンタが使用できない場合に使用されるデフォルトのPPDファイル


Oracle Reports付属のPPDファイル以外のPPDファイルが必要な場合は、次のいずれかを行ってください(推奨順に記載)。

  • PPDファイルについてプリンタのベンダーに問い合せます。

  • Adobe社のWebサイトからPPDファイルをダウンロードします。

  • 既存のPPDファイルをコピーして編集します。

  • Adobe社にPPDの仕様を問い合せて、PPDファイルを作成します。

PostScriptファイルに含まれているのはフォント情報のみで、フォント・メトリックは含まれていません。Oracle Reportsは、インストールされているAFMファイルを参照してフォント・メトリック情報を検索します。このAFMファイルは、フォントのベンダーから提供されます。Oracle Reportsには、最も一般的に使用されるフォントのAFMファイルが付属しています。Oracle Reportsによって生成されたPostScriptファイルが正しく印刷されるようにするには、必要なフォントがプリンタにインストールされている必要があります。

10.4.2.1 ローカルでのPPDファイルのカスタマイズ

PPDファイルは、特定のプリンタの機能を表す静的な情報です。これには、製品出荷時の初期設定が行われています。プリンタをインストールすると、増設メモリー、用紙トレイ、フォントなどがプリンタに追加されることもあります。デバイスを管理する作業は動的で、ディスクにダウンロードされたフォント、エラー・ハンドラ、RAMベースのフォントとプロシージャ・セット、デフォルト・デバイス設定などを把握している必要があります。この種のデバイス管理は、PPDファイルで対応できる範囲を超えています。ただし、一定の規則に従えば、PPDファイルに記述されている情報をカスタマイズして、プリンタの各ローカル・インスタンスに適合させる、あるいは特定のアプリケーションに適合させることも可能です。

元のPPDファイルを変更するかわりに、新しいファイルを作成して、いくつかのパラメータに関してはローカルでカスタマイズし、それ以外の情報については主ファイルを参照するという方法も考えられます。ローカルでのカスタマイズを行うファイルには、主PPDファイルへの参照を次のフォーマットで記述する必要があります。

*Include: "filename"

ここで、filenameは主PPDファイルの名前です。このように参照していれば、後で主PPDファイルの置換が行われても、ローカルのカスタマイズ・ファイルを編集する必要はありません。*Includeキーワードで参照されるファイルは、参照元ファイル(ローカルのカスタマイズ・ファイル)内にあるものとして扱われます。

たとえば、default.ppdファイルが次のように定義されているとします。

*PPD-Adobe: "4.0"
*Include: "datap462.ppd"

*% Page definitions
*DefaultPageSize: Letter
…………………………
*DefaultPageRegion: Letter

主PPDファイルはdatap462.ppdです。

管理者はインクルードするファイルの名前は、サイトのデフォルト・プリンタのタイプに合せて変更する必要があります。

ローカルのカスタマイズ・ファイルで主PPDファイルをインクルードする場合、最終的なファイル内で同じキーワードのインスタンスが複数存在することもありえます。したがって、カスタマイズ・ファイルでの主ファイルの位置(先頭または末尾)は重要で、カスタマイズ・ファイルによる変更に影響します。

10.4.3 HPDファイル

HPDファイルはPCLプリンタの機能を定義するもので、その役割はPostScriptプリンタに対するPPDファイルに似ています。HPDまたはHP glueファイルには、特定のPCLプリンタで利用可能なフォントの情報が含まれます。HPDファイルのフォーマットは、HP社の『PCL5 Developer's Guide』を参照してください。

PostScriptの場合にAFMファイルを使用するのと同様に、HPフォントにはそれぞれ対応するTFMファイルが必要です。TFMファイルはフォント・ベンダーから提供されており、TFMファイルをインストールすると、新しく追加されたフォントがプリンタのHPDファイルへ追加されます。新しいフォントについては、HPDファイルで次のフィールドを指定します。

FONT={fontname}
/tfm={tfm-filename}

説明:

fontnameは、フォントの名前です。

tfm-filenameは、TFMファイルのベース・ファイル名です。

TFMファイルのみでは指定が不十分な場合は、FONTフィールドの後に次のように指定することもできます。

/ptsize={size {size ...}}

指定したフォントがビットマップ・フォントであるにもかかわらず、TFMにスケーラブル・フォントとして指定されている場合は、使用可能なサイズを次のように指定することによって、ポイント・サイズを制限することができます。

/symset={symset {symset ...}}

これにより、指定したシンボル・セットのみがサポートされます。認識されるシンボル・セットの一覧は、HP社のPCLに関するドキュメントを参照してください。

Oracle Reportsでは、PCLフォーマットで印刷する場合にdefaultpaperフィールドも指定できます。このフィールドに設定したdefaultpaperは、ツールキットによって使用されます。このフィールドのフォーマットは次のとおりです。

<defaultpaper={papername}>

たとえば、次のように指定した場合は用紙名がA4に設定されます。

<defaultpaper=A4>

用紙名では、大文字と小文字は区別されません。defaultpaperを2回以上指定した場合は、最後のdefaultpaperが使用されます。プリンタで使用できない用紙名を指定した場合、defaultpaperは無視され、かわりにLETTERが用紙名として使用されます。同様に、用紙名が正しくない場合もLETTERが使用されます。

10.4.4 フォント・メトリック・ファイル

Oracle Reportsでは、次の2種類のフォント・メトリック・ファイルがサポートされています。

10.4.4.1 AFMファイル

AFMファイルには、それぞれ単一のフォントに対するフォント関連のメトリックが格納されています。このメトリックには、スタイル、太さ、幅、キャラクタ・セットなどの様々なフォント属性が含まれています。AFMファイルおよびAFMファイル・フォーマットの説明は、一般に、フォントまたはプリンタのベンダーから入手できます。

AFMファイルをインストールするには、AFMファイルの場所にファイルをコピーします。この場所の一覧は、第10.2.2項「Oracle Reportsで使用するプリンタの設定の確認」に記載されています。ファイル名は、.afm拡張子を付けずに、フォントの名前に一致している必要があります。たとえば、フォント名がCodedreineunBoldの場合、ファイル名はCodedreineunBoldとする必要があります。

フォント名を確認するには、AFMファイル内でfontnameという文字列を検索します。AFMファイルはフォント・ファイルではなくメトリック・ファイルであることに注意してください。このファイルは、プリンタ用に文字を正しくフォーマットするための情報を伝えるものです。フォントのAFMファイルは存在するが、そのフォントがプリンタ上にない場合、フォント・メトリックが不一致になるため、Oracle Reportsでは適切な出力を生成できません。レポートの設計に使用したフォントがプリンタでも使用可能であることを確認する必要があります。

10.4.4.2 TFMファイル

PCLでは、HPDファイルおよびTFMファイルが使用されます。HPDファイルには、プリンタで使用できるフォントのリストが含まれます。フォントはそれぞれのTFMファイルを参照します。TFMファイルの役割はAdobeのAFMファイルと同じで、個々のファイルには単一のフォントに関する情報が列記されています。HPDファイルは編集可能なASCIIファイルですが、TFMファイルはバイナリ・ファイルであるため編集できません。

Oracle Reportsで使用する新しいフォントがPCL出力で正しく表示されるようにするには、プリンタ用のHPDファイルとTFMファイルを用意する必要があります。既存のHPDファイルをコピーして新たに作成することができますが、使用するプリンタに適したものであることを確認したうえで行ってください。HPDファイルには、プリンタで使用できるフォントを指定する必要があります。

Oracle Reportsには、TFMファイルの一般的セットが付属しています。別のフォント・メトリック・ファイルをプリンタで使用する場合は、フォントまたはプリンタのベンダーから入手してください。TFMファイルをインストールするには、TFMファイルの場所にファイルをコピーします。この場所の一覧は、第10.2.2項「Oracle Reportsで使用するプリンタの設定の確認」に記載されています。

10.4.5 uifont.ali

uifont.aliファイルは、Oracle Reportsによって使用されるフォント・エイリアスを定義します。特定のフォントが使用できない場合にどのフォントで置き換えるかを定義できるため、これはクロス・プラットフォーム開発に非常に便利なツールです。uifont.aliは次の場所にあります。

Windowsの場合: ORACLE_INSTANCE\config\FRComponent\frcommon\tools\common

UNIXの場合: ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

フォントのエイリアスを指定するには、次の構文を使用します。

source_font = destination_font

各フォントの次の属性も指定できます。

face.size.style.weight.width.character_set

複数のスタイルを組み合せることもできます。その場合は、プラス記号(+)を使用してスタイルを区切ります。例:

Arial.Italic+Overstrike = Helvetica.12.Italic.Bold

このエントリは、イタリック(Italic)と打消し線(Overstrike)の両方のスタイルが指定されているArialフォントが、12ポイント、太字(Bold)、イタリック(Italic)のHelveticaフォントにマップされることを表します。プラットフォームおよびサーフェス(プリンタまたはシステム)によっては、フォント・フェースの大文字と小文字が区別されることがあります。


関連項目:

フォント関連の詳細は、第9章「Oracle Reportsでのフォントの管理」を参照してください。


10.4.6 uiprint.txt

uiprint.txtを利用すると、プリンタ・キューに関する詳細情報、たとえばプリンタ・ドライバのタイプやプリンタの説明などを簡単に定義できます。uiprint.txtは、Oracle Reportsのインスタンスごとに編集してください。


関連項目:

uiprint.txtの詳細は、第10.3.1項「uiprint.txtファイルの編集」を参照してください。


10.4.7 プリンタ関連ファイルの編集

次の各項では、様々なプリンタ関連のファイルを編集する方法を説明します。

10.4.7.1 PPDファイルの編集

場合によっては、PPDファイルに記述されている属性を変更する必要があります。次の各項では、一般に変更が必要となるいくつかの属性について説明します。

10.4.7.1.1 デフォルトの用紙サイズの変更

一部のレポートで、用紙サイズをA4にしなければならないとします。UNIXプラットフォームでは、プリンタ・ドライバはuiprint.txtで指定されており、デフォルトの用紙サイズがA4に設定されているとは限りません。たとえば、hpljet41.ppdではデフォルトの用紙サイズはLETTERです。各プリンタ・キューのデフォルト用紙サイズ設定は、対応するPPDファイルから取得されることに注意してください。

A4をデフォルトの用紙サイズとして設定する手順は次のとおりです。

  1. uiprint.txtを編集し、ページ・サイズとしてA4をサポートしているPostScriptプリンタ定義ファイル(拡張子は.ppd)をインクルードします。たとえば、hpljet41.ppdをインクルードします。

  2. バックアップとして、hpljet41.ppdをコピーします。

  3. 次のように、uiprint.txtにエントリを追加します。

    Printer_name: PostScript:1: the printer on floor1:hpljet41.ppd
  4. hpljet41.ppdを編集し、次のように設定を変更します。

    DefaultPageSize: A4
    DefaultPageRegion: A4
    DefaultImageableArea: A4
    DefaultPaperDimension: A4
    

10.4.7.1.2 プリンタのマージン設定の変更

マージンを変更するには、PPDファイルのImageableAreaセクションを変更する必要があります。ImageableAreaでは、指定されたページ・サイズに対してプリンタで印字可能な領域を示す境界を設定します。以後、この指定されたページ・サイズの名前をmediaOptionとします。デバイスでサポートされている名前付きページ・サイズごとに1つの文を記述します。*DefaultImageableAreaには、デフォルトの印字可能領域のmediaOption名があります。デフォルトのページ・サイズとして指定できるのは1つのみです。したがって、この値は*DefaultPageSize、*DefaultPageRegionおよび*DefaultPaperDimensionと同じです。

印字可能領域の定義の構文は次のとおりです。

*ImageableArea mediaOption: "llx lly urx ury "
*DefaultImageableArea: mediaOption | Unknown

llはlower left(左下)の略、urはupper right(右上)の略です。*ImageableAreaの枠ボックスの値は、4つの実数として指定します。これらの数値は、PostScript言語のデフォルトのユーザー空間座標系における、領域の左下角と右上角のx座標およびy座標です。指定ページ・サイズのx軸およびy軸は、*PaperDimensionエントリでのそのページ・サイズのx軸およびy軸に対応しています。

印字可能領域は、プリンタでの印刷が実際に可能なページ内の部分として定義します。ページ・サイズが同じでも、プリンタによって印字可能領域が異なることがあります。これには、現行の解像度、メモリーの大きさ、印刷の向きなどの要素が影響するためです。PPDファイルで、あるページ・サイズに対する印字可能領域の大きさが複数設定されている場合、記録される印字可能領域の大きさは、そのページ・サイズに対して考えられるすべての印字可能領域の和部分となります。この方式により、印字可能領域がPPDファイルに記述されているものより小さくなることはなく、印字可能領域内に出力されたものはすべて目視できるようになります。したがって、現行の構成での印字可能領域が、実際にはPPDファイルに記述されている印字可能領域よりも大きいということもありえます。

次の表は、デバイスでの特定のページ・サイズを表すために、mediaOptionで指定可能なオプションのキーワードです。

表10-4 mediaOptionのキーワード

mediaOption(用紙サイズ) サイズ(ポイント) サイズ(mm) サイズ(インチ)

Letter

612 * 792

215.9 * 279.4

8.5 * 11

Legal

612 * 1008

215.9 * 355.6

8.5 * 14

Ledger

1224 * 792

431.8 * 279.4

17 * 11

Tabloid

792 * 1224

279.4 * 431.8

11 * 17

A3

842 * 1191

297 * 420

11.69 * 16.54

A4

595 * 842

210 * 297

8.27 * 11.69

A5

420 * 595

148 * 210

5.83 * 8.27

B4

729 * 1032

257 * 364

10.12 * 14.33

B5

516 * 729

182 * 257

7.17 * 10.12


default.ppdでA4ページのマージンを変更する手順は次のとおりです。

  1. 次の各セクションで、デフォルト・ページをLetterからA4に変更します。

    *% Page definitions
    *DefaultPageSize: A4
    *PageSize A4: " "
    
    *% These entries set up the frame buffer. Usually used with manual feed.
    *DefaultPageRegion: A4
    *PageRegion A4: "A4"
    
    *% These provide the physical dimensions of the paper (by keyword)
    *DefaultPaperDimension: A4
    *PaperDimension A4: "595 842"  
    
  2. 次のセクションに、マージン定義を追加します。

    *% Imageable (writable) areas for each page size, in pixels
    *DefaultImageableArea: A4
    *ImageableArea A4: "2 2 593 840 "
    

    注意:

    PPDのエントリは、すべて大文字と小文字が区別されます。


10.4.7.1.3 PPDファイルへの新規フォント・エントリの追加

PostScriptプリンタでは、Oracle Reportsで使用できるフォントはそのプリンタで使用可能であることが判明しているもののみです。マルチプロセスのオペレーティング・システムにおいて、個人のリクエストに応じてプリンタを使用できることは珍しいため、Oracle ReportsではすべてのフォントのリストがPPDファイルから取得されます。

プリンタに新しいフォントがインストールされたときは、対応するフォント・エントリをプリンタのPPDファイルに追加する必要があります。フォント・エントリのフォーマットは次のとおりです。

*Font {fontname}: {encoding} "({version})" {charset}

説明:

{fontname}は、PostScriptで定義されているAdobeフォント・フェース名です。

{encoding}はPostScriptエンコード名です。

{version}はFontInfoのバージョン番号です。

{charset}はAdobeキャラクタ・セットです。

encodingの値の意味は、フォント・タイプによってわずかに異なります。エンコードを判定できない場合、エンコードの値はunknownに設定されます。各フォントのcharsetの値はそのフォントで可能なエンコードの種類を示しており、それに従って通常はアプリケーションによってフォントの再エンコードが行われます。詳細は、Adobe社から発表されているPPDの仕様を参照してください。

新しいフォントをプリンタに追加する際、対応するAFMファイルもフォント・メトリック・ディレクトリに追加する必要があります。実際のフォント属性を取得して、印刷ページ上に正しくテキストを配置するためには、Oracle ReportsではAFMファイルが必要になります。

新しいフォントCodedreineunBoldを追加したとします。PPDファイルを編集して、このフォントを追加する必要があります。

  1. PPDファイル内で、次の文字列を検索します。

    *% Font Information
    
  2. 新しいフォントに対する次のエントリを、パラグラフの最後に追加します。

    *Font CodedreineunBold: Standard "(00.1001)" Standard ROM
    

10.4.7.1.4 プリンタ・トレイ設定のオーバーライド

Oracle Reportsによって生成されるPostScript出力には、トレイ情報が埋め込まれています。PPDファイルにはデフォルト・トレイの定義があり、その後にプリンタで使用可能なトレイが定義されています。別のトレイに印刷するには、PPDファイルのDefaultInputSlotエントリを更新します。

PPDファイルで、デフォルトのトレイと有効な入力スロットが定義されているセクションを検索します。そのセクションは、通常は次のような行で始まっています。

*OpenUI *InputSlot:   <PickOne>

デフォルト・トレイのエントリは、次のように定義されています。

*DefaultInputSlot: Lower

スロットの定義は、通常はデフォルト・トレイのエントリの後にあり、次のように指定されています。

*InputSlot Upper/Multipurpose Tray: "
...
*InputSlot Lower/Paper Cassette: "

このセクションは、次のような行で終了します。

*CloseUI: *InputSlot

DefaultInputSlotは、定義済スロットのリストの値のいずれかに設定できます。

10.4.7.2 PCL印刷を行うためのHPDファイルの編集

場合によっては、HPDファイルに記述されている属性を変更する必要があります。次の各項では、一般に変更が必要となるいくつかの属性について説明します。

10.4.7.2.1 用紙サイズの変更

たとえば、用紙サイズをA4に変更するには、次の行を使用するHPDファイルに追加します。

 <defaultpaper=A4>

10.4.7.2.2 新規フォント・エントリの追加

PostScriptの場合にAFMファイルを使用するのと同様に、Oracle ReportsでHPフォントを使用するには、各フォントに対応するTFMファイルが必要です。TFMファイルは、フォントのベンダーから提供されます。新しいフォントをインストールしたときは、そのフォントをHPDファイルに追加します。

新しいフォントについては、HPDファイルで次の設定を指定します。

FONT={fontname}        # {fontname} is a descriptive name for the font
/tfm={tfm-filename}    # {tfm-filename} is the base filename for TFM file

注意:

HPDファイル内のフォント名のエントリは一意にする必要があります。