UTILISATION D'IRONPDF

html2pdf Page Break Fixed en C# (Tutoriel pour Développeurs)

Publié décembre 15, 2024
Partager:

Dans les entreprises modernes, les documents numériques sont le moyen typique de partager des informations et de présenter des éléments visuels. Cependant, il peut arriver que l'information soit tellement encombrée sur une seule page, provoquant une surcharge d'information, qu'il soit difficile de comprendre quel contenu se rapporte au sujet. Ainsi, une tactique courante consiste à structurer les sauts de page pour permettre au présentateur de communiquer l'information clairement et aux lecteurs de voir les sections clairement définies entre le document.

Bien queles sauts de pagesont courants dans les documents, les ajuster manuellement est fastidieux et peu évolutif. Dans les entreprises où des milliers de documents sont créés, il est beaucoup plus efficace et idéal d'ajouter automatiquement des sauts de page. Cela permet aux développeurs de personnaliser et d'appliquer le format pour sélectionner leurs documents choisis.

Dans cet article, nous discuterons de l'ajout deles sauts de pageen utilisant une bibliothèque PDF C# appeléeIronPDF. L'intuitivité d'IronPDF permet aux développeurs de configurer rapidement des sauts de page sur plusieurs formes de contenu. Nous aborderons également l'utilisation de la bibliothèque ainsi que sa personnalisation et sa flexibilité pour créer des documents visuellement attrayants avec des sauts de page.

IronPDF : La bibliothèque PDF C

html2pdf Saut de page corrigé en C# (Tutoriel pour développeurs) : Figure 1

IronPDF est une bibliothèque PDF C# flexible, facile à utiliser et hautement personnalisable qui permet aux développeurs, qu'ils soient débutants ou expérimentés, de manipuler et éditer des PDF entièrement. Il offre de nombreuses possibilités aux développeurs pour convertir différents formats, tels que HTML, RTF et images, en PDF et éditer ensuite la manière dont ils sont rendus lors de la conversion en PDF. De plus, IronPDF utilise un moteur de rendu Chrome et, en tant que tel, est très compétent dans le rendu des chaînes HTML, et il permet aux développeurs d'utiliserStyle CSSpermettant de personnaliser davantage le document HTML, offrant aux développeurs un avantage en termes de personnalisation et de présentation visuelle que vous ne trouverez nulle part ailleurs.

Étant donné que la bibliothèque utilise un moteur de rendu Chrome, ce que vous voyez est ce que vous obtenez lors du rendu HTML, ce qui la rend idéale pour des opérations telles que la création de modèles pour les sauts de page afin d'éviter les discordances avec les modèles. C'est exactement comme vous avez conçu les modèles lors de leur conversion en fichiers PDF.

Ajout d'un saut de page sur PDF

Pour illustrer la flexibilité et la facilité d'utilisation de la bibliothèque, nous utiliserons un exemple de code montrant comment ajouter des sauts de page par programmation.

Dans ce scénario, nous utiliserons un PDF basé sur un tableau comme entrée, et nous verrons la différence entre l'ajout du saut de page immédiatement et après, pour une clarté visuelle.

Clé de licence

Avant de commencer, veuillez vous rappeler qu'IronPDF nécessite une clé de licence pour fonctionner. Vous pouvez obtenir une clé dans le cadre d'un essai gratuit en vous rendant à l'adresse suivantelien.

//Replace the license key variable with the trial key you obtained
IronPdf.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
//Replace the license key variable with the trial key you obtained
IronPdf.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
'Replace the license key variable with the trial key you obtained
IronPdf.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
VB   C#

Après avoir reçu une clé d'essai, définissez cette variable dans votre projet, et vous êtes prêt.

Entrée PDF

Le PDF suivant sera utilisé comme entrée pour nos exemples. C'est un tableau simple avec des données regroupées avec des informations distinctes, ce qui rend difficile de différencier où le contenu se termine.

html2pdf Saut de page corrigé en C# (Tutoriel pour développeur) : Figure 2

Exemple d'utilisation du code

using IronPdf;
const string html = @"
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>
  <div style='page-break-after: always;'> </div>
  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("Page_Break.pdf");
using IronPdf;
const string html = @"
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>
  <div style='page-break-after: always;'> </div>
  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("Page_Break.pdf");
Imports IronPdf
Private Const html As String = "
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>
  <div style='page-break-after: always;'> </div>
  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>"
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("Page_Break.pdf")
VB   C#
  1. Nous importons d'abord le module `Ironpdf` dans le code.

  2. La chaîne HTML montrée ci-dessus est la même que l'objet PDF d'entrée tel que montré ci-dessus. Cependant, dans ce cas, nous ajoutons `

    ` comme la balise div pour garantir que le saut de page se fasse après le tableau afin de séparer le contenu.

  3. Nous instancions ensuite le rendu.

  4. Nous passons la chaîne HTML à RenderHtmlAsPdf.

    1. Enfin, enregistrez le document sous `Page_Break.pdf`.

    La méthode la plus courante est d'utiliser le CSS, car on peut la considérer comme une méthode héritée pour ajouter des sauts de page en effectuant du style en ligne avec du HTML.

Sortie PDF

html2pdf Saut de page corrigé en C# (Tutoriel développeur) : Figure 3

Comme vous pouvez le voir, la sortie effectue le saut de page immédiatement après le tableau.

Contrôler les sauts de page avec CSS

