Theres Un autre message à Convertisseur HTML to RTF pour .NET , mais Y a-t-il des convertisseurs ou des tutoriels open source? Je ne veux pas utiliser Sautininsoft . Je pense qu'il y a une solution à ExpertSExchange, mais je dois payer pour cela. La plupart des résultats de la recherche sur Google Pointez sur un convertisseur RTF au HTML, mais pas un convertisseur HTML sur RTF. P>
4 Réponses :
L'article ExpertSExchange est un pauvre au mieux. Fondamentalement, l'OP a abandonné parce qu'ils ne pouvaient pas donner une bonne réponse. Ils répertorient un lien vers l'article de codeProject ( http://www.codeproject.com/kb/ HTML / XHTML2RTF.ASPX ) qui vous indique comment convertir HTML en RTF, mais ce n'est pas vraiment une solution .NET. Au lieu de cela, ce serait quelque chose qui devrait être hautement adapté. P>
De mon expérience, il n'y a pas un bon convertisseur open source. Les morceaux semblent tous être là, mais il attend que quelqu'un fasse les devoirs de la mise en place ensemble. Cependant, la réponse immédiate à votre question est qu'il n'y a pas de convertisseur déjà là-bas. P>
Je viens de traverser cette expérience d'apprentissage et j'ai choisi d'utiliser Perl qui a une bonne éteinte, OSS, Solution. (HTML :: FormatF)
@Jason D - Bon à savoir.
Créer un WebBrowser. Chargez-le avec le contenu HTML. Sélectionnez tout et copiez-en. Coller dans une richtextbox. Ensuite, vous avez le RTF
string html = "...."; // html content RichTextBox rtbTemp = new RichTextBox(); WebBrowser wb = new WebBrowser(); wb.Navigate("about:blank"); wb.Document.Write(html); wb.Document.ExecCommand("SelectAll", false, null); wb.Document.ExecCommand("Copy", false, null); rtbTemp.SelectAll(); rtbTemp.Paste();
@frenchone Pour ceux-ci, vous pouvez utiliser le mot Interop, simuler la pâte dans un document Word, puis copier et coller dans une richtextbox, puis obtenir le RTF.
Merci pour votre commentaire mais nous essayons de supprimer notre dépendance "MS Office". Votre solution avait l'air simple, même si elle nécessite une référence WinForm (tandis que notre projet est un inconvénient). Dommage, il n'y a pas de système dédié.dll pour faire la conversion. Et que RichTextBox ne se comporte pas comme WordPad qui obtient la conversion.
@frenchone Les hyperliens et les tables seront meilleurs au mieux si vous utilisez RichtextBox V5, au lieu de la valeur par défaut à VS qui est 4. Mais cela ne résoudra pas le problème avec des images.
C'est une réponse très utile
Ceci est intelligent. Très maladroit, mais toujours intelligent! Pas sûr qu'il serait à l'échelle ...
Cela ne fonctionne pas du tout.
tl; dr: strong> Je recommande d'utiliser le format Je n'ai pas vraiment beaucoup cherché à ce sujet en tant que cas d'utilisation consiste à utiliser la fonctionnalité sur un serveur qui rend les composants COM. em> p> xhtml2rtf strong> p> comme @IAMtimCorey mentionné Vous pouvez utiliser cette bibliothèque de codeProject. p> Inconvénients sont: p> comme @jerry mentionné Vous pouvez utiliser les formulaires Windows Forms Les inconvénients sont: p> Les fonctionnalités non prises en charge incluent: p> DevExpress strong> p> échantillon de code de "Paul V" à partir de Centre de support de DevExpress . (03.02.2015) p> ou vous pouvez utiliser le type inconnu Qu'est-ce qui est effectivement pris en charge. em> p> Les inconvénients sont les suivants: p> Les fonctionnalités non prises en charge incluent: p> SautinIsoft strong> p> Plusieurs exemples et options de configuration peuvent être trouvés ici et ICI P> Prise en charge est le suivant : p> Les inconvénients sont: p> Connaissance de l'utilisation Base: P> bricolage strong> p> Si vous ne vouliez que prendre en charge une fonctionnalité limitée, vous pouvez écrire votre propre convertisseur. Je ne recommanderais pas cela si le jeu de fonctions pris en charge est trop grand. (Sautinsoft prétend avoir écrit plus de 20'000 lignes de code). P> J'ai un petit Exemple de projet ici mais est uniquement à des fins éducatives dans son état actuel. p> openxml strong> p> si le Format OpenXML est également OK pour votre cas d'utilisation, vous pouvez utiliser le Paquet Nuget HTMLTOPENXML . C'est gratuit et soutenait toutes les fonctionnalités que j'ai testées les autres solutions contre. P> Le projet < / a> est basé sur le Ouvrez XML SDK par Microsoft et semble actif. p> openxml code> et le fichier
htmltoopenxml code> Nuget si possible.
WebBrowser CODE> Control. p>
del code> élément) LI>
richeditdocumentserver code> comme indiqué dans Cet exemple . P>
del code> élément) li>
ul>
Il semble y avoir une nouvelle solution OpenSource basée sur une WPF RichTextBox. La seule mise en garde ne prend que dans le noyau ne prend en charge que des applications stéhalées et pour être utilisée dans un I.e. ASP.NET, vous devez l'appeler dans une stations (mais il existe un échantillon pour cela dans l'écriture). P>
Pour une utilisation dans les add-ins VSTO, cela est confirmé à fonctionner (c.-à-d. Outlook RTFbody) P>
Nuget: https://www.nuget.org/packages/markupconverter/ p>
Projet: https://github.com/figuemon/markupconverter P>
ÉCRIPTION: https://code.msdn.microsoft.com/converting-between- RTF-and-AAA02A6E P>
J'utilisais Markupconverter qui fonctionne bien, mais il a eu des effets étranges sur mon application lorsque les écrans de l'utilisateur ont été définis sur une échelle de quelque chose de plus grand que 100%. Jusqu'à présent, cela fonctionne pour moi, bon travail!