Code HTML pour Convertisseur RTF .NET
J'ai déjà vu beaucoup de messages sur le site pour RTF en HTML et de certains autres postes de parler de certains HTML au format RTF, les convertisseurs, mais je vais vraiment essayer d'obtenir un portrait complet de ce qui est considéré comme le plus largement utilisé, produit commercial, produit open source ou si les gens vous recommandons d'aller cultivés à la maison. Toutes mes excuses si vous considérez que c'est une double question, mais je suis en train de créer un produit de la matrice de voir ce qui est le plus viable pour notre application. Je pense également que ce serait utile pour les autres.
Le convertisseur peut être utilisé dans une ASP.NET 2.0 application (nous sommes de la mise à niveau à 3,5 peu de temps, mais encore s'en tenir avec les Formulaires web) à l'aide de sql server 2005 (dès 2008) que la DB.
À partir de la lecture de quelques posts, SautinSoft semble être populaire comme une composante commerciale. Existe-il d'autres composants commerciaux qui vous le recommande pour la conversion de HTML RTF? Le prix n'est pas anodin, mais même si c'est un peu cher sur le côté, merci de l'inscrire.
Pour l'open source, j'ai lu que OpenOffice.org peut être exécuté comme un service, de sorte qu'il peut convertir les fichiers. Toutefois, cela semble être uniquement basé sur Java. J'imagine, j'avais besoin d'une sorte d'interopérabilité pour l'utiliser? Qu'est-ce .NET des composants open source, le cas échéant, à conversion HTML, RTF?
Pour la maison grandi, est une transformation XSLT le chemin à parcourir avec le XHTML? Si oui, quel est le composant recommandez-vous pour générer du XHTML? Sinon, quels autres cultivés à la maison avenuses recommandez-vous.
Aussi, veuillez noter que j'ai actuellement ne se soucient pas tellement sur RTF en HTML. Si une composante commerciale offre ce et le prix est toujours le même, fine, sinon, s'il vous plaît ne pas le mentionner.
Les données sont extraites d'une base de données pour générer un rapport RTF. Tous le format RTF est actuellement fait dans le rapport (codée en dur... ourch!) basé sur une spec, mais dans quelques cas, le client veut format de certaines sections, nous allons donc leur donner un éditeur de texte enrichi dans l'application web et quand ils l'enregistrer, je vais le convertir en un bloc de mise en forme RTF qui sera tiré à partir de la DB et inséré dans le rapport.
Euh... je suis totalement confus. J'essaie de comprendre le flux de données et de conversion ici. Jusqu'à présent j'ai le texte suivant: DB -> format RTF -> format RTF* -> DB, Mais qui n'a pas de sens, car elle semble impliquer que vous avez un fichier au format RTF analyseur qui peut grep et le dump de la DB. Sauf si vous voulez dire que la DB détient les données au format RTF?
Non RTF données sont stockées dans la base de données. Lorsque nous générer un rapport, nous formater les données dans la base de données via C# de la classe qui met en forme les données au format RTF. Les champs que je vais être en ajoutant le rapport sont stockés dans la base de données formatées au format RTF. Pour les stocker au format RTF, j'ai besoin de convertir le code HTML dans le RTE, qui est en cours de comptabilisation en RTF. Est-ce clair? 🙂
Oh, d'accord. Voici une solution qui vous hais car il implique du temps/de l'argent, mais je pense qu'il serait mieux. Dump le format RTF pour les DOCX. Il existe de nombreux outils pour DOCX. Microsoft OOXML SDK v2.0 (msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx). Aspose.Mots pour .NET (aspose.com). Ces outils permettraient de simplifier votre vie comme vous le feriez d'éviter complètement le HTML. En fait, il ya quelques entreprises offrant des web DOCX édition. Heureusement, le dumping des modifications dans la DB serait simple (bon, d'accord plus simple). Encore une fois, vous aurez probablement déteste cette approche.
OriginalL'auteur nickytonline | 2010-01-11
Vous devez vous connecter pour publier un commentaire.
Je recommanderais de faire vous-même en tant que la tâche n'est pas vraiment plus complexe. Tout d'abord, la façon la plus facile de convertir un format Xml dans un autre format Xml est avec une transformation Xslt. La conversion de documents Xml en C# est super facile.
Ici est un bon msdn post de blog pour vous aider à démarrer. Mike mentionne même qu'il était plus facile de le faire à la main que de traiter avec un tiers.
lien
En fait, j'ai déjà répondu à cette question ici. Devinez qui en fait un double.
Foiré HTML serait de faire de ce travail une vraie douleur. J'ai fait certaines applications où le HTML/RTF a été contrôlé, mais si vous allez voir les balises gras, fort balises et parfois les balises ne sont pas fermées, vous pourriez avoir besoin de deux mises en scène de l'approche de l'endroit où vous normaliser les données en premier et ensuite de les convertir. Je ne pense pas que vous avez besoin de s'inquiéter à propos de XHTML.
Je vais d'ici.
OriginalL'auteur Ty.
Pour ce que sa vaut la peine et dans aucun ordre particulier.
Il y a un moment que je voulais l'exportation au format RTF et importer ensuite de la RTF RTF en question d'être manipulés par MS Word.
Le premier problème est le format RTF est pas un standard ouvert. C'est un MS standard et donc ils modifient il comme et quand ils veulent et ne sont généralement pas vous soucier de la compatibilité. Actuellement les versions de RTF sont de 1,3 à 1,9 et ils sont tous différents. En interne, ils utilisent twips pour la mesure, pour faire bonne mesure.
J'ai acheté le O'Reilly livre de poche sur le sujet qui ont aidé et lu beaucoup de choses de la MS de la documentation qui est bon, mais il y a beaucoup de et des lots pour chaque version.
En raison de la façon RTF est codée à l'aide de regex pour manipuler est très dur travail et convient d'être prudent dans la manipulation et de la concentration de test et obtenir de travailler. J'utilise un Mac, l'éditeur qui l'a construit en regex afin que je puisse cessé de test de chaque section et de l'intégrer dans le code.
En raison du nombre de versions il y a aussi beaucoup d'incompatibilité entre les versions, mais il y a beaucoup de choses en commun et à la fin c'était assez dur/facile d'arriver là où je voulais (après environ une semaine de la lecture et de l'une des semaines de codage) et produisant une, très simple.
Je n'ai jamais trouvé une solution commerciale, mais je me devais de les gratuit sur en raison de budget, de sorte que la coupe d'un grand nombre, mais prendre le plus grand soin dans le choix de l'un pour s'assurer qu'il fait ce que vous voulez et a le soutien.
Je ne pense pas que l'endroit où vous venez de HTML/XML/XHTML, j'ai été la conversion de CSV, RTF.
Je ne suis pas sûr si je vous conseille de BRICOLAGE ou d'acheter. Probablement l'équilibre de BRICOLAGE, mais vos propres circonstances dicteront.
Edit: Une chose allant de contenu au format RTF est plus facile que l'inverse.
BTW pas de critiquer MS fior la RTF versions, hey c'est à eux et les propriétaires afin qu'ils puissent faire ce qu'ils aiment.
OriginalL'auteur PurplePilot
Je viens de tomber sur ce WYSIWYG éditeur de texte riche (RTE) pour le web qui a également un code HTML pour convertisseur RTF, Mignon de l'Éditeur .NET. Quelqu'un a une expérience avec ce composant? Mon expérience principale pour basé sur le web RTEs ont été CKEditor (fckEditor) et de TinyMCE, mais aussi loin que je peux dire CKEditor et TinyMCE n'ont pas de HTML au format RTF, les convertisseurs intégrés.
OriginalL'auteur nickytonline
Depuis que je suis tenu de mettre en œuvre certaines de publipostage capacités avec de riches de mise en forme du texte sur une application Web, j'ai pensé qu'il serait sympa de partager mes expériences.
En gros, j'ai exploré deux alternatives:
Google Docs API travaille bien. Le problème est que, quand vous téléchargez un document HTML avec des sauts de page, comme ceci:
et de demander à Google de convertir doc en RTF, vous perdez tous les sauts, ce qui ne correspond pas à mes exigences. Toutefois, si les sauts de page ne sont pas un problème pour vous, vous pourriez vérifier cette solution.
Le XSLT solution fonctionne... en quelque sorte.
Il fonctionne si vous faites référence à MSXML3 COM objet directement, sans passer par System.Xml des classes. Sinon, je ne pouvais pas le faire fonctionner. En outre, il semble à l'honneur de tous mais la mise en forme de base et balises, en faisant abstraction de la couleur du texte, la taille et la comme. Cependant, il honore les sauts de page. 🙂
Voici une petite bibliothèque que j'ai écrit, à l'aide de tidy.net à force de HTML à XHTML conversion. Espérons que cela aide.
OriginalL'auteur Max Lambertini
TL;DR: je recommande d'utiliser le
OpenXml
format et laHtmlToOpenXml
package nuget si possible.Microsoft Word COM
Je n'ai pas vraiment beaucoup cherché sur ce sujet dans mon cas d'utilisation consiste à utiliser la fonctionnalité sur un serveur qui rend les composants COM pas un grand choix.
XHTML2RTF
Comme @IAmTimCorey mentionné vous pouvez utiliser cette codeproject bibliothèque.
Inconvénients sont les suivants:
Windows Forms Navigateur Web
Comme @Jerry mentionné vous pouvez utiliser les Formulaires Windows
WebBrowser
de contrôle.Inconvénients sont les suivants:
Pas pris en charge caractéristiques comprennent:
del
élément)DevExpress
Exemple de Code de "Paul V" de la devexpress centre de support. (03.02.2015)
Ou vous pouvez utiliser la
RichEditDocumentServer
type comme indiqué dans cet exemple.Inconnue ce qui est réellement pris en charge.
Inconvénients sont les suivants:
Pas pris en charge caractéristiques comprennent:
del
élément)Sautinsoft
Plus d'exemples et des options de configuration peuvent être trouvés ici et ici.
Pris en charge est la suivante:
Inconvénients sont les suivants:
L'utilisation de la base de connaissances:
BRICOLAGE
Si vous ne voulez prendre en charge des fonctionnalités limitées, vous pouvez écrire votre propre convertisseur. Je ne recommanderais pas ceci si pris en charge à l'ensemble des fonctionnalités est trop grand.
J'ai un petit exemple de projet ici mais c'est seulement pour des fins d'enseignement dans son état actuel.
OpenXml
Si le Format OpenXml est aussi ok pour votre cas d'utilisation, vous pouvez utiliser le HtmlToOpenXml package nuget. C'est gratuit et n'a en charge toutes les fonctionnalités que j'ai testé les autres solutions contre.
Le projet est basé sur le SDK Open Xml par microsoft et semble actif.
OriginalL'auteur NtFreX