Open Source HTML do PDF Renderer z pełną obsługą CSS [zamknięty]

Pytałem o uzyskanie iTextSharp do renderowania pliku PDF z HTML i arkusza CSS przed tutaj , ale wydaje się, że to może nie być możliwe... Więc chyba będę musiał spróbować czegoś innego.

Czy istnieje biblioteka open source. Net / C#, która może pobierać HTML oraz CSS jako wejście i renderować go poprawnie?

Muszę powtórzyć... biblioteka musi być wolna i najlepiej coś z dość liberalną licencją. Pracuję praktycznie bez budżetu proszę.

Author: Martin Thoma, 2009-01-10

7 answers

Zawsze używałem go w linii poleceń, a nie jako biblioteki, ale HTMLDOC daje mi doskonałe wyniki i obsługuje przynajmniejniektóre CSS(nie mogłem łatwo zobaczyć, ile).

Oto przykładowy wiersz poleceń

htmldoc --webpage -t pdf --size letter --fontsize 10pt index.html > index.pdf
 16
Author: Norman Ramsey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-20 21:51:53

To narzędzie wiersza poleceń to biznes! https://wkhtmltopdf.org/

Używa silnika renderującego webkit (używanego w safari i KDE), testowałem go na niektórych złożonych stronach i był o wiele lepszy niż jakiekolwiek inne narzędzie.

 37
Author: isaac,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-15 18:26:48
 2
Author: azerttyu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-04 04:30:25

Możesz spróbować mojego wrappera wkhtmltopdf: https://github.com/pruiz/WkHtmlToXSharp ;)

 0
Author: Pablo Ruiz García,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-05 13:25:12

To nie jest open source, ale możesz przynajmniej dostać darmową licencję na użytek osobisty do Prince, która naprawdę świetnie się spisuje.

 -1
Author: Charlie Martin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-10 06:35:14

Spróbuj ABCpdf z webSupergoo. Jest to rozwiązanie komercyjne, Nie open source, ale standard edition można uzyskać bezpłatnie i zrobi to, o co prosisz.

ABCpdf w pełni obsługuje HTML i CSS, żywe formularze i żywe linki. Wykorzystuje również podstawowe usługi Microsoft XML (MSXML) podczas renderowania, więc wyniki powinny pasować dokładnie do tego, co widzisz w przeglądarce Internet Explorer.

Demo on-line może być używane do testowania renderowania HTML do PDF bez konieczności instalowania żadnego oprogramowania. Zobacz też: http://www.abcpdfeditor.com/

Poniższy przykład kodu C# pokazuje jak renderować jednostronicowy dokument HTML.

Doc theDoc = new Doc();
theDoc.AddImageUrl("http://www.example.com/");
theDoc.Save("htmlimport.pdf");
theDoc.Clear();

Do renderowania wielu stron potrzebna jest funkcja AddImageToChain, udokumentowana tutaj: http://www.websupergoo.com/helppdf7net/source/5-abcpdf6/doc/1-methods/addimagetochain.htm

 -2
Author: AffineMesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-27 06:04:16

Od kilku lat używamy html2pdf do generowania wysoce stylizowanych dokumentów PDF z niestandardowymi czcionkami. Trochę ciężko jest to skonfigurować, ale gdy już jest, działa świetnie... i to za darmo.

Http://www.tufat.com/s_html2ps_html2pdf.htm

 -2
Author: James,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-07 08:44:55