Ich bin vom alten Primeface RichEditor auf syncfusion WordEditor umgestiegen und habe die Klasse unten verwendet, um von HTML nach SDFT zu konvertieren
import java.io.ByteArrayInputStream; import java.io.InputStream; import java.nio.charset.StandardCharsets; import com.syncfusion.docio.FormatType; import com.syncfusion.docio.WordDocument; import com.syncfusion.ej2.wordprocessor.WordProcessorHelper; public class SFDTAdapter { public static String sfdtToRtf(String sfdt) throws Exception { return WordProcessorHelper.save(sfdt, com.syncfusion.ej2.wordprocessor.FormatType.Rtf).toString(); } public static String rtfToSfdt(String rtf) throws Exception { byte[] bytes = rtf.getBytes(StandardCharsets.UTF_8); InputStream stream = new ByteArrayInputStream(bytes); WordDocument document = new WordDocument(stream, FormatType.Rtf); String sfdt = WordProcessorHelper.load(document); document.close(); stream.close(); return sfdt; } public static String htmlToSfdt(String html) throws Exception { byte[] bytes = html.getBytes(StandardCharsets.UTF_8); InputStream stream = new ByteArrayInputStream(bytes); WordDocument document = new WordDocument(stream, FormatType.Html); String sfdt = WordProcessorHelper.load(document); document.close(); stream.close(); return sfdt; } public static String sfdtToHtml(String sfdt) throws Exception { return WordProcessorHelper.save(sfdt, com.syncfusion.ej2.wordprocessor.FormatType.Html).toString(); } }
Wenn ich mich jedoch mit dem alten Register beschäftige, erhalte ich das folgende Problem: „Der Elementtyp ‚br‘ muss durch ein passendes schließendes Tag abgeschlossen werden.“ Nach dem, was ich gelesen habe, liegt das daran, dass DocIO überprüft, ob der Inhalt dem xhtml 1-Format folgt. Gibt es eine Möglichkeit, DocIO anzuweisen, Fehler zu ignorieren oder das Format nicht zu validieren?
关于 - 我收到以下问题“元素类型 'br' 必须由匹配的结束标记终止:
输入的 HTML 字符串不是格式正确的 HTML(“br”元素没有结束标记)。
必备Word 库 (DocIO ) 仅支持格式良好的 HTML(给定的 HTML 内容必须符合 XHTML 1.0 格式的规则或标准)。要解决此问题,请使用格式良好的 HTML,例如“br”元素在 HTML 字符串中具有正确的开始和结束标记。
关于 - 有没有办法告诉 DocIO 忽略错误,或者不验证该格式?
没有。无法忽略该错误并验证 DocIO 库中的格式。要解决此问题,请在 DocIO 中使用格式良好的 HTML,例如具有正确元素开始和结束标记的 HTML 字符串。