Utiliser iText pour convertir HTML en PDF

Est-ce que quelqu’un sait s’il est possible de convertir une page HTML (URL) en PDF en utilisant iText?

Si la réponse est «non», cela ne pose pas de problème, puisque je cesserai de perdre mon temps à essayer de résoudre le problème et à dépenser de l’argent pour l’un des nombreux composants que je sais pouvoir 🙂

Merci d’avance pour vos réponses!

Je pense que c’est exactement ce que vous cherchiez

http://today.java.net/pub/a/today/2007/06/26/generating-pdfs-with-flying-saucer-and-itext.html

http://code.google.com/p/flying-saucer

Le but principal de Flying Saucer est de rendre XHTML et CSS 2.1 conformes aux spécifications à l’écran en tant que composant Swing. Bien qu’il ait été conçu à l’origine pour intégrer le balisage dans les applications de bureau (comme iTunes Music Store), Flying Saucer a également étendu son travail avec iText. Cela rend très facile le rendu de fichiers XHTML aux fichiers PDF, ainsi qu’aux images et à l’écran. Soucoupe volante nécessite Java 1.4 ou supérieur.

J’ai fini par utiliser ABCPdf de webSupergoo. Cela fonctionne très bien et pour environ 350 $, cela m’a permis d’économiser des heures et des heures en fonction de vos commentaires ci-dessus. Merci encore Daniel et Bratch pour vos commentaires.

La méthode la plus simple consiste à utiliser pdfHTML. C’est un complément iText7 qui convertit HTML5 (+ CSS3) en syntaxe pdf.

Le code est assez simple:

HtmlConverter.convertToPdf( "This text should be written in bold.", // html to be converted new PdfWriter( new File("C://users/mark/documents/output.pdf") // destination file ) ); 

Pour en savoir plus, rendez-vous sur http://itextpdf.com/itext7/pdfHTML

La réponse à votre question est en fait double. Tout d’abord, vous devez spécifier ce que vous avez l’intention de faire avec le rendu HTML: enregistrez-le dans un nouveau fichier PDF ou utilisez-le dans un autre contexte de rendu (par exemple, ajoutez-le à un autre document que vous générez).

Le premier est relativement facile à réaliser en utilisant le framework Flying Saucer, qui peut être trouvé ici: https://github.com/flyingsaucerproject/flyingsaucer

Ce dernier est en réalité un problème beaucoup plus complet qui doit être catégorisé davantage. En utilisant iText, vous ne pourrez pas (au moins sortingvialement) combiner des éléments iText (par exemple, Paragraph , Phrase , Chunk , etc.) avec le code HTML généré. Vous pouvez vous frayer un chemin en utilisant la méthode addTemplate ContentByte et en générant le code HTML vers ce modèle.

Si vous souhaitez par contre marquer le code HTML généré avec quelque chose comme des filigranes, des dates ou similaires, vous pouvez le faire en utilisant iText.

Donc, en fin de compte: Vous ne pouvez pas intégrer sortingvialement le HTML rendu dans d’autres contextes générateurs de pdf, mais vous pouvez rendre le HTML directement dans un document PDF vierge.

Utiliser le HTMLWorker d’iText

Exemple

Lorsque j’ai eu besoin d’une conversion HTML vers PDF plus tôt cette année, j’ai essayé la version d’évaluation de Winnovative HTML to PDF Converter (je pense qu’ExpertPDF est le même produit). Cela a bien fonctionné, alors nous avons acheté une licence dans cette société. Je ne vais pas trop en profondeur après cela.

Vous pourriez peut-être essayer:

http://www.allcolor.org/YaHPConverter/