چگونه برای ایجاد و قرار دادن جدول در PDF ها در .NET
این مقاله نشان می دهد که چگونه به طور برنامه نویسی تولید و قرار دادن جدول در فایل های PDF با استفاده از Aspose.PDF Generator برای .NET. پلاگین ژنراتور جدول ایجاد جدول را به سرعت، آسان برای اضافه کردن جدول های ساختار یافته، سبک - چه برای گزارش ها، فرم ها و یا اتوماسیون محتوا پویا.
مشکل دنیای واقعی
ایجاد جدول های ساختار یافته در فایل های PDF به صورت دستی خسته کننده است، به ویژه با داده های پویا یا جمعی. اتوماسیون این فرآیند در برنامه های .NET زمان را صرفه جویی می کند، هماهنگی را تضمین می کنند و خطای انسانی را کاهش می دهند.
بررسی راه حل
Aspose.PDF Table Generator برای .NET به توسعه دهندگان اجازه می دهد تا جدول ها را در هر نقطه از یک سند PDF تعریف، فرمت و قرار دهند. API های انعطاف پذیر به شما امکان کنترل ردیف ها، سلول ها و محتوای سلولی – از جمله متن، تکه های 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 جدول ژنراتور برای .NET به توسعه دهندگان اجازه می دهد تا به طور برنامه نویسی، سبک و قرار دادن جدول در اسناد PDF. استفاده از API سازنده انعطاف پذیر برای طرح های پویا، ساختار پیچیده و اتوماسیون سریع – همه از کد C# خالص و قابل خواندن.