2009-01-06 6 views
7

J'utilise ITextSharp pour convertir une page HTML en PDF. Cependant, ITextSharp imprime directement le CSS dans la déclaration STYLE, ignore les feuilles de style même lorsqu'elles sont ajoutées par programmation et n'écoute que certains styles en ligne (par exemple taille de police et couleur mais pas de couleur de fond).Maintenir le style CSS lors de la conversion HTML en PDF dans ASP.NET

Existe-t-il quelque chose qui me manque avec ITextSharp, ou existe-t-il une meilleure façon (et gratuite) de faire cette conversion?

Merci à l'avance,

Répondre

5

Jetez un coup d'œil à WKHTMLTOPDF. Il est open source, basé sur webkit et gratuit.

Nous avons écrit un petit tutoriel here.

+3

Est-ce que par hasard C# ... je ne vois que les usages de la ligne de commande?! –

+0

Cela semble le plus prometteur jusqu'à présent. –

+0

Il existe une bibliothèque de liaisons C, qui devrait théoriquement être utilisable depuis C# en utilisant P/Invoke, mais je n'ai pas encore eu de chance: http://github.com/bamccaig/WkHtmlToPdfDflat. J'ai également essayé d'écrire un simple programme C (à partir de Linux, même) pour tester directement les liaisons C, mais même cela a échoué: http://code.google.com/p/wkhtmltopdf/issues/detail?id=614 . – bambams

7

HTML/support CSS dans iText/iTextSharp est very basic. Ce n'est pas le bon outil pour convertir le HTML en pdf. Jetez un oeil à ces solutions plutôt:

Ces render html à une image. Ensuite, vous pouvez les insérer dans votre fichier PDF avec iTextSharp.

Sinon, vous pourriez essayer de convertir HTML -> XSL-FO -> PDF, mais en incluant CSS il y a une tout autre chose.

+0

Merci beaucoup !! Je vais vérifier ça. –

0

ABCpdf fournit deux moteurs de rendu HTML. L'un est basé sur la version MSHTML installée sur le système. L'autre est basé autour du moteur de rendu FireFox Gecko.

Donc, il y a beaucoup de place pour manouver si vous voulez un ensemble particulier de fonctionnalités. C'est très réel.

En termes de qualité, je dirais simplement que beaucoup de gens s'installent sur ABCpdf après avoir essayé plusieurs alternatives.

Je travaille sur le composant logiciel ABCpdf .NET afin que mes réponses puissent présenter des concepts basés sur ABCpdf. C'est juste ce que je sais. :-)

+0

Probablement utile de mentionner que c'est un composant commercial. En fait, le site Web est confus sur ce point - dit qu'il est gratuit, puis dit que c'est shareware. –

Questions connexes