There are multiple different options depending on what you want to do
with the data in the files.
If you just want to discard any graphical information and then use the
file with other tools, then this function will do that:
#lang racket
(require wxme)
(provide
(contract-out
[textify (-> path-string? path-string? void?)]))
(define (textify in out)
(call-with-input-file in
(λ (in-port)
(call-with-output-file out
(λ (out-port)
(copy-port (wxme-port->text-port in-port) out-port))
#:exists 'truncate))))
At the other end of the spectrum, you can open a text% object and load
the file into it. Then you use text% methods to inspect the content of
the file as real graphical things (this will let you do things like
inspect the contents of comment boxes, as they will have nested text%
objects, etc etc).
In the middle are functions that are like the one above but use
wxme-port->port. This, via "specials" gives you access to the non text
data in a stream format that might work better for some tasks.
hth,
Robby