Convertir HTML en PDF

Aperçu

Cet article explique comment convertir HTML en PDF en utilisant PHP. Le code est très simple, il suffit de charger le HTML dans la classe Document et de l’enregistrer en tant que PDF de sortie. Convertir MHTML en PDF en Java est également similaire. Il couvre les sujets suivants

Bibliothèque Java pour convertir HTML en PDF

Aspose.PDF pour PHP via Java est une API de manipulation de PDF qui vous permet de convertir de manière transparente n’importe quel document HTML existant en PDF. Le processus de conversion de HTML en PDF peut être personnalisé de manière flexible.

Convertir HTML en PDF

L’exemple de code Java suivant montre comment convertir un document HTML en PDF.

  1. Créez une instance de la classe HtmlLoadOptions.

  2. Initialiser l’objet Document.

  3. Enregistrer le document PDF de sortie en appelant la méthode Document.save(String).

    // Créer une instance de HtmlLoadOptions pour spécifier les options de chargement pour le fichier HTML
    $loadOption = new HtmlLoadOptions();

    // Créer un nouvel objet Document et charger le fichier HTML
    $document = new Document($inputFile, $loadOption);

    // Enregistrer le document en tant que fichier PDF
    $document->save($outputFile);

Conversion avancée de HTML en PDF

Le moteur de conversion HTML dispose de plusieurs options qui nous permettent de contrôler le processus de conversion.

Support des Media Queries

  1. Créer un LoadOptions HTML.

  2. Définir le mode Print ou Screen.

  3. Initialiser objet Document.

  4. Enregistrer le document PDF de sortie.

Les requêtes média sont une technique populaire pour fournir une feuille de style adaptée à différents appareils. Nous pouvons définir le type d’appareil en utilisant la classe HtmlMediaType.


    // Créez une instance de HtmlLoadOptions pour spécifier les options de chargement pour le fichier HTML
    $htmlMediaType = new HtmlMediaType();

    // Définir le mode Imprimer ou Écran
    $loadOption->setHtmlMediaType($htmlMediaType->Print);

    // Créez un nouvel objet Document et chargez le fichier HTML
    $document = new Document($inputFile, $loadOption);

    // Enregistrez le document en tant que fichier PDF
    $document->save($outputFile);

Activer (désactiver) l’intégration des polices

  1. Ajouter de nouvelles LoadOptions Html.
  2. Désactiver l’intégration des polices.
  3. Enregistrer un nouveau document.

Les pages HTML utilisent souvent des polices (par exemple. fonts à partir d’un dossier local, Google Fonts, etc). Nous pouvons également contrôler l’intégration des polices dans un document en utilisant une propriété setEmbedFonts.


    // Créer une instance de HtmlLoadOptions pour spécifier les options de chargement pour le fichier HTML
    $loadOption = new HtmlLoadOptions();

    // Désactiver l'intégration des polices
    $loadOption->setEmbedFonts(true);

    // Créer un nouvel objet Document et charger le fichier HTML
    $document = new Document($inputFile, $loadOption);

    // Enregistrer le document en tant que fichier PDF
    $document->save($outputFile);

Convertir MHTML en PDF

MHTML, diminutif de MIME HTML, est un format d’archive de page web utilisé pour combiner des ressources qui sont généralement représentées par des liens externes (tels que des images, des animations Flash, des applets Java et des fichiers audio) avec du code HTML en un seul fichier. The content of an MHTML file is encoded as if it were an HTML email message, using the MIME type multipart/related.

Next code snippet show how to covert MHTML files to PDF format with Java:


    // Créez une nouvelle instance de la classe MhtLoadOptions.
    $loadOption = new MhtLoadOptions();

    // Créez une nouvelle instance de la classe Document et chargez le fichier MHTML.
    $document = new Document($inputFile, $loadOption);

    // Enregistrez le document en tant que fichier PDF.
    $document->save($outputFile);