ストリーム フィルター
PDF ストリームフィルタ
PDF ストリームはデータをエンコードするためにフィルタを使用します(ISO 32000-1:2008、§7.4)。フィルタは順番に適用され、ストリーム辞書内のフィルタ名オブジェクトで識別されます。
ASCII85Filter
ASCII85Filter は ASCII85Decode フィルタを実装しています(§7.4.3)。バイナリデータを印刷可能な ASCII85 文字としてエンコードし、テキストベースの PDF ファイルに組み込むために使用します。
ASCII85Filter filter = new ASCII85Filter();
byte[] encoded = filter.encode(rawBytes, null);
byte[] decoded = filter.decode(encoded, null);
String name = filter.getName().toString(); // "ASCII85Decode"ASCIIHexFilter
ASCIIHexFilter は ASCIIHexDecode フィルタを実装しています(§7.4.2)。バイトを 16 進数文字のペアとしてエンコードします:
ASCIIHexFilter filter = new ASCIIHexFilter();
byte[] encoded = filter.encode(rawBytes, null);
byte[] decoded = filter.decode(encoded, null);PdfFilter
PdfFilter は、すべての PDF ストリームフィルタ実装の抽象基底クラスです。ASCII85Filter と ASCIIHexFilter は PdfFilter を拡張し、encode() と decode() メソッドを実装し、さらに getName() を提供します。このメソッドはフィルタの PdfName を返します。