疑問解決(PDF)

2008/7/23

よく使うPDFについて調べてみました。

・概要

 PDFは、Portable Document Formatの略で、AdobeSystems社によって1993年に開発されました。

・オープンスタンダード

 PDFは、ISO 32000と呼ばれる規格として承認されました。

・マルチプラットホーム

 Windows,Mac,Unix等のPC環境で利用ができます。

・表示

 PDFを表示するためには、AdobeSystems社から無料で公開している
 「Adobe Reader」 を利用することで可能です。

・作成

 PDFの作成には、AdobeSystems社の「Acrobat」を利用することで可能です。
 また、それ以外にも他社およびフリーでPDFを作成できるライブラリが存在します。

・Adobe製PDF作成手法

 Acrobatには、「PDFWriter」と「Distiller」の2種類の生成方法があります。

 

手法 解説
PDFWriter OSの描画ルーチンを使用します。
(WindowsであればGDI:Graphic Display Interface)
精度がOSに依存されるため、商業印刷用途には適しません。
Distiller PostScriptデータをソースに利用するため、
詳細な描画が可能となります。

・その他PDF作成

 クライアント環境

 

名称 解説
クセロPDF  
プリモPDF  
いきなりPDF  
サーバ環境

 

名称 解説
Apache FOP Javaによる実装です。
ライブラリ

 

名称 解説
harulib フリーのライブラリです。
こちらのページで詳細を解説しています。

・特徴

 PDFの特徴としては、
 PDFを作成したPCとは違う、他のPCで見た場合でも
 同じ様に見える「復元性」が優れていることです。

 ただし、そのためには同じフォントがなければ、多少なりとも見た目が変わってしまいます。
 そこで、PDFではフォントを埋め込むことも可能となっています。
  ※フォントのライセンスに注意してください。
・PostScript
 PostScriptは、PDFの全身に当たります。
 PostScriptは、ページ記述言語(PDL:Page Description Language)であり、
 文字が画像を描画するための言語です。
 また、高級なプログラミング言語としての一面もあり、
 PostScriptプリンタというのは、PostScriptインタプリタを搭載しているプリンタの事を言います。

 機能的には豊富ですが、データ量が大きくなりネット用途には適さないため、PDFが産まれました。
・Display PostScript
 PostScriptのデータをディスプレイに表示する技術です。
 NeXTSTEP/OPENSTEPなどに利用されませした。
 PostScriptでは、フォントをプリンタ側に持ちますが、
 Display PostScriptでは、コンピュータ側に持つため、
 表示だけでなく、PostScriptに対応していないプリンタに対しても、
 プリンタの解像度に合わせて印刷することができます。

 またMac OS X では、Display PostScriptのPostScript技術を
 PDFに置き換えたものを使用しています。
・フォント
 フォントの種別には下記が存在します。

 

種別 解説
ビットマップフォント フォントの形を固定サイズのビットマップデータとして、持っています。
そのため、拡大するとギザキザのジャギーが発生します。
スケーラブルフォント ビットマップフォントと違い、アウトラインをデータとして持っているので、
拡大しても滑らかな形となります。
また、スケーラブルフォントには下記種類が存在します。
種類 解説
PostScript PostScriptの表記に従った記述方式です。
TrueType AdobeSystems社に対抗して、
Apple社とMicrosoft社とで策定した仕様です。
OpenType AdobeSystems社、Apple社、Microsoft社で
策定した仕様です。
・エンコーディング
 日本語の文字コードは下記で表すことが多いです。
 XXXX-YYYY-Z

 

種別 解説
XXXX 文字セット(文字集合)を表します。
種類 解説
90ms WindowsでのMicrosoft文字セット
90pv マックのkannjiTalk7での文字セット
TrueTypeフォント標準
83pv マックのkannjiTalk6での文字セット
PostScriptフォント標準
YYYY 符号化方式
種類 解説
RKSJ シフトJISのことです。
Romaji Kana Shift JIS の略
  JIS。デフォルトです。
EUC EUCです。
Z 組方向です。
種類 解説
H 横書きです。
V 縦書きです。
実例は下記の通りです。

 

