從 html 轉換為 sfdt 時 DocIO 拋出錯誤
P粉373990857
P粉373990857 2023-09-09 21:58:02
0
1
603

我從舊的 Primeface RichEditor 切換到了syncfusion WordEditor,並且使用下面的類別從 html 轉換為 sdft

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();
    }
}

但是,當我處理舊暫存器時,出現以下問題「元素類型 'br' 必須由符合的結束標記終止」。根據我讀到的內容,這是因為 DocIO 驗證內容是否遵循 xhtml 1 格式。有沒有辦法告訴 DocIO 忽略錯誤,或不驗證該格式?

P粉373990857
P粉373990857

全部回覆(1)
P粉244155277

關於 - 我收到以下問題「元素類型 'br' 必須由符合的結束標記終止:

#輸入的 HTML 字串不是格式正確的 HTML(「br」元素沒有結束標記)。

必備Word 函式庫 (DocIO ) 僅支援格式良好的 HTML(給定的 HTML 內容必須符合 XHTML 1.0 格式的規則或標準)。若要解決此問題,請使用格式良好的 HTML,例如「br」元素在 HTML 字串中具有正確的開始和結束標記。

關於 - 有沒有辦法告訴 DocIO 忽略錯誤,或不驗證該格式?

沒有。無法忽略該錯誤並驗證 DocIO 庫中的格式。要解決此問題,請在 DocIO 中使用格式良好的 HTML,例如具有正確元素開始和結束標記的 HTML 字串。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板