2009-01-06 17 views
7

Używam ITextSharp do konwersji strony HTML na PDF.Zachowaj styl CSS podczas konwersji HTML do PDF w ASP.NET

Jednak ITextSharp drukuje CSS w deklaracji STYLE wprost, ignoruje arkusze stylów, nawet gdy są dodane programowo i tylko słucha niektórych wbudowanych stylów (np. Rozmiaru czcionki i koloru, ale nie koloru tła).

Czy jest coś, czego mi brakuje w ITextSharp, czy istnieje lepszy (i darmowy) sposób wykonania tej konwersji?

Dzięki z góry,

Odpowiedz

5

Zobacz WKHTMLTOPDF. Jest to open source, oparte na webkit i bezpłatne.

Napisaliśmy mały samouczek: here.

+3

Czy to jest przypadkiem programowane za pomocą C# ... Widzę tylko użycie linii poleceń?! –

+0

Wygląda na najbardziej obiecującą do tej pory. –

+0

Istnieje biblioteka powiązań C, która teoretycznie powinna być użyta z C# przy użyciu P/Invoke, ale nie miałem szczęścia powodzenia jeszcze: http://github.com/bamccaig/WkHtmlToPdfDflat. Próbowałem też napisać zwykły program w języku C (od Linuksa, nawet), aby bezpośrednio przetestować wiązania C, ale nawet to się nie udało: http://code.google.com/p/wkhtmltopdf/issues/detail?id=614 . – bambams

7

HTML/CSS wsparcie w iText/iTextSharp jest very basic. To nie jest po prostu odpowiednie narzędzie do konwersji html na pdf. Spójrz na tych rozwiązań Zamiast:

Są renderowania HTML do obrazu. Następnie możesz wstawić je do pliku PDF za pomocą iTextSharp.

W przeciwnym razie możesz spróbować przekonwertować HTML -> XSL-FO -> PDF, ale w tym CSS jest jeszcze coś innego.

+0

Wielkie dzięki! Sprawdzę to. –

0

ABCpdf oferuje dwa silniki renderowania HTML. Jedna opiera się na wersji MSHTML zainstalowanej w systemie. Druga opiera się na silniku renderującym FireFox Gecko.

Jest więc dużo miejsca na manewry, jeśli chcesz mieć określony zestaw funkcji. To bardzo prawdziwy świat.

Pod względem jakości chciałbym tylko powiedzieć, że wiele osób decyduje się na ABCpdf po wypróbowaniu wielu różnych alternatyw.

Pracuję na komponencie oprogramowania ABCpdf .NET, więc moje odpowiedzi mogą zawierać koncepcje oparte na ABCpdf. Po prostu to wiem. :-)

+0

Warto wspomnieć, że jest to element komercyjny. W rzeczywistości strona internetowa jest myląca w tej kwestii - mówi, że jest darmowa, mówi, że to shareware. –