Heim  >  Fragen und Antworten  >  Hauptteil

DocIO gibt beim Konvertieren von HTML nach SFDT einen Fehler aus

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粉373990857P粉373990857405 Tage vor570

Antworte allen(1)Ich werde antworten

  • P粉244155277

    P粉2441552772023-09-10 13:41:40

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

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

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

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

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

    Antwort
    0
  • StornierenAntwort