Saya bertukar daripada Primeface RichEditor lama kepada penyegerakan WordEditor dan menggunakan kelas di bawah untuk menukar daripada html kepada 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(); } }
Namun, apabila saya berurusan dengan daftar lama, saya mendapat masalah berikut "Jenis elemen 'br' mesti ditamatkan dengan tag penutup yang sepadan". Daripada apa yang saya baca, ini kerana DocIO mengesahkan bahawa kandungan mengikut format xhtml 1. Adakah terdapat cara untuk memberitahu DocIO untuk mengabaikan ralat, atau tidak mengesahkan format?
Perihal - Saya mendapat soalan berikut "Jenis elemen 'br' mesti ditamatkan dengan tag penutup yang sepadan:
Rentetan HTML yang dimasukkan bukanlah HTML yang dibentuk dengan baik (elemen "br" tidak mempunyai teg penutup).
Must-haveWord library (DocIO) hanya menyokong HTML yang dibentuk dengan baik (kandungan HTML tertentu mesti mematuhi peraturan atau piawaian format XHTML 1.0). Untuk menyelesaikan isu ini, gunakan HTML yang dibentuk dengan baik, seperti elemen "br" dengan teg pembuka dan penutup yang betul dalam rentetan HTML.
Perihal - Adakah terdapat cara untuk memberitahu DocIO supaya mengabaikan ralat, atau tidak mengesahkan format?
Tidak. Tidak ada cara untuk mengabaikan ralat dan mengesahkan format dalam pustaka DocIO. Untuk menyelesaikan isu ini, gunakan HTML yang dibentuk dengan baik dalam DocIO, seperti rentetan HTML dengan teg pembuka dan penutup elemen yang betul.