Как создать и ввести таблицы в 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

Step-by-Step реализация

Шаг 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#.

 Русский