Maison > Java > javaDidacticiel > Comment iText 7 et pdfHTML peuvent-ils résoudre les problèmes de conversion HTML en PDF avec le positionnement CSS ?

Comment iText 7 et pdfHTML peuvent-ils résoudre les problèmes de conversion HTML en PDF avec le positionnement CSS ?

DDD
Libérer: 2024-12-16 07:03:13
original
566 Les gens l'ont consulté

How Can iText 7 and pdfHTML Solve HTML to PDF Conversion Problems with CSS Positioning?

Conversion HTML en PDF à l'aide d'iText

Problème : positionnement CSS non respecté

De nombreux développeurs rencontrent des difficultés pour convertir du HTML en PDF à l'aide d'iText, notamment en ce qui concerne le placement des éléments à l'aide de CSS.

HTMLWorker's Limitations

HTMLWorker, un composant obsolète d'iText, présente des inconvénients importants :

  • Prise en charge CSS : Il ne prend pas en charge le vrai CSS et nécessite une définition de style explicite dans code.
  • Obsolète : De nombreuses classes et méthodes utilisées dans HTMLWorker sont devenues obsolète.

Défis de XMLWorker

XMLWorker, conçu comme un cadre d'analyse XML générique, a été confronté à des problèmes similaires :

  • Image manquante : Les images manquaient sans ImageProvider ; même dans ce cas, les attributs CSS comme float étaient ignorés.
  • Prise en charge partielle du CSS : Les styles CSS liés au positionnement n'étaient pas entièrement pris en charge.

Solution avec iText 7 et pdfHTML

Pour résoudre ces lacunes, iText 7 et son module complémentaire pdfHTML ont été développés. Ils offrent une approche simplifiée :

public static final String SRC = "src/main/resources/html/sample.html";
public static final String DEST = "target/results/sample.pdf";
public void createPdf(String src, String dest) throws IOException {
    HtmlConverter.convertToPdf(new File(src), new File(dest));
}
Copier après la connexion

Ce code génère la sortie PDF souhaitée avec des attributs CSS comme float respectés.

Considérations supplémentaires

  • Licence : iText 7 est publié sous AGPL, permettant une utilisation gratuite dans des projets open source, mais des licences commerciales sont requises pour les sources fermées. applications.
  • Systèmes hérités :La migration d'anciennes versions d'iText vers iText 7 peut être bénéfique pour la simplicité du code et la pérennité.
  • Guide du débutant : Pour ceux qui découvrent iText 7, il est recommandé de supprimer le code existant et de recommencer, simplifiant ainsi la conversion. processus.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal