JPedalのアクセシビリティオプションを使用する
このチュートリアルでは、より特定のニーズを持つユーザーのためにビューアをよりアクセシブルにするための様々なオプションの使用方法について説明します。
ビューアには、PDFページ上のページ、テキスト、図形に使用される色を上書きするオプションが含まれています。
これにより、暗い環境での閲覧のために黒地に白文字でページを表示したり、目の疲労を軽減するためにページの色をオフホワイトに設定したり、可読性を向上させるためにテキストとページのコントラスト比を変更したりするなど、多くの利点があります。
これらの値は3つの異なる方法で設定できます。
環境設定ウィンドウ(編集 → 環境設定)を使用する方法は、ユーザーにこれらのオプションの変更を許可したい場合に、ユーザー自身も使用できるアプローチです。

環境設定ウィンドウが開いたら、左側のパネルで色オプションを選択すると、以下に示すオプションが表示されます。

ページの色オプションを制御する4つのオプションがあります。
- 「Change Page Color」ボタンは、ページの背景に使用される色を変更します。デフォルトは白です。
- テキストに使用される色を変更したい場合は、「Replace Document Text Colors」チェックボックスを選択します。ページ上のテキストの色は、下の領域に表示されている色で上書きされます。
- 「Change Text Color」ボタンを使用すると、ページのテキストコンテンツに使用される色を指定できます。デフォルトは黒です。
- 「Change Color of text and Line Art」は、ページ上の図形もテキストに使用されるのと同じ色で上書きされるようにします。
上記の環境設定ウィンドウ内で選択されたすべてのオプションは、(プロパティが読み取り専用でない場合)プロパティファイルに保存され、ビューアを開くたびに使用されます。
プロパティファイル は、これらの値を簡単に設定し、後でユーザーが変更できないようにプロパティをロックダウンできるアプローチです。
ページの色オプションを制御する4つのプロパティがあります。
- vbgColor - このプロパティはページの色を制御します。Color.getRGB()を使用して取得したRGB色を表す整数値を取ります。
<vbgColor value="16777215"/>
- replaceDocumentTextColors - このプロパティは、ページのテキストの色を変更するかどうかを指定します。ブール値を取ります。
<replaceDocumentTextColors value="false"/>
- vfgColor - このプロパティはテキストの色を制御します。Color.getRGB()を使用して取得したRGB色を表す整数値を取ります。
<vfgColor value="0"/>
- changeTextAndLineart - このプロパティは、ページの図形の色も変更するかどうかを指定します。ブール値を取ります。
<changeTextAndLineart value="false"/>
独自のアプリケーション内からこれらの変更をトリガーすることもできます。これにより、独自のユーザーインターフェースから色の値を制御できるようになり、必要に応じてJPedalのPDF to Image変換 でも機能します。
以下の例は、これを実現する方法を示しています。
//値を保持するマップを作成
Map mapValues = new HashMap();
//ページの色を設定します。この整数値はページを黒にします。
mapValues.put(JPedalSettings.PAGE_COLOR, Color.WHITE.getRGB());
//テキストの色を設定します。この整数値はテキストを白にします。
mapValues.put(JPedalSettings.TEXT_COLOR, Color.BLACK.getRGB());
//図形と線画もテキストと同じ色にするかどうかを
//指定するフラグを設定します。
mapValues.put(JPedalSettings.CHANGE_LINEART, true);
//実際に値を設定します。この時点から使用されます。
//ここでのdecoderはPdfDecoderのインスタンスです
decoder.modifyNonstaticJPedalParameters(mapValues);
ビューアには、テキスト読み上げ機能を追加する機能があります。実装後は、テキストをハイライトし、ページを右クリックして「Speak Highlight Text」オプションを選択するだけです。
利用可能なテキスト読み上げサービスは多数あるため、それぞれの実装を提供する代わりに、シンプルなインターフェースとチュートリアル を提供し、お好みのサービスに実装して接続できるようにしています。
ビューアでは、複数の音声が利用可能な場合、テキスト読み上げの音声を変更できます。これは2つの方法で実行できます。
- プロパティファイルには、使用したい音声を指定できる設定が含まれています(サービスに複数のオプションがある場合)。これはSpeech.setVoice(String)に渡される単純な文字列です。
<voice value="kevin16(general domain)"/>
- ビューアの環境設定ウィンドウ(編集 → 環境設定)の左側にはInterfaceオプションがあります。
テキスト読み上げが設定されている場合、このページにSpeechタブが表示されます。ここから、Speech.listVoices()によって返される音声のいずれかに変更できます。
