Bagaimana untuk mencipta dan memasukkan jadual dalam PDF dalam .NET

Bagaimana untuk mencipta dan memasukkan jadual dalam PDF dalam .NET

Artikel ini menunjukkan bagaimana untuk secara programmatik mencipta dan memasukkan jadual ke dalam PDF menggunakan Aspose.PDF Jadual Generator untuk .NET. Plugin Jangka Panel Meningkatkan penciptaan meja, menjadikannya mudah untuk menambah papan berstruktur, bergaya - sama ada untuk laporan, borang, atau automatik kandungan dinamik.

Masalah dunia sebenar

Mencipta jadual yang terstruktur dalam PDF secara manual adalah membosankan, terutamanya dengan data dinamik atau bulk.Mengautomatikkan proses ini dalam aplikasi .NET menjimatkan masa, memastikan konsistensi, dan mengurangkan kesilapan manusia.

Gambaran keseluruhan penyelesaian

Aspose.PDF Table Generator untuk .NET membolehkan pemaju untuk mendefinisikan, format, dan memasukkan jadual di mana-mana dalam dokumen PDF. APIs fleksibel membenarkan anda untuk mengawal baris, sel dan kandungan sel - termasuk teks, fragmen HTML, imej dan persamaan matematik (TeX).

Prerequisites

  • Visual Studio 2019 atau seterusnya
  • .NET 6.0 atau lebih baru
  • Aspose.PDF untuk .NET dipasang melalui NuGet
PM> Install-Package Aspose.PDF

Pelaksanaan langkah demi langkah

Langkah 1: Instal dan Konfigur Aspose.PDF

using Aspose.Pdf.Plugins;
using System.IO;

Langkah 2: Mencipta Jadual dan Tambah ke 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);

Penggunaan Kasus & Aplikasi (dengan Variasi Kod)

1. Tambah jadual selepas atau sebelum halaman tertentu

Masukkan jadual di lokasi yang tepat dalam dokumen anda:

var options = new TableOptions()
    .InsertPageAfter(2)   // or .InsertPageBefore(3)
    .AddTable()
        .AddRow()
            .AddCell().AddParagraph(new TextFragment("After Page 2"));

2. ** Generasi Jadual Dinamik Berdasarkan Data**

Berjalan melalui koleksi untuk menambah baris dan sel dinamik:

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));
    }
}

Masukkan struktur dan proses jadual anda seperti biasa.

3. ** Sokongan untuk pelbagai jenis kandungan dalam sel**

Sel boleh mengandungi teks, HTML, imej, atau persamaan TeX:

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

4. Tambah pelbagai jadual atau tataletak dalam satu PDF

Rantaian memanggil untuk .AddTable() untuk memasukkan beberapa jadual dalam satu dokumen.

5. Batch menghasilkan laporan dengan jadual

Menyertakan jadual secara automatik untuk satu set PDF atau menghasilkan laporan pelbagai halaman dengan menelusuri fail dan sumber data.

Tantangan dan Penyelesaian Bersama

Challenge: Penempatan jadual yang tepat atau kandungan overlappingPenyelesaian : Penggunaan .InsertPageAfter(pageNum) atau .InsertPageBefore(pageNum) untuk kedudukan yang tepat. preview hasil untuk penyesuaian.

Tantangan: Kompleks, sumber data yang berubah-ubah** Penyelesaian:** Membina jadual secara dinamik dalam kod. Gunakan loops untuk menghasilkan baris/sel bagi setiap item data.

Tantangan: Pemformatan sel atau kandungan yang tidak disokong** Penyelesaian:** Tandakan kepada jenis kandungan yang disokong (Text, HtmlFragment, TeXFrage, Image). Untuk tataletak yang lebih maju, pertimbangkan selepas pemprosesan.

prestasi dan amalan terbaik

  • Prospek output sebelum automatik skala besar
  • Gunakan pembina dinamik untuk jadual panjang variabel
  • Jadual rantaian / pembina sel / bunga untuk menyegarkan struktur
  • Mengesahkan input PDF sebelum pemprosesan

Contoh Pelaksanaan Lengkap

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);
    }
}

Conclusion

Aspose.PDF Table Generator untuk .NET membolehkan pemaju untuk secara programmatik membina, gaya, dan memasukkan jadual dalam dokumen PDF. Gunakan API pembina yang fleksibel untuk tataletak dinamik, struktur yang kompleks dan automatik yang cepat—semua daripada kod C# yang bersih dan boleh dibaca.

 Melayu