0

私のPDFファイルにはデフレートエンコーディングがあり、文字列を膨張させると、次のように出力されます。

[(Lorem)-21( ipsum)-55( dolor)-14( sit)-55( amet,)-56( consectetur)-8( adipiscing)-14( elit.)-34( Donec)-15( faucibus)-49( lorem)-42( varius2)-56( mauris)-28( porttitor,)-34( et)-28( pellentesque)-1( )]TJ

数字と括弧は何を意味していますか?

文字数や間隔ではないようです。

誰か知っていますか?

4

1 に答える 1

2

これはテキストを表示するための配列です (括弧内のものは配列オブジェクトを示します)。その後に演算子[]が続く必要があります。TJこの数値は、テキスト マトリックスを変換する (テキストの位置を調整する) ために使用されます。横書きのテキストを想定すると、負の数は次のグリフを右に移動します。

から9.4.3 Text-Showing Operators(詳しくはスペックをご覧ください)

1 つまたは複数のテキスト文字列を表示して、個々のグリフの配置を許可します。配列の各要素は、文字列または数値のいずれかになります。要素が文字列の場合、この演算子は文字列を表示します。数値の場合、オペレーターはその量だけテキスト位置を調整します。つまり、テキスト行列 Tm を変換します。数値は、テキスト スペースの単位の 1000 分の 1 で表されます (9.4.4、「テキスト スペースの詳細」を参照)。この量は、書き込みモードに応じて、現在の水平または垂直座標から差し引かれます。デフォルトの座標系では、正の調整は、ペイントされた次のグリフを指定された量だけ左または下に移動する効果があります。

括弧は文字列オブジェクトを表します:

文字列オブジェクトは、次の 2 つの方法のいずれかで記述されます。

括弧 ( ) で囲まれた一連のリテラル文字として (左括弧 (28h) と右括弧 (29h) を使用)。7.3.4.2「リテラル文字列」を参照してください。

...

リテラル文字列は、括弧で囲まれた任意の数の文字として記述されます。対になっていない括弧 (LEFT PARENHESIS (28h) と RIGHT PARENTHESIS (29h)) とバックスラッシュ (REVERSE SOLIDUS (5Ch)) を除いて、任意の文字が文字列に表示される場合があります。これらは、この節で説明されているように特別に扱われます。文字列内のバランスの取れた括弧のペアは、特別な処理を必要としません。

詳細については、 PDF Specを入手して読むことをお勧めします。

于 2013-06-28T02:44:39.833 に答える