トラスト・ソフトウェア・システム
 >   >   > ユーザーズ・ガイド
 

6               ユーザーズ・ガイド

6.1       サポートされるコーデック

以下の表は、PDF to Image Converterがサポートするコーデックそれぞれの機能です。

Codec     

BitsPerPixel

Gray

Indexed

Quality 

Compression

TIFF

1, 2, 4, 8, 24*

Yes

Yes

Yes

Raw, Flate, LZW, JPEG, Group3, Group3_2D, Group4

JPEG

8, 24

Yes

No

Yes

JPEG (Lossy only)

BMP

1, 2, 4, 8, 24*

Yes

Yes

No

Raw

GIF

2-8

Yes

Yes

No

LZW

PNG

1-8, 24

Yes

Yes

No

Flate

JBIG2

1

Yes

No

Yes

JBIG2 (Lossless: Q = 100)**

JPEG2000    

8, 24

Yes

Yes

Yes

JPEG2000 (Lossless: Q = 100)**

PBM

1-8, 24

Yes

No

No

Raw

EPS

1, 2, 4, 8, 24*

Yes

No

No

Raw

コーデック表

 

Codec: The Compression/Decompression(圧縮・伸張)タイプ

Bits Per Pixel: サポートする、ピクセルあたりのビット数 1 = モノクロ, 8 = 256/グレースケール, 24 =1677万色

Gray: グレースケースをサポート

Indexed: インデックスカラーをサポート

Quality: 品質パラメータの設定をサポート

Compression: 圧縮タイプをサポート

*) パレット生成において:パレットのエントリー数は、ビット/ピクセル値が8以下である場合に、2の(ビット/ピクセル値)乗となる。これは、3ビット/ピクセルのTIFFBMPまたはEPSは生成できるが、そのパレットの大きさは4ビット/ピクセルのものと同じであることを意味している。しかしながら、3ビット/ピクセル画像は4ビット/ピクセルの画像よりも圧縮性に優れている。

**) JBIG2およびJPEG2000で損失なし画像にするためには、品質パラメータを100にします。100より小さい場合は、非可逆(損失のある)圧縮アルゴリズムが適用されます。

ファイルおよび圧縮のタイプ

多くの画像タイプは、圧縮アルゴリズムが既定されていますが、TIFF形式は圧縮の形式を指定できます。

JPEG2000(PDF 1.5)およびJBIG2(PDF 1.4)形式では、圧縮率は品質パラメータを介して調整できます。 なお、これら2つの形式は新しい規格のものであり、古いバージョンのPDF用のソフトウエアでは機能しない場合があります。

以下では、目的に応じた画像タイプの選定方法を提案しています。

圧縮なし・可逆圧縮

·         /            JBIG2 (Q = 100) またはTIFFG4圧縮

·         グレースケール   PNG, JPEG2000 (Q = 100)

·         カラー            PNG, JPEG2000 (Q = 100)

非可逆圧縮

·         /            JBIG2

·         グレースケール   JPEG, JPEG2000

·         カラー            JPEG, JPEG2000

インターネット向け圧縮

·         /            PNG

·         カラー(写真)     JPEG, PNG

·         カラー(CG画像) GIF, PNG

一般的注意事項:非可逆圧縮アルゴリズムのほうが、損失なし(可逆圧縮)に比して、より多くのCPUの演算能力を必要とします。非可逆圧縮ではファイルサイズは一般に小さくなりますが、しかし生成(圧縮)または読取り(伸張)のコストが大きくなります。

ほとんどのインターネットブラウザでサポートされている画像フォーマットは、JPEGGIFおよびPNGです。

複数ページ画像

TIFF形式は、複数ページをサポートした画像形式のひとつです。

3-Heights™ PDF to Image Converter API”でPDF文書を複数ページのTIFF画像に変換するには、TIFF画像をクローズせずに変換されるPDF文書のオープン/変換/クローズを繰り返します。

単一ページ画像

3-Heights™ PDF to Image Converter API”でPDF単一ページのTIFF画像を生成するには、PDF文書の1ページを変換した後に画像をクローズします。さらに続ける場合は、新たな画像ファイルをオープンしてページごとの変換処理を繰り返します。

