Ako vytvoriť a vložiť tabuľky do PDF v .NET
Tento článok ukazuje, ako programovateľne vytvárať a vložiť tabuľky do PDF pomocou Aspose.PDF Table Generator pre .NET. Plugin table generator streamlí tvorbu tabuliek, takže je jednoduché pridať štruktúrované, štýlové tabule - či už pre správy, formuláre alebo dynamickú automatizáciu obsahu.
Reálny svetový problém
Vytvorenie dobre štruktúrovaných tabuliek v PDF manuálne je nudné, najmä s dynamickými alebo hromadnými údajmi. Automatizácia tohto procesu v aplikáciách .NET ušetrí čas, zabezpečuje konzistenciu a znižuje ľudské chyby.
Prehľad riešenia
Aspose.PDF Table Generator pre .NET umožňuje vývojárom definovať, formátovať a vložiť tabuľky kdekoľvek v dokumente PDF. Flexibilné API vám umožní ovládať riadky, bunky a obsah buniek – vrátane textu, HTML fragmentov, obrázkov a matematických (TeX) rovníc.
Predpoklady
- Visual Studio 2019 alebo neskôr
- .NET 6.0 alebo novšie
- Aspose.PDF pre .NET nainštalovaný prostredníctvom NuGet
PM> Install-Package Aspose.PDF
krok za krokom implementácia
Krok 1: Inštalácia a konfigurácia Aspose.PDF
using Aspose.Pdf.Plugins;
using System.IO;
Krok 2: Vytvorte tabuľku a pridajte do PDF
// Create TableGenerator
var generator = new TableGenerator();
// Create TableOptions and add a demo table to the first page
var options = new TableOptions()
.InsertPageAfter(1) // Insert after first page (or .InsertPageBefore(pageNum))
.AddTable()
.AddRow()
.AddCell().AddParagraph(new HtmlFragment("<b>Header 1</b>"))
.AddCell().AddParagraph(new TextFragment("Header 2"))
.AddRow()
.AddCell().AddParagraph(new TextFragment("Row 1 Cell 1"))
.AddCell().AddParagraph(new TeXFragment("$E=mc^2$", true));
// Add input/output file sources
options.AddInput(new FileDataSource(@"C:\Samples\input.pdf"));
options.AddOutput(new FileDataSource(@"C:\Samples\output_table.pdf"));
// Process
generator.Process(options);
Použitie prípadov a aplikácií (s kódovými variáciami)
1. Pridať tabuľku po alebo pred konkrétnou stránkou
Zadajte tabuľky na presných miestach vo vašom dokumente:
var options = new TableOptions()
.InsertPageAfter(2) // or .InsertPageBefore(3)
.AddTable()
.AddRow()
.AddCell().AddParagraph(new TextFragment("After Page 2"));
2. Dynamická generácia tabuľky založená na údajoch
Prejdite cez kolekcie a pridajte dynamické riadky a bunky:
var data = new[] { new[] { "A", "B" }, new[] { "C", "D" } };
var tableBuilder = new TableOptions().AddTable();
foreach (var row in data)
{
var rowBuilder = tableBuilder.AddRow();
foreach (var cell in row)
{
rowBuilder.AddCell().AddParagraph(new TextFragment(cell));
}
}
Pridajte zvyšok štruktúry a procesu tabuľky ako obvykle.
3. Podpora pre viaceré typy obsahu v bunkách
Bunky môžu obsahovať text, HTML, obrázky alebo TeX rovnice:
AddParagraph(new HtmlFragment("<b>Bold HTML</b>"))
AddParagraph(new TextFragment("Simple Text"))
AddParagraph(new TeXFragment("$a^2 + b^2 = c^2$", true))
4. Add Multiple Tables or Table Layouts in One PDF Pridať viacero tabuľiek alebo tabuliek v jednom PDF*
Chain vyzýva na .AddTable()
Vložte viaceré tabuľky do jedného dokumentu.
5. Batch generuje správy s tabuľkami
Automatické vkladanie tabuľky pre súbor PDF alebo vytváranie viacstránkových správ prehľadom na súbory a zdroje údajov.
Spoločné výzvy a riešenia
Výzva: ** Precízne umiestnenie tabuľky alebo prekladanie obsahuRiešenie: ** Použitie .InsertPageAfter(pageNum)
alebo .InsertPageBefore(pageNum)
pre presné umiestnenie. prehľad výsledkov pre úpravu.
Výzva: Komplexné, variabilné zdroje údajovRiešenie: Vytvorte tabuľky dynamicky v kóde.Používajte loops na vytvorenie riadkov / buniek na položku údajov.
Výzva: Formátovanie buniek alebo nepodporovaný obsahRozhodnutie: Stick na podporované typy obsahu (Text, HtmlFragment, TeXFrage, Image).
Výkon a najlepšie postupy
- Predbežný výstup pred veľkoobchodnou automatizáciou
- Použite dynamické stavby pre variabilné tabuľky dĺžky
- Chain table/cell/row stavitelia na streamline štruktúry
- Validácia vstupných PDF pred spracovaním
Kompletný príklad realizácie
using Aspose.Pdf.Plugins;
using System;
using System.IO;
class Program
{
static void Main()
{
var generator = new TableGenerator();
var options = new TableOptions()
.InsertPageAfter(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph(new HtmlFragment("<b>Header 1</b>"))
.AddCell().AddParagraph(new TextFragment("Header 2"))
.AddRow()
.AddCell().AddParagraph(new TextFragment("Row 1 Cell 1"))
.AddCell().AddParagraph(new TeXFragment("$E=mc^2$", true));
options.AddInput(new FileDataSource(@"C:\Samples\input.pdf"));
options.AddOutput(new FileDataSource(@"C:\Samples\output_table.pdf"));
generator.Process(options);
}
}
Záver
Aspose.PDF Tabuľkový generátor pre .NET umožňuje vývojárom programovo vytvárať, štýl a vložiť tabuľky do dokumentov PDF. Použite flexibilnú API pre dynamické rozloženie, komplexné štruktúry a rýchlu automatizáciu - všetko od čistej, čitateľnej kódy C#.