bootstrap java editor wysiwyg

bootstrap - Editor de texto WYSIWYG en Java



wysiwyg editor html5 (11)

Escritor de OpenOffice

Se puede incrustar en Java usando el OOoBean . El código original se ejecuta en Swing, pero también puede hacerlo funcionar en SWT, utilizando el puente AWT / SWT ( código de ejemplo ).

El proyecto es de código abierto ( LGPL ). El código depende del sistema operativo, pero hay versiones disponibles para todos los sistemas operativos principales (Windows, Linux, MacOS y Solaris son compatibles con el sitio del proyecto, pero también puede descargar la fuente y compilarla para otros).

Dado que el producto subyacente es una aplicación de oficina completa, ofrece todas las funciones que puede desear (estilos sofisticados, corrección ortográfica en línea en diferentes idiomas, incrustación de imágenes, flujo de texto alrededor de las imágenes, nombre).

El inconveniente es que debe tener instalado OpenOffice; de hecho, el editor no es parte de Java, pero es un proceso remoto que simplemente se representa en la ventana de su aplicación Java. Esto significa que el tiempo de inicio es bastante notable y el rendimiento puede ser lento. También el manejo es a veces "impar". Se necesita algo de configuración para deshacerse de los bordes adicionales y la paginación de documentos no deseados.

Debido a esto, el editor no es realmente extensible desde Java. Tendrá que escribir código en C ++ o usar el lenguaje incorporado propio de OOo. Lo que puede hacer es registrar registradores en el documento y tener acceso completo al modelo subyacente del documento. De esta manera, puede conectarse a las partes importantes y modificar el comportamiento, pero a menudo esto se siente como realizar una cirugía de ojo de cerradura.

Mi conclusión: si OO tiene las funciones que necesita, esta podría ser la forma más sencilla de obtener lo que necesita. Si necesita una gran cantidad de personalización, luchará una batalla contra los valores predeterminados del marco.

Me gustaría recopilar todos los editores de texto WYSIWYG para Java aquí.

Algunas reglas para las entradas:

  • Debe haber un enlace al proyecto / producto.
  • Debes indicar si es de código abierto o comercial.
  • ¿Es posible extender el editor (agregar nuevas funciones como un "sudoku centrado en violeta")? ¿Es eso simple o complejo?
  • ¿Viene con muchas características (caracteres de fantasía y estilos de párrafo con correcciones ortográficas en línea para varios idiomas en el mismo documento) o solo lo básico (negrita, cursiva, sin subrayado)?
  • Lista de dependencias importantes (¿se ejecuta en Java con Swing? SWT? ¿MacOS?)
  • Tu opinion personal

Esta lista debería ayudar a los desarrolladores a determinar qué editor elegir. No busco "lo mejor" sino más "lo que hay".


Simplemente HTML

  • su GPL
  • No tengo idea de lo fácil que es extenderlo.
  • no soporta el corrector ortográfico, pero tiene tablas, listas.
  • Basado en Swing, necesita Java 1.4 y opcionalmente Ayuda de Java
  • No lo utilicé como programador, solo como usuario final, tiene algunas peculiaridades, como no hay listas de niveles múltiples o tablas que no son muy buenas, pero está bien.
  • Además, le proporciona HTML, por lo que es fácil incrustar los resultados del procesamiento en otros componentes.
  • Ahora en SourceForge

Echa un vistazo a JWord

  • Es comercial
  • Un montón de características (tablas, paginación, H / F, diseño de columnas, wmf, svg, copiar y pegar, RTF, ODT, exportación HTML)
  • Reino libre
  • Java puro Swing (1.6)
  • extensible (basado en Swing Text API)

El proyecto Eclipse ha resucitado Vex (Editor Visual para XML)

De la página wiki:

  • Vex aprovecha muchos de los complementos maduros que conforman el IDE de Java de Eclipse, como la interfaz CVS , las funciones de búsqueda de documentos y marcadores , y el sistema de ayuda con capacidad de búsqueda.
  • La plataforma Eclipse implementa una sofisticada arquitectura de complementos, lo que permite que Vex se amplíe con complementos de terceros o personalizados.
  • Vex está disponible con apariencia nativa para muchas plataformas , incluyendo Windows, Linux / GTK y Macintosh OS-X / Carbon.
  • Los desarrolladores de Java que utilizan el IDE de Eclipse pueden instalar Vex en su IDE como complemento, lo que facilita el mantenimiento de la documentación del software u otros archivos XML con Vex.
  • Vex es reutilizable: el widget editor de Vex está disponible como un componente multiplataforma de Java puro con enlaces SWT. Los desarrolladores pueden reutilizar este widget , por ejemplo, como una aplicación RCP.