3-Heights™ PDF to Image Converter API”で生成される画像の既知の解像度は150dpiですが、PDFフォーマットは72dpiを使っています。PDFが使っているポイント値に見合った解像度を指定する場合は、72dpiを使ってください。一般的にモニターは96dpiなので、粒度の荒い画像を100%ズームで表示させるときは注意が必要です。

生成される画像のファイルサイズを小さくするにはいくつかの方法があります。まずは、表示の品質を低くすることでサイズが小さくなることを認識しておいてください。

それ以外にに、画像のファイルサイズに影響を与えるものを以下に記します。

·         画像のピクセル数 (画像の高さと幅)

·         ピクセルあたりのビット数

·         圧縮のタイプ

·         イメージ コンテンツ (ディザリングの影響を受けて)

画像の大きさ

画像の大きさ(総ピクセル数)を少なくすることで、ファイルサイズは小さくなります。例えば、1024x768ピクセルの画像は、600x480ピクセルの画像より大きいファイルサイズとなります。

画像の大きさを設定する場合は以下の様にします。

SetBitmapDimensions(600, 480)

画像の大きさをポイントで設定する場合は以下のようにします。

SetPageSize(600, 480)

画像の大きさがポイントで設定されている場合、画像のピクセルサイズは解像度に応じて計算されます。

解像度

解像度(1インチあたりのドット数、DPI: Dots per Inch)を指定すると画像の詳細さを指定することができます。そのデフォルトの値は150dpiで、生成された画像はズーム(拡大表示)しない場合においてシャープに見えます。もっと大きな値であればより詳細な画像が生成されますが、たくさんのピクセルが必要なためファイルサイズは大きくなります。また、解像度を低くするとファイルサイズは小さくなりますが、画像の表示品質は低下します。

以下のように、解像度を150PDIに替えて75DPIにしますと、ファイルサイズは約4分の1になります。

dpi = 75

ピクセルあたりのビット数

ピクセルあたり、1ビット(白黒)や8ビット(グレースケール)を24ビット(1677万色)に替えると、ファイルサイズを小さくできます。ただし、色深度をサポートしている画像形式は限られますので注意してください。

BitsPerPixel = 8

フォーマット / 圧縮 タイプ

3-Heights™ PDF to Image Converter”は、様々な画像形式をサポートしています。ほとんどの形式が圧縮をサポートしています。たとえば、PNG画像はフラット圧縮され、JPEG画像はJPEG圧縮されます。なかでも、TIFFは圧縮のタイプを選択できます。

圧縮のタイプには可逆と非可逆といった根本的に異なる方式があります。

可逆圧縮(損失の無い圧縮)

可逆圧縮では、画像がオリジナルから圧縮された状態への変換でその内容が変更されることはありません。そのため、この変換は可逆的で、圧縮された状態から元の画像を再生することができます。

可逆圧縮は、一般にCG画像のような画像やスキャンされたテキストに使用されます。

この圧縮タイプは、GIFPNGBMPJPEG2000(品質を100にした場合)、JBIG2(品質を100にした場合)、TIFFG3G4LZW、フラット)で利用できます。

非可逆圧縮(損失のある圧縮)

非可逆圧縮では、画像がよりよく圧縮されるように、その内容を変更します。そのため、非可逆圧縮された画像を元の状態に戻すことはできなくなります。これは、複数のアプリケーションで同じ画像を繰り返し非可逆圧縮すると、そのたびに画像の品質が劣化することを意味します。

非可逆アルゴリズムは通常、視覚的品質を犠牲にしてよりよい圧縮ができるようにします。非可逆圧縮は、一般に写真のような画像に使用されます。

この圧縮タイプは、JPEGJPEG2000(品質を100未満にした場合)、JBIG2(品質を100未満にした場合)で利用できます。

 

TIFF画像フォーマットでは、以下のような様々な圧縮タイプがサポートされています。

CCITTグループ3、グループ3-2D

CCITTグループ3は、CCITTグループ4の前身で、通常は低い圧縮率の単純なアルゴリズムです。

CCITTグループ4

CCITTグループ4は、2値のTIFF画像(たとえばファクシミリ用)の標準的な圧縮です。

LZW

