Génération de page

Génération de page

Aspose.PDF FOSS for .NET fournit un moteur de mise en page basé sur les paragraphes pour générer du contenu PDF. Les tableaux, les zones flottantes, les en‑têtes/pieds de page et les tampons vous permettent de créer des pages structurées sans construire manuellement les opérateurs de flux de contenu.


Ajout de paragraphes

Page.Paragraphs est le point d’entrée pour ajouter des éléments de contenu.

using var doc = new Document();
var page = doc.Pages.Add();

page.Paragraphs.Add(new TextFragment("Hello, PDF!"));
doc.Save("hello.pdf");

Tableaux

Table prend en charge les lignes, les cellules, les largeurs de colonne, les bordures et l’état du texte.

var table = new Table();
table.ColumnWidths = "100 200 100";

var row = table.Rows.Add();
row.Cells.Add("Name");
row.Cells.Add("Description");
row.Cells.Add("Price");

page.Paragraphs.Add(table);

Mise en forme des cellules

Cells.Add renvoie un Cell où vous pouvez configurer les bordures, le remplissage et le contenu imbriqué.

var cell = row.Cells.Add("Styled cell");
cell.Border = new BorderInfo(BorderSide.All, 0.5f);
cell.Margin = new MarginInfo(5, 5, 5, 5);

Boîtes flottantes

FloatingBox positionne le contenu à des coordonnées absolues sur la page.

var box = new FloatingBox(200, 100);
box.Left = 72;
box.Top = 700;
box.Paragraphs.Add(new TextFragment("Positioned text"));
page.Paragraphs.Add(box);

En‑têtes et pieds de page

HeaderFooter ajoute du contenu répété en haut ou en bas des pages.

var header = HeaderFooter.FromText("Document Title");
header.ApplyAsHeader(page);

var footer = HeaderFooter.FromText("Page {0}");
footer.ApplyAsFooter(page);

Tampons de page

PdfPageStamp superpose le contenu d’une page PDF sur une autre.

var stamp = new PdfPageStamp("watermark.pdf");
stamp.Put(page);

Conseils et meilleures pratiques

  • Utilisez Table.ColumnWidths comme une chaîne de valeurs en points séparées par des espaces pour contrôler la mise en page.
  • FloatingBox est utile pour le positionnement absolu — combinez‑le avec Table pour du contenu structuré.
  • HeaderFooter.FromText prend en charge {0} comme espace réservé de numéro de page.
  • Ajoutez tous les paragraphes avant d’appeler Save — le moteur de mise en page traite le contenu dans l’ordre.
  • Utilisez BorderInfo pour ajouter des bordures aux tableaux, cellules et boîtes flottantes.

Problèmes courants

ProblèmeCauseSolution
Le tableau dépasse la pageTrop de lignes pour une pageLa bibliothèque pagine automatiquement ; ajustez les marges si nécessaire
En-tête non affichéApplyAsHeader called after SaveAppliquez les en-têtes avant l’enregistrement
FloatingBox à la mauvaise positionCoordonnées mesurées depuis le coin supérieur gauche en unités de paragrapheVérifiez que les unités correspondent à vos attentes

FAQ

Puis-je créer des tableaux sur plusieurs pages ?

Oui. Lorsqu’un tableau dépasse la hauteur de page disponible, il continue automatiquement sur la page suivante.

Comment ajouter des images aux cellules de tableau ?

Créez un paragraphe Image et ajoutez‑le à la collection Paragraphs de la cellule.

Puis-je importer des données d’un tableau dans une table?

Oui. Utilisez Table.ImportArray pour remplir un tableau à partir d’un tableau à deux dimensions.


Résumé de la référence API

Classe / MéthodeDescription
ParagraphsÉléments de contenu ordonnés sur une page
Paragraphs.AddAjouter un élément de paragraphe (texte, tableau, graphique, etc.)
TableMise en page en grille avec lignes, cellules et largeurs de colonnes
Table.ImportArrayRemplir le tableau à partir d’un tableau
RowsCollection de lignes dans un tableau
CellsCollection de cellules dans une ligne de tableau
BorderInfoStyle de bordure pour les tableaux, les cellules et les boîtes
FloatingBoxConteneur de contenu positionné absolument
HeaderFooterContenu d’en-tête ou de pied de page répétitif
HeaderFooter.FromTextCréer un en-tête/pied de page à partir d’un modèle de texte
PdfPageStampSuperposer une page PDF comme tampon

Voir aussi

 Français