DocIO renvoie une erreur lors de la conversion de HTML en Sfdt
P粉373990857
P粉373990857 2023-09-09 21:58:02
0
1
636

Je suis passé de l'ancien Primeface RichEditor à syncfusion WordEditor et j'ai utilisé la classe ci-dessous pour convertir du HTML en 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();
    }
}

Cependant, lorsque je traite l'ancien registre, j'obtiens le problème suivant "Le type d'élément 'br' doit être terminé par une balise de fermeture correspondante". D'après ce que j'ai lu, c'est parce que DocIO valide que le contenu suit le format xhtml 1. Existe-t-il un moyen de dire à DocIO d'ignorer les erreurs ou de ne pas valider le format ?

P粉373990857
P粉373990857

répondre à tous(1)
P粉244155277

À propos - Je reçois la question suivante : « Le type d'élément 'br' doit être terminé par une balise de fermeture correspondante :

La chaîne HTML saisie n'est pas du HTML bien formé (l'élément "br" n'a pas de balise de fermeture).

La

Must-haveBibliothèque Word (DocIO) ne prend en charge que le HTML bien formé (un contenu HTML donné doit être conforme aux règles ou standards du format XHTML 1.0). Pour résoudre ce problème, utilisez du HTML bien formé, tel qu'un élément « br » avec des balises d'ouverture et de fermeture correctes dans la chaîne HTML.

À propos - Existe-t-il un moyen de dire à DocIO d'ignorer les erreurs ou de ne pas valider le format ?

Non. Il n'y a aucun moyen d'ignorer l'erreur et de valider le format dans la bibliothèque DocIO. Pour résoudre ce problème, utilisez du HTML bien formé dans DocIO, comme une chaîne HTML avec des balises d'ouverture et de fermeture d'élément correctes.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal