DocIO gibt beim Konvertieren von HTML nach SFDT einen Fehler aus
P粉373990857
P粉373990857 2023-09-09 21:58:02
0
1
600

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?

P粉373990857
P粉373990857

Antworte allen(1)
P粉244155277

关于 - 我收到以下问题“元素类型 'br' 必须由匹配的结束标记终止:

输入的 HTML 字符串不是格式正确的 HTML(“br”元素没有结束标记)。

必备Word 库 (DocIO ) 仅支持格式良好的 HTML(给定的 HTML 内容必须符合 XHTML 1.0 格式的规则或标准)。要解决此问题,请使用格式良好的 HTML,例如“br”元素在 HTML 字符串中具有正确的开始和结束标记。

关于 - 有没有办法告诉 DocIO 忽略错误,或者不验证该格式?

没有。无法忽略该错误并验证 DocIO 库中的格式。要解决此问题,请在 DocIO 中使用格式良好的 HTML,例如具有正确元素开始和结束标记的 HTML 字符串。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage