Як створити та вставити таблиці в PDF-файли в .NET

Як створити та вставити таблиці в PDF-файли в .NET

Ця стаття показує, як програматично генерувати та вставляти таблиці в PDF-файли за допомогою Aspose.PDF Table Generator для .NET. Додаток на таблицю генератор ускладнює створення таблиць, що робить його простим для додавання структурованих, стильованих столів — будь то для звітів, форм або динамічної автоматизації контенту.

Реальні проблеми світу

Створення добре структурованих таблиць у PDF-файлах вручну неприємно, особливо з динамічними або масовими даними.Автоматизація цього процесу в рамках .NET-прикладів заощаджує час, забезпечує консистенцію і зменшує людські помилки.

Огляд рішення

ASPOSE.PDF Table Generator для .NET дозволяє розробникам визначати, форматувати та вставляти таблиці в будь-якому місці в PDF-документі. Флексивні АПІ дозволяють вам контролювати рядки, клітини та клітинний вміст — в тому числі текст, HTML-фрагменти, зображення та математичні (TeX) рівняння.

Передумови

  • 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: Створіть таблицю і додайте до 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);

Використання випадків і додатків (з варіантами коду)

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. Підтримка для кількох типів контенту в клітинах

Клітини можуть містити текст, HTML, зображення або еквіваленти TeX:

  • AddParagraph(new HtmlFragment("<b>Bold HTML</b>"))
  • AddParagraph(new TextFragment("Simple Text"))
  • AddParagraph(new TeXFragment("$a^2 + b^2 = c^2$", true))

4. Додайте кілька таблиць або табличних розташувань в одному PDF

Керівництво закликає .AddTable() Введіть кілька таблиць в один документ.

5. Batch генерує звіти з таблицями

Автоматичне введення таблиці для пакетів PDF або генерувати багатосторонні звіти шляхом перехоплення файлів і джерел даних.

Спільні виклики та рішення

**Виклик: ** Точне розміщення таблиці або перекладання контенту• Використання .InsertPageAfter(pageNum) або .InsertPageBefore(pageNum) для точного позиціонування. перегляд результатів для корекції.

Виклик: ** Комплексні, змінні джерела данихРішення:** Створіть таблиці динамічно в коді. Використовуйте смуги, щоб генерувати рядки / клітини за елементом даних.

Виклик: Формування клітин або непідтримлений контентРішення: Натисніть до підтримуваних типів контенту (текст, HtmlFragment, TeXFrage, Image).

Виконання та найкращі практики

  • Прогноз продукції перед великою автоматизацією
  • Використовуйте динамічні будівлі для таблиць змінної довжини
  • Будівники ланцюгового столу / клітини / роу для стримування структури
  • Завантажити PDF-файли до обробки

Повний приклад реалізації

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 Table Generator для .NET дозволяє програмістам програматично створювати, стилізувати та вставляти таблиці в PDF-документи. Використовуйте гнучкий API будівлі для динамічних розташувань, складних структур і швидкої автоматизації – все від чистого, читаючого коду C#.

 Українська