Есть ли способ прочитать Java DefaultStyledDocument как HTML?
Я обновляю старое приложение на основе Java 6 на основе Swing до более нового приложения на основе браузера HTML5.
Одной из особенностей старой системы было то, что она сохраняла документы как DefaultStyledDocuments непосредственно в базе данных MSSQL как данные varbinary.
Используя следующий PHP, я могу прочитать данные и вывести файл, но он содержит массу информации заголовка:
<?php
include_once "../../config/connect.php";
include_once "../utils.php";
$docId = (isset($_GET["docId"]) && $_GET["docId"] != 0) ? $_GET["docId"] : 0;
if ($docId != 0) {
$sql = "SELECT DATALENGTH(doc) size, CONVERT(VARCHAR(MAX), doc, 2) doc FROM docs WHERE docId = $docId";
$result = executeQuery($sql, $link, $param);
$response = "";
$size = "";
while($row = sqlsrv_fetch_object($result)) {
$response = $row->doc;
$size = $row->size;
}
header("Content-type: application/doc");
header("Content-Disposition: attachment");
header("Content-Length: $size");
echo hex2bin($response);
}
?>
Вывод в файл:
’ sr &javax.swing.text.DefaultStyledDocument
F€°ðÁ L buffert 6Ljavax/swing/text/DefaultStyledDocument$ElementBuffer;xr !javax.swing.text.AbstractDocument^öö‚ç Žß L contextt 4Ljavax/swing/text/AbstractDocument$AttributeContext;L datat +Ljavax/swing/text/AbstractDocument$Content;L
documentFiltert !Ljavax/swing/text/DocumentFilter;L documentPropertiest Ljava/util/Dictionary;L
listenerListt %Ljavax/swing/event/EventListenerList;xpsr javax.swing.text.StyleContextoù~{½xñ I
unusedSetsL stylest Ljavax/swing/text/Style;xp sr (javax.swing.text.StyleContext$NamedStyleç
listenerListq ~ L this$0t -Ljavax/swing/text/StyleContext;xpsr #javax.swing.event.EventListenerList±6Æ}
... ТАК ДАЛЕЕ. ...
„¬ xp T H I S I S A T E S T D O C U M E N T
H e l l o w o r l d , h o w a r e y o u t o d a y ?
o O o
psq ~ 1?@ w t i18nq ~ )
... ТАК ДАЛЕЕ.
По соображениям совместимости я хотел бы сделать
DefaultStyleDocument
потяните прямо в HTML-редактор WYSIWYG. Затем я бы сохранил HTML-документ обратно в отдельный столбец в бэкэнде.
Можно ли это сделать с помощью
php
а также
js
или мне нужно запустить отдельный цикл из Java для преобразования всех документов в HTML?