Comment convertir du HTML en PDF en Java
Ces dernières années, avec les progrès continus de la numérisation, la demande de documents électroniques est devenue de plus en plus élevée. Dans le travail réel, nous devons souvent convertir des fichiers HTML en fichiers PDF et, dans ce processus, nous devons utiliser la technologie de programmation Java. Cet article présentera la méthode d'implémentation Java de conversion de HTML en PDF sous les trois aspects suivants :
1. Utilisez iText pour convertir du HTML en PDF
iText est une bibliothèque PDF Java populaire qui peut convertir des fichiers HTML en fichiers PDF. iText analyse les fichiers HTML et reconstruit la page à l'aide du langage de balisage PDF. Voici le code clé pour utiliser iText pour convertir du HTML en PDF :
Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("output.pdf")); document.open(); HTMLWorker htmlWorker = new HTMLWorker(document); String html = "<html><head></head><body><p>Hello World</p></body></html>"; htmlWorker.parse(new StringReader(html)); document.close();
Le code ci-dessus crée un objet Document pour générer des fichiers PDF, puis utilise PDFWriter pour écrire l'objet Document dans le flux de sortie afin de générer des fichiers PDF. Le HTMLWorker est ensuite utilisé pour analyser le document HTML et l'ajouter à la page PDF. Enfin, fermez l'objet Document pour terminer la génération du fichier PDF.
2. Utilisez Flying Saucer pour convertir du HTML en PDF
Un autre outil Java qui peut être utilisé pour convertir du HTML en PDF est Flying Saucer. Il s'agit d'un moteur de rendu PDF gratuit et open source qui peut convertir des documents HTML au format PDF. Voici un exemple de code pour convertir du HTML en PDF à l'aide de Flying Saucer :
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder(); Document document = builder.parse(new InputSource(new StringReader(htmlContent))); ITextRenderer iTextRenderer = new ITextRenderer(); iTextRenderer.setDocument(document, null); iTextRenderer.layout(); OutputStream outputStream = new FileOutputStream("output.pdf"); iTextRenderer.createPDF(outputStream); outputStream.close();
Le code ci-dessus analyse d'abord le document HTML et le lit dans Document. Ensuite, utilisez la méthode layout() de ITextRenderer pour mettre en page le document. Enfin, utilisez la méthode createPDF() pour générer le fichier PDF dans OutputStream.
3. Utilisez PDFBox pour convertir du HTML en PDF
PDFBox est une bibliothèque PDF Java open source populaire qui fournit de nombreux outils pour créer et traiter des fichiers PDF. Il fournit également des exemples de code HTML vers PDF, l'exemple de code complet peut être consulté ici.
Ce qui suit est un exemple de code pour la conversion HTML en PDF à l'aide de PDFBox :
PDDocument document = new PDDocument(); PDPage page = new PDPage(); document.addPage(page); PDPageContentStream contentStream = new PDPageContentStream(document, page); PDRectangle mediaBox = page.getMediaBox(); float margin = 72; float startX = mediaBox.getLowerLeftX() + margin; float startY = mediaBox.getUpperRightY() - margin; float width = mediaBox.getWidth() - 2 * margin; String html = "<html><head></head><body><p>Hello World!</p></body></html>"; ByteArrayInputStream bais = new ByteArrayInputStream(html.getBytes()); InputStreamReader isr = new InputStreamReader(bais); COSDocument cosDoc = new COSDocument(); PDFOperator.reset(); PDPageTree pageTree = new PDPageTree(); PDDOMParser parser = new PDDOMParser(cosDoc); parser.parse(isr); PDDocumentOutline outline = new PDDocumentOutline(); document.getDocumentCatalog().setDocumentOutline(outline.getRootNode()); PDOutlineItem item = new PDOutlineItem(); item.setTitle("PDFBox"); PDOutlineItem childItem = new PDOutlineItem(); childItem.setTitle("Hello World 2"); item.addLast(childItem); outline.getRootNode().addLast(item); PDAcroForm form = new PDAcroForm(cosDoc); document.getDocumentCatalog().setAcroForm(form); PDPageContentStream cs = new PDPageContentStream(document, page); PDFTextStripper stripper = new PDFTextStripper(); stripper.setStartPage(0); stripper.setEndPage(1); String text = stripper.getText(document); cs.beginText(); cs.setFont(PDType1Font.COURIER, 14); cs.drawString(text, 100, 100); cs.endText(); contentStream.close(); document.save("output.pdf"); document.close();
Le code ci-dessus crée d'abord un objet PDDocument et y ajoute une nouvelle page. Ensuite, un objet PDPageContentStream est créé et utilisé pour dessiner du contenu sur la page. Ensuite, utilisez PDDOMParser pour analyser le code HTML dans un objet COSDocument. Enfin, le contenu est écrit dans le flux de sortie pour générer un fichier PDF.
Résumé
HTML vers PDF a une très large gamme d'applications dans le processus de production réel, et cette tâche importante peut être facilement réalisée grâce à la programmation Java. Cet article explique comment convertir du HTML en PDF à l'aide de trois outils : iText, Flying Saucer et PDFBox. Quelle que soit la situation, le développement peut être rendu plus rapide et plus pratique en choisissant la méthode la mieux adaptée aux besoins de votre projet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

L'article traite des avantages et des inconvénients des composants contrôlés et incontrôlés dans la réaction, en se concentrant sur des aspects tels que la prévisibilité, la performance et les cas d'utilisation. Il conseille les facteurs à considérer lors du choix entre eux.
