Как постоянно хранить стилизованный текст из документа в базе данных?

В настоящее время я работаю над программой, которая позволяет пользователям создавать "сообщения" со стилизованным текстом. Прямо сейчас я использую Java DefaultStyledDocument, но я открыт для других опций (хотя они, предпочтительно, реализуют StyledDocument). Первоначально я опубликовал кое-что о прямой сериализации DefaultStyledDocuments здесь. Однако, возможно, существует лучший способ хранения этих документов. Как я могу это сделать?

Кроме того, я хочу иметь возможность хранить эти стили в базе данных (возможно, MySQL), было бы что-нибудь еще, что мне нужно знать, когда я думаю об этом? Могу ли я напрямую экспортировать в XML?

Наконец, быстрое обсуждение HTMLDocuments. Я мог бы использовать HTMLDocuments для этого, однако я слышал о плохих вещах о Java-рендере HTML, и я также хочу, чтобы пользователи могли легко редактировать стилизованный текст. DefaultStyledDocument позволяет очень легко редактировать с помощью StyledEditorKit. Так что у HTMLDocuments есть свои недостатки, и если альтернативы не найти, я бы предпочел придерживаться DefaultStyledDocuments.

1 ответ

Решение

Самый простой способ сделать это - записать документ в текст RTF с помощью RTFEditorKit или AdvancedRTFEditorKit. Что предпочтительнее, зависит от того, для чего вам нужен документ. У продвинутого есть поддержка таблиц, изображений, отступов и многого другого, но требуется отдельный файл JAR. RTFEditorKit встроен, но не нуждается в отдельном файле Jar.

Чтобы написать с AdvancedRTFEditorKit:

AdvancedRTFEditorKit editor = new AdvancedRTFEditorKit();
Writer writer = new StringWriter();
editor.write(writer, content, 0, content.getLength());
writer.close();
String RTFText = writer.toString();

RTFEditorKit использует аналогичный процесс. Результатом этого, String, легко хранить в большинстве типов баз данных.

Другие вопросы по тегам