.NET에서 PDF에 테이블을 만들고 삽입하는 방법

.NET에서 PDF에 테이블을 만들고 삽입하는 방법

이 기사에서는 Aspose.PDF Table Generator for .NET을 사용하여 PDF에 테이블을 프로그래밍적으로 생성하고 삽입하는 방법을 보여줍니다.Table Genator 플러그인은 텍스트 만들기를 단순화하여 구조화 된, 스타일링 된 표를 추가하는 것이 간단합니다. - 보고서, 양식 또는 역동적 인 콘텐츠 자동화.

현실 세계 문제

PDF에서 잘 구성된 테이블을 수동으로 만드는 것은 특히 역동적 또는 대량 데이터와 관련하여 지루합니다. .NET 응용 프로그램 내에서 이 프로세스를 자동화하면 시간을 절약하고 일관성을 보장하고 인간 오류를 줄입니다.

솔루션 검토

Aspose.PDF Table Generator for .NET은 개발자가 PDF 문서의 어디서나 테이블을 정의, 형식 및 삽입할 수 있습니다. 유연한 APIs는 텍스트, HTML 조각, 이미지 및 수학 (TeX) 방정식을 포함하여 라인, 셀 및 세포 콘텐츠를 제어합니다.

원칙

  • Visual Studio 2019 또는 이후
  • .NET 6.0 또는 이후
  • NuGet을 통해 설치된 .NET을 위한 Aspose.PDF
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, TeXfragments, 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 for .NET은 개발자가 PDF 문서에 테이블을 프로그래밍, 스타일 및 삽입할 수 있게 해줍니다.Dynamic layouts, complex structures, and rapid automation – all from clean, readable C# code.

 한국어