LZWLempel-Ziv-ウェルチ)圧縮は、画像の可逆圧縮アルゴリズムです。この圧縮アルゴリズムの日本国内での特許は、2004年に失効しています。

JPEG

TIFFは、画像をJPEG(非可逆圧縮アルゴリズム)で圧縮することができます。 JPEG8および24ビット画像において、高い圧縮率を担保します。この圧縮は、写真や、文字をほとんど含まない画像に適しています。

ZIP (フラット)

ZIPは可逆圧縮アルゴリズムです。この圧縮は、品質を劣化さないで大きな画像を圧縮する場合などで利用されます。

 

一般に、フラット圧縮(またはZIP圧縮)やJPEG圧縮は、カラーまたはグレースケールの画像で使われます。CCITTグループ3、3−2D、4およびフラット圧縮は白黒(2値の)画像に使われます。

Compression = eComprFlate

画像コンテンツ、ディザリング

画像がどれだけ効率よく圧縮できるかは、画像のコンテンツそれ自体が影響します。たとえば、真っ白なページの圧縮は、写真の圧縮に比較してはるかに効率よく圧縮できることは容易に想像できます。

ディザリングは、1ビットの白黒のドットがグレーのドットに見えるような視覚効果を、カラー画像にも与えるように画像のピクセルを再配置するアルゴリズムです。PDF to Image Converter”は、ディザリング、カラー画像のために実装しています

ディザリングは、このような複雑なピクセルの配置変換をおこなうため、うまく圧縮できずファイルのサイズが大きくなる場合があります。その場合は、ディザリングを無効にすると、ファイルサイズが小さくなります。

ディザリングを無効にするには以下のように設定します。これは一般に、スキャンした文字などの場合に利用されます。

Dithering = eDitherNone

さらに詳しくは、ディザリングの章を参照してください。

3-Heights™ PDF to Image Converter”は、同一の入力ファイル(又は出力ファイル)に何回もオープンとクローズを繰り返す場合があります。このような場合には、PDFや画像のデータをメモリから読み出したり、メモリに格納したりすることで、効率よく高速に処理できるようになります。

また、TIFF形式のように複数のページで構成された画像データを生成する場合は、RenderPageを複数回数コールしますので、画像データはメモリ上に作成すると効率がよくなります。

 3-Heights™ PDF to Image Converter”は、以下のようなメソッドでメモリ上のデータを取り扱います。

CreateImageInMemoryは、画像をメモリ上に作成します。

GetImageは、メモリ上に保持されている画像をバイト配列で戻します。その大きさは、使用しているプログラミング言語による長さを戻す演算子によって取得できます。

OpenMemは、バイト配列に格納されたPDFデータをオープンします。

文書をメモリ上に生成する

以下は、メモリ上に画像を作成するVisual Basic 6のサンプルです。このサンプルでは、画像をVariant型のデータpdfbytesに格納します。

Private Sub ConvertInMemory_Click()

Dim conv As New PDF2IMGOCXLib.Pdf2Img

Dim pdfbytes As Variant

Dim length As Long

       conv.Open "C:\input.pdf"

       conv.CreateImageInMemory ".tif"

       conv.RenderPage 1

       conv.RenderPage 2

       pdfbytes = conv.GetImage

       length = LenB(pdf) 

       conv.CloseImage

       conv.Close

End Sub

メモリから文書を読み出す

以下のVisual Basic 6のコードでは、レンダリングするために、メモリ上のPDF文書を開きます。

(1)で、データベースからPDFデータが格納されたバイトデータを読取り(これは説明用のサンプルです)、バイト配列に格納します。

(2)で、そのデータを開きます。

Private Sub OpenFromMemory_Click()

' (1) PDFデータをメモリに格納する

       Dim conv As New PDF2IMGOCXLib.Pdf2Img

       Dim bChar() As Byte

       Dim lFileLenght As Long

       Open "C:\input.pdf" For Binary As #1

       lFileLenght = LOF(1)

       ReDim bChar(lFileLenght - 1)

       Get #1, , bChar

       Close #1

' (2) メモリに格納されたPDFをオープンする

       If Not conv.OpenMem(bChar, "") Then

             MsgBox "couldn't open document"

       End If

