Odpowiedź na to pytanie jest właściwie dwojaki. Przede wszystkim musisz określić, co zamierzasz zrobić z renderowanym kodem HTML: zapisz go w nowym pliku PDF lub użyj go w innym kontekście renderowania (tj. Dodaj go do innego generowanego dokumentu).
Były to stosunkowo łatwo osiągnąć za pomocą ramy latający spodek, który można znaleźć tutaj: https://github.com/flyingsaucerproject/flyingsaucer
Ten ostatni jest rzeczywiście znacznie bardziej kompleksowy problem, który musi zostać podzielone dalej. Używając iText nie będziesz w stanie (przynajmniej banalnie) łączyć elementów iText (tj. Paragraph
, Phrase
, Chunk
itd.) Z wygenerowanym HTML. Możesz zhackować się z tego, używając metody ContentByte
's i generując kod HTML do tego szablonu.
Jeśli z drugiej strony chcesz wydrukować wygenerowany kod HTML za pomocą znaków wodnych, dat itp., Możesz to zrobić za pomocą iText.
Ostatecznie: nie można w prosty sposób zintegrować renderowanego kodu HTML w innych kontekstach generujących PDF, ale można renderować HTML bezpośrednio do pustego dokumentu PDF.
UPDATE: iText robi konwersji HTML do PDF, ale to wsparcie stylów jest rzadki. Wersja 5.0.6 została wydana w lutym 2011 r. I obejmowała przegląd powiązanego kodu z niewielką widoczną zmianą zachowania. Kolejne wydanie ma na celu znaczne ulepszenie funkcjonalności HTML-> PDF. –
rzeczywiście sprawdź: [xmlworker] (https://sourceforge.net/projects/xmlworker/) dodatek do iText, obsługuje więcej CSS. – Redlab
AKTUALIZACJA: Znaleziono ten nowszy wątek, który podsumowuje bardzo dobrze bieżące opcje http://stackoverflow.com/questions/4055838/best-commercial-html-to-pdf-c-component – Mark