Generazione della pagina
Generazione di pagina
Aspose.PDF FOSS for .NET fornisce un motore di layout basato su paragrafi per generare contenuti PDF. Tabelle, riquadri flottanti, intestazioni/piè di pagina e timbri ti consentono di creare pagine strutturate senza dover costruire manualmente gli operatori del flusso di contenuto.
Aggiunta di paragrafi
Page.Paragraphs è il punto di ingresso per aggiungere elementi di contenuto.
using var doc = new Document();
var page = doc.Pages.Add();
page.Paragraphs.Add(new TextFragment("Hello, PDF!"));
doc.Save("hello.pdf");Tabelle
Table supporta righe, celle, larghezze delle colonne, bordi e stato del testo.
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);Formattazione della cella
Cells.Add restituisce un Cell dove è possibile configurare bordi, padding e contenuto nidificato.
var cell = row.Cells.Add("Styled cell");
cell.Border = new BorderInfo(BorderSide.All, 0.5f);
cell.Margin = new MarginInfo(5, 5, 5, 5);Riquadri fluttuanti
FloatingBox posiziona il contenuto a coordinate assolute sulla pagina.
var box = new FloatingBox(200, 100);
box.Left = 72;
box.Top = 700;
box.Paragraphs.Add(new TextFragment("Positioned text"));
page.Paragraphs.Add(box);Intestazioni e piè di pagina
HeaderFooter aggiunge contenuto ripetuto nella parte superiore o inferiore delle pagine.
var header = HeaderFooter.FromText("Document Title");
header.ApplyAsHeader(page);
var footer = HeaderFooter.FromText("Page {0}");
footer.ApplyAsFooter(page);Marchi di pagina
PdfPageStamp sovrappone il contenuto da una pagina PDF a un’altra.
var stamp = new PdfPageStamp("watermark.pdf");
stamp.Put(page);Suggerimenti e migliori pratiche
- Usa
Table.ColumnWidthscome stringa di valori in punti separati da spazi per controllare il layout. FloatingBoxè utile per il posizionamento assoluto — combinalo conTableper contenuti strutturati.HeaderFooter.FromTextsupporta{0}come segnaposto del numero di pagina.- Aggiungi tutti i paragrafi prima di chiamare
Save— il motore di layout elabora il contenuto in ordine. - Usa
BorderInfoper aggiungere bordi a tabelle, celle e riquadri flottanti.
Problemi comuni
| Problema | Causa | Correzione |
|---|---|---|
| La tabella supera i margini della pagina | Troppe righe per una pagina | La libreria paginazione automaticamente; regolare i margini se necessario |
| Intestazione non visualizzata | ApplyAsHeader called after Save | Applicare le intestazioni prima del salvataggio |
| FloatingBox nella posizione errata | Coordinate misurate dall’angolo in alto a sinistra in unità di paragrafo | Verificare che le unità corrispondano alle proprie aspettative |
FAQ
Posso creare tabelle su più pagine?
Sì. Quando una tabella supera l’altezza della pagina disponibile, continua automaticamente nella pagina successiva.
Come aggiungere immagini alle celle della tabella?
Crea un paragrafo Image e aggiungilo alla raccolta Paragraphs della cella.
Posso importare dati da un array in una tabella?
Sì. Usa Table.ImportArray per popolare una tabella da un array bidimensionale.
Sommario di riferimento API
| Classe / Metodo | Descrizione |
|---|---|
Paragraphs | Elementi di contenuto ordinati su una pagina |
Paragraphs.Add | Aggiungi un elemento paragrafo (testo, tabella, grafico, ecc.) |
Table | Layout a griglia con righe, celle e larghezze delle colonne |
Table.ImportArray | Popola la tabella da un array |
Rows | Raccolta di righe in una tabella |
Cells | Raccolta di celle in una riga di tabella |
BorderInfo | Stile dei bordi per tabelle, celle e riquadri |
FloatingBox | Contenitore di contenuto posizionato assolutamente |
HeaderFooter | Contenuto di intestazione o piè di pagina ripetuto |
HeaderFooter.FromText | Crea intestazione/piè di pagina da un modello di testo |
PdfPageStamp | Sovrapponi una pagina PDF come timbro |