End Sub

3-Heights”のレンダリングエンジンは、RGB空間で機能します。色変換では、Iccフォルダーに格納されたカラープロファイル(CMYK.iccおよびsRGB.icm)が使われます。カラープロファイルは、配布されたIccフォルダーにあるリンクからダウンロードできます。

カラープロファイルは、以下のWebサイトからダウンロードすることもできます。

  • www.pdf-tools.com/public/downloads/resources/colorprofiles.zip
  • www.color.org/srgbprofiles.html
  • www.adobe.com/support/downloads/iccprofiles/icc_eula_win_dist.html

カラープロファイルを変更するには、新しいカラープロファイルで上書きします。

レンダリングエンジンが、全くカラープロファイルが利用できない場合、色変換はノイゲバウアー(Neugebauer)アルゴリズムを使用して実施されます。

6.7       色を変更するには - ダーク ブラックについて

PDFで使われているCMYKカラーは、まずRGBカラーに変換されます。この変換は基本的に以下の2つの方法で達成れます。

1.      CMYKカラープロファイルが適用されます。推奨のデフォルト カラープロファイルは、“U.S. Web Coated (SWOP) v2”です。違うカラープロファイルを使うと別の色になります。SetCMYKProfileおよびSetsRGBProfileを参照してください。RGBCMYKカラープロファイルは、Windows%SystemRoot%\system32\spool\drivers\colorに格納されています。

2.      SetCMSEngine(引数としてカスタム係数を保持しているテキストファイルを指定します)を使った色変換でノイゲバウアー(Neugebauer)アルゴリズムが適用されます

Visual Basic 6 コードスニペット サンプル

Dim conv As New PDF2IMGOCXLib.Pdf2Img

' 色管理エンジン設定

conv.SetCMSEngine App.Path & "\CmykToRgb.txt"

デフォルトのノイゲバウアー係数では、CMYKの黒(0,0,0,1)から変換されたRGBの黒は純粋な黒ではありません。次の係数は暗い黒を作成します。変更は、5行目に適用されます(元は、~0.2です、SetCMSEngineを参照してください)。濃い黒を受け取るには、kの値をそれよりも低くする必要があります。

0.996078, 0.996078, 0.996078 ; White

0.000000, 0.686275, 0.937255 ; C

0.925490, 0.149020, 0.560784 ; M

1.000000, 0.949020, 0.066667 ; Y

0.100000, 0.100000, 0.100000 ; K

0.243137, 0.247059, 0.584314 ; CM

0.000000, 0.658824, 0.349020 ; CY

0.066667, 0.176471, 0.215686 ; CK

0.929412, 0.196078, 0.215686 ; MY

0.215686, 0.101961, 0.141176 ; MK

0.200000, 0.196078, 0.125490 ; YK

0.266667, 0.266667, 0.274510 ; CMY

0.133333, 0.098039, 0.160784 ; CMK

0.074510, 0.180392, 0.133333 ; CYK

0.215686, 0.121569, 0.113725 ; MYK

0.125490, 0.121569, 0.121569 ; CMYK

6.8       Isomorphicストレッチを適用するには

PDFのページサイズがピクセルで与えられていて、そのページを正確な寸法の画像に変換したいのに縦横比がPDFと違っている場合は、Isomorphicストレッチを使うことができます。この変換では、x軸とy軸で異なる解像度を使用します。Y方向の解像度を仮定すると、X方向の解像度は以下のサンプルコードのように計算できます。

Dim conv As New PDF2IMGOCXLib.Pdf2Img

conv.Open ...

conv.CreateImage ...

For Page = 1 To conv.PageCount

   conv.XDPI = conv.YDPI * conv.PageHeight  / conv.PageWidth
                         * conv.BitmapWidth / conv.BitmapHeight

   conv.RenderPage Page

Next Page   

conv.Close

conv.CloseImage

6.9       ディザリング

ディザリングは、実際の色として利用できない色をシミュレートするための画像で使用される、一般的な手段です。それは、色深度が低色深度であり、必要な色を(利用可能は)色またはグレーの網掛けを使って(例えば、白と黒のピクセルだけを使って)、それ以外の色をシミュレートするときに最良の結果を得られます。