Comme IronPDF peut être personnalisé avec CSS, puisqu'il utilise un moteur de rendu Chrome, nous pouvons en tirer parti et ajouter des sauts de page CSS à des éléments spécifiques et à l'intérieur de ceux-ci, ainsi que spécifier quel élément ne doit pas avoir de saut de page en son sein.

Par exemple, bien que dans l'image ci-dessus, le saut de page se produise après le tableau, il peut arriver qu'il se produise à l'intérieur du tableau en raison de l'encombrement.

Pour éviter cela, nous pouvons utiliser un style CSS spécifique pour le nœud et spécifier que nous ne souhaitons pas ajouter de saut de page à l'intérieur.

<div style='page-break-inside: avoid'>.
 <img src='no-break-me.png'>
</div>
<div style='page-break-inside: avoid'>.
 <img src='no-break-me.png'>
</div>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<div style='page-break-inside: avoid'>. <img src='no-break-@me.png'> </div>
VB   C#

L'ajout de `page-break-inside:avoid` empêche les sauts de page à l'intérieur de l'élément. Cependant, lors de cette opération, assurez-vous que cela est appliqué au nœud div parent de l'élément.

Une opération similaire peut également être utilisée pour les éléments auxquels vous souhaitez spécifier d'ajouter le page-break-before.

<div style="page-break-inside: avoid;">
    <img src="no-break-me.png">
</div>
<div style="page-break-inside: avoid;">
    <img src="no-break-me.png">
</div>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<div style="page-break-inside: avoid;"> <img src="no-break-me.png"> </div>
VB   C#

Puisque nous pouvons utiliser HTML, nous pouvons spécifier davantage les éléments des nœuds en explorant l'arborescence des nœuds HTML à l'aide de Javascript et de document.getElementById ou en utilisant le familier `var element document getelementbyid` pour sélectionner l'élément par son ID et s'assurer que chaque nœud est entièrement personnalisable.

Optimisation de la qualité d'image et de la taille du fichier

Le paramètre de saut de page est également étroitement lié à la qualité de l'image. Vous voulez vous assurer que le paramètre de saut de page n'affecte pas la qualité de l'image en la rétrécissant ou en la redimensionnant sur la page suivante.

Par conséquent, nous pouvons également utiliser le CSS pour garantir que la qualité de l'image reste cohérente dans l'ensemble des modèles lorsque nous appliquons des sauts de page.

<div class="no-break">
    <img src="optimized-image.jpg" alt="Optimized Image" style="width:100%; height:auto;" type="image/jpeg" quality="80" compression="high">
</div>
<div class="no-break">
    <img src="optimized-image.jpg" alt="Optimized Image" style="width:100%; height:auto;" type="image/jpeg" quality="80" compression="high">
</div>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<div class="no-break"> <img src="optimized-image.jpg" alt="Optimized Image" style="width:100%; height:auto;" type="image/jpeg" quality="80" compression="high"> </div>
VB   C#

Le style CSS ci-dessus garantit que l'image reste cohérente après les opérations de saut de page. Nous définissons d'abord la largeur à 100 % de la page. La hauteur peut être mise à l'échelle automatiquement. Nous garantissons que la qualité est de 80 lorsque `image.compression` est réglé sur élevé, assurant une perte minimale de qualité. Cela est particulièrement vrai pour la compression d'images PNG, et l'ajout de cette propriété active également la compression d'images PNG.

De plus, IronPDF offre des options de rendu supplémentaires lors du rendu HTML, similaires à celles d’un utilisateur qui clique sur l’invite de PDF imprimable et qui génère une invite de téléchargement pour le PDF avec ses paramètres d’impression. Pour une liste complète des attributs, veuillez vous référer au Documentation de l'API.

Contrepartie utilisant JavaScript

DepuisIronPDFa l'avantage d'utiliser un moteur de rendu Chrome, il bénéficie également d'une version Node.js qui permet aux développeurs de différents horizons d'exploiter cette puissante bibliothèque.

Avec la version Node.js, les développeurs disposent d'un contrôle encore plus précis sur l'ajout de sauts de page, car ils ont accès à une utilisation basée sur les promesses et à des méthodes telles que la méthode de promesse onrejected true pour le débogage ou le suivi de la progression, ainsi que ses propres fonctions intermédiaires.

Comparé à une bibliothèque courante telle que html2pdfavec la méthode output de l'objet jsPDF, IronPDF est plus flexible et prend en charge plusieurs langues, permettant aux développeurs avec différentes expertises linguistiques de travailler sur le même projet.

Conclusion

html2pdf Saut de page corrigé en C# (Tutoriel pour développeurs) : Figure 4

Comprendre comment utiliser les sauts de page et comment le CSS affecte l'ensemble de l'HTML est crucial pour créer des documents présentables et visuellement attrayants pour les utilisateurs. Cela permet aux lecteurs de séparer les informations qu'ils lisent afin d'éviter la surcharge d'informations et la confusion. Tout au long de cet article ; nous avons parlé de l'utilisation du puissant moteur de rendu Chrome qu'IronPDF utilise pour créer automatiquement des modèles de saut de page pour les modèles et l'automatisation, rationalisant ainsi l'efficacité et l'extensibilité lors de la création de ces documents et réduisant leur susceptibilité aux erreurs humaines.

Pour les développeurs souhaitant essayer IronPDF, la bibliothèque offre une essai gratuitpour $749 et au-delà.

< PRÉCÉDENT
Comparaison des 7 bibliothèques C# pour la génération de PDF (outils gratuits et payants)
SUIVANT >
Comment trouver du texte dans un PDF en C#