in reply to Keeping RTF formatting when moving files

Currently, you throw away all the tokens you read in.

Instead of throwing them away, write them to your output stream instead.

  • Comment on Re: Keeping RTF formatting when moving files

Replies are listed 'Best First'.
Re^2: Keeping RTF formatting when moving files
by mdavies23 (Acolyte) on Jul 13, 2017 at 13:55 UTC

    Which tokens are for the formatting?

      How would I know?

      In your code, here:

      { # reduce bogus warnings no warnings 'uninitialized'; # get past the header ( $token_type, $argument, $parameter ) = $tokenizer->get_token() until ($token_type eq 'control' and $argument eq 'par'); }

      you call ->get_token(), which reads a set of tokens and throws them away.

      Maybe consider changing your code to:

      my @tokens; { # reduce bogus warnings no warnings 'uninitialized'; do { # get past the header ( $token_type, $argument, $parameter ) = $tokenizer->get_token(); push @tokens, [$token_type, $argument, $parameter]; } until ($token_type eq 'control' and $argument eq 'par'); }

      and then, when writing your output document, first output all the saved stuff from @tokens.

      I don't know RTF and I don't know your input document and I don't know your wanted output stuff, so I can't give much more concrete help.

      While you cannot help me with the first issue, you can help me with the second and third issue by posting a short example of your RTF input and wanted RTF output, especially including a part that contains random coloured stuff or whatever you want to keep. If I have this, I guess that would be enough for me to fake knowing RTF enough to keep the formatting.

        This is what im inputing

        {\rtf1\ansi\deff0{\fonttbl{\f0 Times New Roman;}} {\colortbl;\red255\green0\blue0; \red0\green0\blue255;} \cf1 145747.2545 \cf0 134758.2545

        and I want to output these in order with the same formating. I already made a sorting script for it