La versión 1.0 fue lanzada en 2012, se planea un 1.1 para 2013.

Guía del usuario


Necesitaba lo mismo para nuestra aplicación, hice una investigación y encontré dos productos más, EKit y EKit Editor , basados ​​en HTMLDocumentEditor Charles Bell, ambos con licencia LGPL y con buen aspecto.

Pero no los probé. Estos días veremos lo que elegimos.


Utilizando un editor HTML WYSIWYG y el componente del navegador SWT ( vea los fragmentos de código para ver ejemplos ). Opciones:

Pro:

  • Un montón de opciones debido a HTML
  • Admite HTML como formato nativo (por lo que no hay problemas inusuales cuando necesite guardar los documentos en algún lugar o modificarlos, a diferencia del formato nativo de Word).
  • Trabajar con fuentes, colores, imágenes es simple, ya que no tiene que administrar los recursos por sí mismo. El componente del navegador lo hará por ti.

Contra:

  • La solución depende de la plataforma. Las pruebas con richhtml4eclipse mostraron un comportamiento diferente en Windows XP (IE) y Mac OSX (Safari)
  • Si hay un problema, los usuarios tendrán que cambiar a la vista del código HTML y arreglarlo ellos mismos.
  • Buena suerte con la asistencia de contenido, la finalización del código, la corrección ortográfica, el plegado o las anotaciones.
  • Agregar características especiales lo forzará a realizar una cirugía de ojo de cerradura a través de la API simplemente simple
  • Con muchos de estos editores, el rendimiento no es tan bueno, especialmente con documentos grandes.
  • Depende de SWT.

Fuente: Lösungen für einen SWT Rich Text Editor


RSyntaxTextArea

He usado este componente y funciona bien. Es LGPL y se basa en el paquete javax.swing.text (javax.swing.text.EditorKit). Como es un componente Swing, se puede integrar en su aplicación en unas pocas líneas de código:

RSyntaxTextArea textArea = new RSyntaxTextArea(); textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA); RTextScrollPane sp = new RTextScrollPane(textArea);


Visor de texto enriquecido

Pro:

  • Ofrece corrección ortográfica, finalización de código, deshacer / rehacer, sangría automática y la mayoría de las otras características que esperará ( consulte aquí )

Contra:

  • Depende de SWT
  • No hay soporte para mesas.

JWebEngine

Recomiendo JWebEngine . Es el único que sé que pasa la prueba del navegador ACID1 y la prueba de correo electrónico. La mayoría de los otros editores de HTML de Java se basan en javax.swing.text.html.HTMLDocument y tienen todos los mismos errores. El soporte de CSS es muy pobre con HTMLDocument. JWebEngine tiene un soporte muy bueno para ver HTML con CSS.

  • JWebEngine . También hay muestras en línea.
  • Licencia comercial
  • Es muy simple de extender. El proveedor lo está utilizando para muchas cosas diferentes como editor, motor de impresión HTML, mostrar marcadores de posición personalizados, etc. No hay problema con la visibilidad de clases como con el documento HTM de Sun.
  • Se basa en javax.swing.text.JEditorPane o javax.swing.text.JTextPane y puede usarlo junto con herramientas de terceros como el corrector ortográfico JOrtho.
  • Es Java puro y se ejecuta en todas las plataformas con Java SE 5 o superior. También se ejecuta en applets no firmados.


  • Aquí está el enlace: JRichTextEditor
  • Es de código abierto (LGPL).
  • Puedes hacer lo que quieras con eso. Sólo tienes que clonarlo desde github. Es extensible.
  • Viene con algunas características, pero las mejoras son bienvenidas. Es un componente swing, depende de iText 2.1.7 (que sigue siendo LGPL) y otras bibliotecas (por ejemplo, xerces). Una característica notable es la posibilidad de agregar puntos de marca / rangos de cualquier clase. Que se puede utilizar para hipervínculos o lo que sea. En la biblioteca también hay una aplicación de ayuda.