Како креирати и убацити табеле у ПДФ-у у .NET
Овај чланак показује како програматски генерисати и убацити табеле у ПДФ-а користећи Аппосе.ПдФ Табела Генератор за .НЕТ. Плугвинг Табел Генатор убрзава стварање стола, чинећи једноставан за додавање структурираних, стилисаних табла - било за извештаје, обрасца или динамичке аутоматизације садржаја.
Реал светски проблем
Креирање добро структурираних табела у ПДФ-у ручно је тужно, посебно са динамичким или масовним подацима.Автоматизација овог процеса унутар .НЕТ апликација штеди време, обезбеђује конзистентност и смањује људску грешку.
Преглед решења
Aspose.PDF Табела Генератор за .NET омогућава програмерима да дефинишу, форматирају и убацују табеле било где у ПДФ документу. флексибилне АПИ-а дозвољавају вам да контролишете редове, ћелије и садржај ћелија – укључујући текст, ХТМЛ фрагменте, слике и математичке (Текс) једначине.
Принципи
- Visual Studio 2019 или касније
- .NET 6.0 или касније
- Aspose.PDF за .NET инсталиран преко NuGet
PM> Install-Package Aspose.PDF
Корак по корак спровођење
Корак 1: Инсталирајте и конфигуришете Aspose.PDF
using Aspose.Pdf.Plugins;
using System.IO;
Корак 2: Направите табелу и додајте у ПДФ
// 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);
Коришћење случајева и апликација (са варијацијама кода)
1. Додајте табелу након или пре одређене странице
Унесите табеле на тачним локацијама у вашем документу:
var options = new TableOptions()
.InsertPageAfter(2) // or .InsertPageBefore(3)
.AddTable()
.AddRow()
.AddCell().AddParagraph(new TextFragment("After Page 2"));
2. Динамичка генерација табела заснована на подацима
Прођите кроз колекције да бисте додали динамичке редове и ћелије:
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));
}
}
Додајте остатак структуре табеле и процеса као и обично.
3. Подршка за више типова садржаја у ћелијама
ћелије могу да садрже текст, ХТМЛ, слике или ТеКС једначине:
AddParagraph(new HtmlFragment("<b>Bold HTML</b>"))
AddParagraph(new TextFragment("Simple Text"))
AddParagraph(new TeXFragment("$a^2 + b^2 = c^2$", true))
4. Додајте више табела или распореда табели у једном ПДФ-у
Цхеин позива на .AddTable()
Унесите неколико табела у један документ.
5. Batch generira izveštaje sa tablicama
Аутоматско убацивање табела за пакет ПДФ-а или генерисање вишестраничних извештаја путем преласка на датотеке и изворе података.
Заједнички изазови и решења
Проблем: Прецизно постављање табела или преоптерећење садржаја Решење: Употреба .InsertPageAfter(pageNum)
или .InsertPageBefore(pageNum)
за тачну позиционирање. преглед резултата за прилагођавање.
Проблем: Комплексни, променљиви извори податакаРешење: Изградите табеле динамично у коду. Користите лопове да бисте генерисали редове / ћелије по ставку података.
Проблем: Целл форматирање или неподржан садржајРешење: Стицк на подржане типове садржаја (текст, ХтмлФрагмент, ТеКСфрагмен, Слика).
Резултати и најбоља пракса
- Претходни Чланак Излазак пре велике аутоматизације
- Користите динамичке градитеље за табеле променљиве дужине
- Цхеин табела / ћелије / рове градитеље за усклађивање структуре
- Валидирајте унос ПДФ-а пре обраде
Потпуни пример имплементације
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);
}
}
Закључак
Aspose.PDF Табелни генератор за .NET омогућава програмерима да програматски граде, стилишу и убацују табеле у ПДФ документима. Користите флексибилан АПИ градитеља за динамичке расположења, сложене структуре и брзу аутоматизацију – све од чистог, читавог Ц # кода.