18.10.18

OverRTF: convertir a RTF con "arrastrar y soltar"


Actualización 2: Nueva versión 2.2 con cambios menores para la recepción del archivo (.dat y .txt), que discrimina y evita la carga de otro tipo de archivos/formatos.

Actualización: Nueva versión 2.0 que trabaja también con ANSI y que además no requiere el control RichText (para no variar, Guti me ha liado).

Original:
Debido a que es el formato compatible con el móvil, suelo verme en la necesidad de pasar documentos txt a rtf constantemente. Además, rtf ("rich text format", o "texto en formato enriquecido") es un formato muy básico y por lo tanto bastante portable y compatible, con lo que se puede utilizar en muchos entornos. Normalmente suelo hacerlo con el clásico "copiar y pegar" directamente en el WordPad de Windows, pero en ocasiones siento la necesidad de hacer simplemente la conversión, sin más complicaciones.

Para esto existe una utilidad muy práctica, en línea de comandos, llamada "txt2rtf" y escrita por Desi Quintans (link a la descarga). Solo pesa 786 Kbs, y aunque funciona en línea de comandos como os decía, se puede utilizar fácilmente con "arrastrar y soltar".




El gran problema de "txt2rtf" es que solo interpreta archivos ANSI, como es lo habitual en este tipo de conversores por comandos. O sea, que si tienes un archivo txt en codificación UTF, te lo convierte con errores (le introduce "símbolos raros").

Es cierto que existen alternativas, como Pandoc, pero más bien esa es una suite de conversión (pesa nada menos que 52,4 MB), muy lejos de la aplicación ligera que busco. Así que tras estar indagando y probando todo tipo de alternativas y no encontrar ninguna funcional ni que me sirviera, he decidido hacer lo que suelo: programarla yo mismo.

Así he realizado OverRTF, una aplicación para sistemas Windows que, aunque funciona en GUI (sabéis que odio las consolas) sigue con la premisa de funcionar con un simple "arrastrar y soltar". Una vez hayamos soltado en la aplicación el archivo .txt, el programa automáticamente lo convierte a rtf, y nos lo guarda en el directorio en donde tengamos el .txt que hayamos "soltado", con el mismo nombre pero añadiéndole además un número aleatorio (por ejemplo, si tenemos "hola.txt" nos lo reescribirá a "hola452.rtf"). Ciertamente podría haberme evitado la complicación de incrustarle un aleatorio (al no tener la misma extensión, no habría conflictos al guardar), pero quise curarme en salud por si acaso el usuario tiene en la misma carpeta algún rtf con el mismo nombre, y así no quemárselo "sin querer". De hecho, si el programa detecta que ya hay otro igual, nos avisará de ello y no realizará la conversión.

El programa solo pesa 431 KB, es gratuito y portable, y ya lo podéis obtener desde la sección de descargas.

| Redacción: Bianamaran.blogspot.com

4 comentarios:

  1. ¿Porque no haces que detecte ANSI y UTF y soporta ambos?
    Incluso con Lazarus Unicode.

    ResponderEliminar
    Respuestas
    1. Porque no quiero liarme para comprobar si el archivo que me pasan tiene codificación Unicode, ANSI o UTF. Sería meterme con la API. Los últimos Delphi ya te traen el TStringsEncoding, con lo que es todo más fácil, pero ya sabes...

      Así que para lo que hago, me sobra este. Si alguien quiere que haga más, pues que me regale la RAD Studio 10.2 que mola mucho, y un ordenador potente capaz de tirar de ella.

      Para hacer lo que busco es bastante, no voy a presentarme a ningún concurso de talentos con ella :D

      Y hacerlo en Lazarus, tirando de Pascal "a lo bruto", es para superdotados como alguien que yo me sé, eso está muy lejos de mis posibilidades.

      Eliminar
  2. Muchas gracias por hacerme caso. He hecho un par de pruebas y funciona bien. Aún no he visto el contenido del RTF que genera, pero Word lo hace sin problemas.

    ResponderEliminar