種別 解説
Identity-H The horizontal identity mapping for two-byte CIDs.
This may be used with CIDFonts using any Registry, Ordering and supplement.
It maps two-byte character codes from 1 to 65536 to the same two-byte CID value.
Identity-V Vertical version of the Identity-H mapping.
The mapping is the same as for Identity-H.
However the writing mode (WMode) value is set to 1 to indicate vertical writing.
83pv-RKSJ-H Macintosh, JIS X 0208 character set with KanjiTalk6 extensions,
Shift-JIS encoding, Script Manager code 1
90ms-RKSJ-H Microsoft Code Page 932 (lfCharSet 0x80),
JIS X 0208 character set with NEC and IBM extensions
90ms-RKSJ-V Vertical version of 90ms-RKSJ-H
90msp-RKSJ-H Same as 90ms-RKSJ-H,
but replaces half-width Latin characters with proportional forms
90msp-RKSJ-V Vertical version of 90msp-RKSJ-H
90pv-RKSJ-H Macintosh, JIS X 0208 character set with KanjiTalk7 extensions,
Shift-JIS encoding, Script Manager code 1
A TD-RKSJ-H JIS X 0208 character set with Fujitsu FMR extensions, Shift-JIS encoding
A TD-RKSJ-V Vertical version of A TD-RKSJ-H
EUC-H JIS X 0208 character set, EUC-JP encoding
EUC-V Vertical version of EUC-H
Ext-RKSJ-H JIS C 6226 (JIS78) character set with NEC extensions, Shift-JIS encoding
Ext-RKSJ-V Vertical version of Ext-RKSJ-H
H JIS X 0208 character set, ISO-2022-JP encoding
V Vertical version of H
UniJIS-UCS2-H Unicode (UCS-2) encoding for the Adobe-Japan1 character collection
UniJIS-UCS2-V Vertical version of UniJIS-UCS2-H
UniJIS-UCS2-HW-H Same as UniJIS-UCS2-H,
but replaces proportional Latin characters with half-witdh forms
UniJIS-UCS2-HW-V Vertical version of UniJIS-UCS2-HW-H
・PDFDocEncoding
 

PDFオリジナルの文字符号化方式として、PDFDocEncodingが有ります。
 これは、Unicodeの文字コードを1バイトずつに分解し、
 0x20から0x7Fに入っていればASCII
 はいっていなければ、\+8進数
 例外として ( ) \ は、\でエスケープします。

 例を示すと、
 ”あ”は、シフトJISでは”82A0”、Unicodeでは”3042”となります。
 そのため、”30” と ”42” に分かれます。
 これらはそれぞれ、"0"と"B"にあたるため、”0B”となります。

 "論1\"は、"8AD6 0031 005C"となり、"\212\326\0001\000\\"となります。
 これに、UnicodeのBOMを追加し、さらに括弧でくくり、
 (\376\377\212\326\0001\000\\)
 となります。

 

・色空間
 色空間とは、元となる数種類の色の数値の組合せによって、
 色を表現する手法です。
  (完全に全ての色を表現できるわけではありません。)

 

種別 解説
RGB 加法混色を表現するのに使われます。
光の3原色である赤、緑、青で表現する手法です。
それぞれの数値が大きくなるほど城に近づきます。
コンピュータのディスプレイは、これを利用します。
CMY
CMYK
CMYBk
減法混色を表現するのに使われます。
CMYKはシアン(Cyan)、マゼンタ(Magenta)、
イエロー(Yellow)と色調(Key tone)から頭文字1字を取ったものです。
CMYBkと表現される場合はBkはブラックを指します。
塗料では、RGB形式で全ての色を表現できないため、
印刷する際は、CMYに変換します。
そのため、プリンタのトナーは、これらの色になっています。
・ラスタ形式とベクタ形式
 画像を表現する場合、下記種類の形式があります。

 

形式 解説
ラスタ形式

2次元(列と行)で表現される最小単位”画素、ピクセル”を使って、
画像を処理する形式。
ビットマップ画像が代表。
また、ピクセルの類語として”ドット”という言葉がありますが、
これは、グラフィックデバイスの単位になります。

ベクタ形式 画像を点(ピクセル)の集合として扱うのではなく、
線を”方向と距離”で表現したやり方です。
PostScriptはベクタ形式になります。
ベクタからラスタへの変換は容易に可能ですが、
ラスタからベクタへの変換は誤差が出てきます。
・用語集

 

単語 解説
GhostScript フリーのPostScript互換インタープリタ
下記用途に使用される
 ・PostScriptをラスタ画像に変換
 ・PostScriptをPDFに変換
 ・PostScriptの実行環境
ページ記述言語 プリンタに描画指令を出す、プログラミング言語。
主な種類は下記の通り
種類 解説
PostScript AdobeSystems社が開発
Pages IBM社が開発
LIPS キャノン社が開発
ART 富士ゼロックスが開発
ESC/Page セイコーエプソン社が開発
cmap CIDとUnicodeを関連付けた対応表のことです。
CID Adobeが文字コードのことをCIDと呼んでいる。
・覚書
 ・
さらに情報が欲しい方は、Google検索で  
Google
・TOPへ戻る

メールはこちらに