Il se peut qu'il y ait des différences entre le fichier HTML rendu par Google Chrome
et le fichier PDF généré par pdf.kiwi.

Voici celles qui sont connues et comment faire pour y remédier :

Les accents ne fonctionnent pas dans les entêtes et les pieds de pages au format TEXTE.
Il faut donc préférer l'utilisation des header et footer au format HTML pour pouvoir y afficher des accents et autres caractères spéciaux.

Il peut y avoir plusieurs raisons à cela :

  • Soit parce que vous avez défini une marge pour le haut ou le bas du document qui est trop petite pour afficher le header ou le footer.
  • Soit le header ou le footer est trop grand pour pouvoir être affiché (trop de contenu, ou contenu trop gros).
    Dans ce cas, il faut réduire la taille de la police, ou mettre moins d'informations à l'intérieur.
  • Soit le corps du document n'affiche rien (et ce, même si il contient du HTML).
    Auquel cas, il faut ajouter au minimum 1 caractère qui sera affiché dans le corps.
    Ou bien ajouter la mention "Aucune donnée" par exemple.

Si vous définissez en même temps les options de header (ou footer) au format texte et au format HTML, les deux seront pris en compte lors de la conversion PDF. Par exemple, si vous définissez l'option header_text_left et l'option header_html, leur contenu sera affiché au même endroit et seront superposés.

Sauts de page entre les lignes d'un tableau

Par défaut, pdf.kiwi défini la propriété CSS page-break-inside à avoid pour tout les <tr> du document. Ceci permet d'éviter qu'une ligne de tableau soit coupée au milieu par un saut de page.

Cependant, si vous souhaitez rétablir le saut de page dans les lignes de tableau, il faut redéfinir la propriété CSS comme ceci :

tr {
    page-break-inside: auto;
}

Bordure non désirée autour d'un bloc

Cela est certainement dû au fait que le bloc a une classe CSS qui lui ajoute un background ou background-color de la même couleur que le fond (blanc, par défaut).

Pour y remédier, il faut plutôt définir background: none; dans la classe CSS du bloc.

Bordure de cellule répétée en page suivante

Lorsqu'un tableau s'étend sur plusieurs pages, la première cellule de la page suivante reprend les caractéristiques de la bordure commune de la cellule précédente.

Ceci dans le cas où la propriété border-collapse est à collapse. Pour éviter cela (surtout quand une seule bordure sur les 4 de chaque cellule est visible) il faut utiliser border-collapse: separate à la place de collapse.

Grande cellule de tableau qui chevauche le thead répété

Lorsqu'une cellule de tableau est trop grande pour être rendue sur une seule page, le contenu de la cellule peut chevaucher l'entête de tableau lorsque ce dernier est répété à la page suivante.

Pour éviter cela, plusieurs pistes se présentent :

  • Si le thead doit absolument être répété, alors il faut scinder la cellule en plusieurs lignes
  • Sinon, pour éviter que le thead soit répété sur les pages suivantes, il faut lui ajouter la règle CSS suivante :
    thead {
      display: table-row-group;
    }
    

Contenu qui dépasse à droite de la page

Quand un élément (comme les lignes d'un tableau par exemple) est trop large pour être rendu sur la totalité de la page, pdf.kiwi va simplement le laisser dépasser, même hors de la page.

Pour éviter cela, vous pouvez (au choix) :

  • jouer sur la taille de la police de caractère (dans un tableau par ex.),
  • changer la taille du document grâce à l'option page_size (avec la valeur A3 par exemple),
  • définir une largeur / hauteur du document à votre convenance avec les options page_width et page_height,
  • réduire un peu les marges de gauche et droite du document avec les options margin_left et margin_right.

Voir la documentation de la liste des options pour plus de détails.

Des éléments sensés être positionnés à droite sont invisibles

Ceci est certainement dû au fait que vous avez défini quelque part dans votre CSS la règle min-width avec une valeur trop grande sur un parent de cet élément. Il est recommandé d'éviter d'utiliser cette règle sur les balises html, body, ou autre blocs englobants (wrapper).

Certaines ressources (style CSS, image...) n'apparaissent pas

URLs relatifs

Lors de l'utilisation du point d'entrée api/convert/html, pdf.kiwi supprime automatiquement les ressources link, img et script de votre document HTML dont l'URL est relative (par ex. /css/votre-style.css), afin d'éviter les erreurs lors de la conversion en PDF.

Il faut donc s'assurer de définir l'URL de chaque ressource en absolu.
Par exemple : http://votre-site.com/css/votre-style.css, non pas /css/votre-style.css.

Note : Lors de l'utilisation du point d'entrée api/convert/url pdf.kiwi va tenter de rendre absolus les URL des ressources qui étaient relatifs, en utilisant l'adresse fournie lors de la requête (paramètre url). Cependant, il se peut que certains URL ne soient pas rendus absolus, ce qui a pour conséquence de rendre les ressources introuvables, voire même de faire échouer la conversion.

URLs avec querystrings

Si l'URL d'une ressource dispose d'une querystring (par ex. ?v=1234), et qu'elle est inaccessible (mauvaise adresse, ou derrière un système d'authentification), il se peut que la conversion en PDF n'aboutisse pas, et que l'API retourne le code d'erreur 11. Les messages possibles de cette erreur sont (liste non exhaustive) :

  • network error: HostNotFoundError -> mauvaise adresse,
  • network error: TimeoutError -> connexion au serveur expirée,
  • network error: ConnectionRefusedError -> accès refusé (http au lieu de https ou l'inverse, ou bien problème de Cross-Origin, etc.),
  • network error: ContentNotFoundError -> contenu introuvable, similaire à une erreur 404,
  • network error: AuthenticationRequiredError -> la connexion requiert une authentification.

Dans tout les cas, il convient de vérifier la validité des URL des ressources déclarées dans le HTML, ou bien de supprimer les querystrings. Cette dernière solution permet d'ignorer l'erreur silencieusement et convertir en PDF malgré tout, sans la ressource bien entendu.

résultats pour ""

    Aucun résultat pour ""