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.ColumnWidthscomme une chaîne de valeurs en points séparées par des espaces pour contrôler la mise en page. FloatingBoxest utile pour le positionnement absolu — combinez‑le avecTablepour du contenu structuré.HeaderFooter.FromTextprend 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
BorderInfopour ajouter des bordures aux tableaux, cellules et boîtes flottantes.
Problèmes courants
| Problème | Cause | Solution |
|---|---|---|
| Le tableau dépasse la page | Trop de lignes pour une page | La bibliothèque pagine automatiquement ; ajustez les marges si nécessaire |
| En-tête non affiché | ApplyAsHeader called after Save | Appliquez les en-têtes avant l’enregistrement |
| FloatingBox à la mauvaise position | Coordonnées mesurées depuis le coin supérieur gauche en unités de paragraphe | Vé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éthode | Description |
|---|---|
Paragraphs | Éléments de contenu ordonnés sur une page |
Paragraphs.Add | Ajouter un élément de paragraphe (texte, tableau, graphique, etc.) |
Table | Mise en page en grille avec lignes, cellules et largeurs de colonnes |
Table.ImportArray | Remplir le tableau à partir d’un tableau |
Rows | Collection de lignes dans un tableau |
Cells | Collection de cellules dans une ligne de tableau |
BorderInfo | Style de bordure pour les tableaux, les cellules et les boîtes |
FloatingBox | Conteneur de contenu positionné absolument |
HeaderFooter | Contenu d’en-tête ou de pied de page répétitif |
HeaderFooter.FromText | Créer un en-tête/pied de page à partir d’un modèle de texte |
PdfPageStamp | Superposer une page PDF comme tampon |