参考

1. これらの画像によってディザリングの効果が明確になるように、以下に非常に低解像度の画像を用意してあります。高い解像度と色数の多い画像は、高品質の画像です。

2. レンダリングのフィルターやPDFの表示用アプリケーションのズームレベルは、画像のディザリング効果に影響を与える可能性があります。

カラー画像

色空間: RGB (24 bit)

ディザリング: None

ファイルサイズ(PNG形式): 129KB.

24ビットRGBカラーは、約1677万色の色を表現できますので、必要なすべての色を表現でき、どれもシミュレートする必要ありません。そのため、ディザリングを適用する必要はありません。

+最高品質

-大きなファイルサイズ

色空間: 16 colors (4 bit)

ディザリング: None

ファイルサイズ(PNG形式): 16KB

+小さなファイルサイズ

+色数の少ない画像で良好(CG画像やテキスト)

-色数の多い画像(写真など)良好ではありません。画像の一部が無地になって詳細が失われます。

ColorTest_NoDith_4bit

色空間: 16 colors (4 bit)

ディザリング: Floyd-Steinberg

ファイルサイズ(PNG形式): 18KB

+  レンダリングの詳細が比較的良好

+ 一般的には比較的良好な品質(特に写真画質においてディザリングのない場合に比較して)

- 場合によっては、アーチファクト(目立つピクセル)を生成します。

- ディザリングのない場合よりもファイルサイズが大きくなる場合があります。

ColorTest_FS_4bit

モノクロ画像

色空間: グレースケール (8 bit)

ディザリング: None

ファイルサイズ(PNG形式): 46KB

(参照用の8ビットのグレースケールの元画像です。)

ColorTest_gray

色空間: グレースケール (1 bit)

ディザリング: None

ファイルサイズ(PNG形式): 2.6KB

+ 最小のファイルサイズ

+ コントラストの高い文書(白地に黒文字)で良好

+ アーチファクトを生成しません。

- 詳細は失われます。グレー色は近似されず黒または白に変換されます(画像やその部分においても黒または白に変換されます)。

ColorTest_bit_NoDithering

色空間: グレースケール (1 bit)

ディザリング: Floyd-Steinberg

ファイルサイズ(PNG形式): 9KB

+ 一般的に高品質(特に写真のような画像)

+ ディザリンググレー色(濃淡)が近似されます。

- ディザリングなしに比して、ファイルサイズが大きくなります。

- アーチファクトを生成します(たとえば、非常に明るいグレー色の紙などが遠く離れた単一の黒いピクセルで表現されます)

-一般にテキストには不向きです。

ColorTest_bit_FloydStein

色空間: グレースケール (1 bit)

ディザリング: Halftone

ファイルサイズ(PNG形式): 4KB

+ ファイルサイズ

+ グレーを近似します。

- テキストやCG画像には適しません。

ColorTest_bit_HalfTone

色空間: グレースケール (1 bit)

ディザリング: Pattern

ファイルサイズ(PNG形式): 5KB

+ すべてのコンテンツ(テキスト、写真画像、CG画像など)に適用可能

- しかし、あまり優秀な結果ではありません。

 

ColorTest_bit_Pattern

ガイドライン

上記のサンプルで示したように、ディザリングはコンテンツによって違った結果となります。以下では、コンテンツのタイプによってどのディザリングを選択するのがよいかを提案します。

テキスト、OCR

ディザリングしない

少ない色数でかつ明るい色のないCG画像

ディザリングしない

色数の多いCG画像

どのディザリングが老巧な結果となるかテストします。

写真画像

Floyd-Steinberg

混合画像

どのディザリングが老巧な結果となるかテストします。

混合画像で高解像度

300dpi以上の解像度の場合は、Floyd-Steinbergでほとんどの場合最高の結果となります(白地に真っ黒な文字の場合は例外としてディザリングを適用しません)。

ディザリングは白と黒(1ビット)の画像のような低色深度の画像に対してのみ適用されるべきであることに留意してください。 8ビット以上(256色または階調)の色深度の画像にディザリングを適用すると、少なからず視覚的な影響が現れます。


 

 
Copyright© Trust Software System, All Rights Reserved.