Hi folks, Here is a patch for the task. Also added a little description about the filter utility.
## # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: [email protected] # target_branch: file:///home/gerel/PROJECTS/libgnupdf/trunk/ # testament_sha1: 66a2dc108154ee2189299a33a59cd170721c92cd # timestamp: 2010-04-17 16:58:36 -0300 # base_revision_id: jema...@termi-20100415170352-xrpun2k7cqbeu79j # # Begin patch === modified file 'ChangeLog' --- ChangeLog 2010-04-15 15:58:08 +0000 +++ ChangeLog 2010-04-17 19:57:54 +0000 @@ -1,3 +1,8 @@ +2010-04-17 Gerardo E. Gidoni <[email protected]> + + Documented tokenizer and filter utilities. + * doc/gnupdf-utils.texi: added missing documentation. + 2010-04-15 Jose E. Marchesi <[email protected]> Remove spurious blank lines before EOF in the codebase. === modified file 'doc/gnupdf-utils.texi' --- doc/gnupdf-utils.texi 2010-04-06 19:50:09 +0000 +++ doc/gnupdf-utils.texi 2010-04-17 19:57:54 +0000 @@ -54,12 +54,65 @@ @menu * Introduction:: +* PDF Utilities:: * GNU Free Documentation License:: @end menu @node Introduction @chapter Introduction +This document describes several utilities to manipulate PDF +documents. These utilities make use of the GNU PDF Library. + +...@node PDF Utilities +...@chapter Utilities + +...@menu +* Tokenizer:: +* Filter:: +...@end menu + +...@node Tokenizer +...@section Tokenizer + + This utility reads from standard input using a token reader +(pdf_token_reader_t), and prints the resulting tokens to stdout or a +token writer (pdf_token_writer_t). +The resulting tokens are separated by newlines in the following form: +TOKEN_TYPE(TOKEN_VALUE). Where TOKEN_TYPE is a string and one of: +INTEGER,REAL,STRING,NAME, +COMMENT,KEYWORD,DICT_START,DICT_END,ARRAY_START,ARRAY_END,PROC_START,PROC_END. +And TOKEN_VALUE is the corresponding value. In case the TOKEN_TYPE is +unknown the string [unknown] is printed. +You should be familiar with the PDF format to understand their meanings. + +Also, you can specify the following flags (as integers) for the token reader, +...@itemize @minus +...@item PDF_TOKEN_NO_NAME_ESCAPES = 1 +...@item PDF_TOKEN_RET_COMMENTS = 2 +...@item PDF_TOKEN_END_AT_STREAM = 4. +...@end itemize + +...@noindent +And the following flags for the token writer, + +...@itemize @minus +...@item PDF_TOKEN_NO_NAME_ESCAPES = 1 +...@item PDF_TOKEN_HEX_STRINGS = 8 +...@item PDF_TOKEN_READABLE_STRINGS = 16. +...@end itemize + +You should be familiar with the token reader/writer implementation to +understand their meanings. + +...@node Filter +...@section Filter + +This utility filters the standard input with the specified PDF +standard filter(s) and write the result to the standard output. You +can specify input/output filenames in case you don't want to use +stdin/stdout. To see a list of available filters use ``---help''. + @c FDL @c === # Begin bundle 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 ### -gerel
