IRONSOFTWAREHOME
동영상

Docker에서 IronPDF 엔진을 사용하는 방법 | IronPDF

Curtis Chau
Curtis Chau
Updated: 2026년 7월 19일

2025년 5월 27일, Apryse가 TallComponents를 인수했습니다. TallPDF.NET 및 PDFKit.NET의 신규 라이선스는 더 이상 제공되지 않으며, Apryse는 새로운 구매자를 iText SDK(역시 Apryse 소유)로 안내합니다. 기존 고객은 계속 지원을 받지만, 엔진은 유지 관리만 진행됩니다. 현재 TallComponents를 사용하는 팀은 지금 이주 계획을 세워 나중에 갑작스러운 전환을 피할 수 있습니다.

이 가이드는 TallComponents에서 IronPDF로의 이주 경로를 제공하며, .NET 개발자를 위한 계획에 필요한 단계별 지침, API 매핑 및 코드 예제도 포함하고 있습니다.

##TallComponents이주 계획을 세워야 하는 이유

2001년에 설립된 TallComponents는 두 가지 주요 .NET PDF 제품을 출하했습니다: PDFKit.NET은 PDF 로딩 및 조작을 위한 것이고, TallPDF.NET은 레이아웃 지향 문서 생성을 위한 것입니다. Apryse 인수 이후 새로운 라이선스 판매가 종료되어 이를 의존하는 팀의 계획 수립의 시점을 변경했습니다.

오늘날의 주요TallComponents제한 사항

신규 라이선스에 폐쇄됨: Apryse의TallComponents페이지는 더 이상TallComponents제품에 대한 새로운 라이선스를 제공하지 않으며, 새로운 구매자를 iText SDK로 안내합니다. 기존 라이선스 보유자는 계속해서 지원을 받습니다.

XHTML 전용HTML파이프라인: TallPDF.NET은 XHTML 1.0 Strict / XHTML 1.1 + CSS 2.1을 파싱하는 XhtmlParagraph 클래스를 제공합니다. PDFKit.NET 자체에는HTML파이프라인이 없습니다. 최신 HTML5 + CSS3 +JavaScript콘텐츠는 안정적으로 렌더링되지 않으며, 박스 안에 헤드리스 브라우저 엔진이 없습니다.

동결된 플랫폼 대상: TallComponents.PDFKit5는 .NET Standard 2.0을 대상으로 합니다; 이전 버전인 TallComponents.PDFKit (4.x)는 .NET Framework 2.0을 대상으로 합니다. .NET 8/9 TFM은 출판되지 않았습니다.

유지 관리 전용 로드맵: Apryse의 개발 에너지가 Apryse SDK 및 iText에 집중되면서TallComponents브랜드 패키지는 유지 관리 업데이트는 받지만 새로운 기능 로드맵은 없습니다.

IronPDF: 현대적TallComponents대안

IronPDF는 현재 .NET 스택을 사용하는TallComponents사용자가 직면한 핵심 격차를 해결합니다:

기능TallComponentsIronPDF
현재 판매 상태신규 라이선스에 폐쇄됨 (Apryse 2025-05-27 인수)적극적인 판매
HTML-to-PDF 지원XHTML 1.0/1.1 + CSS 2.1을 XhtmlParagraph (TallPDF.NET)를 통해 제공합니다예 (Chromium과 함께하는 HTML5/CSS3)
HTML의JavaScript아니요전체 ES2024
설치NuGet (TallComponents.PDFKit5, TallComponents.TallPDF5)NuGet (IronPdf)
고객 지원기존 고객만; 신규 구매자는 iText로 안내적극적인 지원 및 커뮤니티
미래 투자유지 관리 전용장기 로드맵

TallComponents는 초기 .NET 문서 생성 시대에 뿌리를 둔 XML/레이아웃 지향 모델을 사용하는 반면, IronPDF는 오늘날의 팀이 프론트엔드 애플리케이션을 구축하는 방식과 일치하는 크로뮴 구동HTML렌더링을 제공합니다.

빠른 시작: TallComponents에서 IronPDF로 마이그레이션

단계 1: NuGet 패키지 교체

프로젝트가 참조하는TallComponents패키지를 제거하세요. nuget.org의 실제 패키지 ID는 TallComponents.PDFKit5 (또는 4.x의 경우 TallComponents.PDFKit) 및 TallComponents.TallPDF5 / TallPDF6 입니다:

# RemoveTallComponentspackages (whichever your project uses)
dotnet remove package TallComponents.PDFKit5
dotnet remove package TallComponents.TallPDF5
dotnet remove package TallComponents.PDFRasterizer4
SHELL

IronPDF 설치하세요:

dotnet add package IronPdf

특수화된 프레임워크의 경우, IronPDF는 전용 확장 패키지를 제공합니다:

Blazor 서버:

PM > Install-Package IronPdf.Extensions.Blazor

MAUI:

PM > Install-Package IronPdf.Extensions.Maui

MVC 프레임워크:

PM > Install-Package IronPdf.Extensions.Mvc.Framework

단계 2: 네임스페이스 업데이트

TallComponents 네임스페이스를IronPDF네임스페이스로 교체하십시오:

// Before (TallComponents — real namespaces)
using TallComponents.PDF;                    // Document, Page (PDFKit.NET)
using TallComponents.PDF.Shapes;             // TextShape, ImageShape (PDFKit)
using TallComponents.PDF.Security;           // PasswordSecurity
using TallComponents.PDF.Layout;             // Document, Section (TallPDF.NET)
using TallComponents.PDF.Layout.Paragraphs;  // TextParagraph, XhtmlParagraph

// After (IronPDF)
using IronPdf;

3단계: 라이선스를 초기화하세요

애플리케이션 시작 시 라이선스 초기화를 추가합니다:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

TallComponents에서IronPDF API 매핑 참조

TallComponents 개념이 IronPDF에 어떻게 매핑되는지 이해하면 마이그레이션 과정을 가속화할 수 있습니다:

TallComponentsIronPDF노트
Document (TallPDF.NET: layout)ChromePdfRendererPDF 생성을 위한 렌더러 생성
Document (PDFKit.NET: manipulate)PdfDocument기존 PDFs 로드/편집
Section자동HTML구조에서 파생된 섹션
TextParagraphHTML텍스트 요소<p>, <h1>, <div> 등을 사용하십시오.
ImageParagraph<img> 태그표준HTML이미지
TableParagraphHTML <table>표준HTML테이블
XhtmlParagraph (XHTML 1.x + CSS 2.1)RenderHtmlAsPdf() (HTML5/CSS3 via Chromium)현대HTML작동
FontCSS font-family웹 글꼴 지원
document.Write(...)pdf.SaveAs() / pdf.BinaryData파일 또는 byte[] 출력
page.Overlay.Add(shape)pdf.ApplyStamp(stamper)워터마크 / 오버레이
outputDoc.Pages.Add(page.Clone())PdfDocument.Merge(...) / pdf.AppendPdf(...)여러 PDF 병합
Document.Security = new PasswordSecurity { ... }pdf.SecuritySettingsPDF 보안 구성
PageLayoutRenderingOptions페이지 설정 및 여백

코드 마이그레이션 예제

HTML을 PDF로 변환

TallComponents는 TallPDF.NET의 XhtmlParagraph를 통해 HTML을 처리하며, 이는 XHTML 1.0/1.1 + CSS 2.1만 파싱합니다. 현대 HTML5, CSS3, Flexbox, Grid 및JavaScript기반 콘텐츠는 해당 문법의 밖에 있습니다:

TallComponents 접근 방식:

// NuGet: Install-Package TallComponents.TallPDF5
// (HTML/XHTML conversion lives in TallPDF.NET, not in PDFKit.NET.)
using TallComponents.PDF.Layout;
using TallComponents.PDF.Layout.Paragraphs;
using System.IO;

class Program
{
    static void Main()
    {
        Document document = new Document();
        Section section = document.Sections.Add();

        // XhtmlParagraph supports XHTML 1.0/1.1 +CSS 2.1 only.
        XhtmlParagraph xhtml = new XhtmlParagraph();
        xhtml.Text = "<html><body><h1>Hello World</h1><p>This is a PDF from XHTML.</p></body></html>";
        section.Paragraphs.Add(xhtml);

        using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
        {
            document.Write(fs);
        }
    }
}
C#

IronPDF 접근법:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        // Create a PDF fromHTMLstring
        var renderer = new ChromePdfRenderer();
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>";
        
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
C#

IronPDF의 ChromePdfRenderer는 진정한 Chromium 엔진을 사용하여 HTML5 및 CSS3를 완벽하게 지원합니다. 즉, PDF가 현대 브라우저에서 나타나는 것과 정확히 똑같이 렌더됩니다. HTML to PDF 튜토리얼에서 더 알아보세요.

여러 PDF 병합

PDF 병합은 TallComponents와IronPDF사이의 장황함 차이를 보여줍니다.

TallComponents 접근 방식:

// NuGet: Install-Package TallComponents.PDFKit5
using TallComponents.PDF;
using System.IO;

class Program
{
    static void Main()
    {
        // Create target document
        Document outputDoc = new Document();

        // Load first PDF and clone each page into the target
        using (FileStream fs1 = new FileStream("document1.pdf", FileMode.Open, FileAccess.Read))
        {
            Document doc1 = new Document(fs1);
            foreach (Page page in doc1.Pages)
            {
                outputDoc.Pages.Add(page.Clone()); // clone is required across documents
            }
        }

        // Load second PDF and append the whole page collection
        using (FileStream fs2 = new FileStream("document2.pdf", FileMode.Open, FileAccess.Read))
        {
            Document doc2 = new Document(fs2);
            outputDoc.Pages.AddRange(doc2.Pages.CloneToArray());
        }

        // Save merged document
        using (FileStream output = new FileStream("merged.pdf", FileMode.Create))
        {
            outputDoc.Write(output);
        }
    }
}

IronPDF 접근법:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        // Load PDFs
        var pdf1 = PdfDocument.FromFile("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");
        
        // Merge PDFs
        var merged = PdfDocument.Merge(pdf1, pdf2);
        
        // Save merged document
        merged.SaveAs("merged.pdf");
    }
}

TallComponents 버전은 수동 페이지 반복 및 복제를 요구합니다. IronPDF는 이를 단일 PdfDocument.Merge() 호출로 줄였습니다. 고급 병합 시나리오에 대해서는 PDF 병합 문서를 참조하세요.

워터마크 추가

PDF에 워터마킹을 추가하는 것은 개발자 경험의 또 다른 중요한 차이를 나타냅니다.

TallComponents 접근 방식:

// NuGet: Install-Package TallComponents.PDFKit5
using TallComponents.PDF;
using TallComponents.PDF.Shapes;
using System.IO;
using System.Drawing;

class Program
{
    static void Main()
    {
        // Load existing PDF
        using (FileStream fs = new FileStream("input.pdf", FileMode.Open, FileAccess.Read))
        {
            Document document = new Document(fs);

            foreach (Page page in document.Pages)
            {
                TextShape watermark = new TextShape();
                watermark.Text = "CONFIDENTIAL";
                watermark.Font = new Font("Arial", 60);
                watermark.Pen = new Pen(Color.FromArgb(128, 255, 0, 0));
                watermark.X = 200;
                watermark.Y = 400;
                // Rotation is applied via a transform on PDFKit.NET
                // (TextShape has no Rotate property in the PDFKit API).
                watermark.Transform = new RotateTransform(45);

                page.Overlay.Add(watermark);
            }

            using (FileStream output = new FileStream("watermarked.pdf", FileMode.Create))
            {
                document.Write(output);
            }
        }
    }
}

IronPDF 접근법:

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;

class Program
{
    static void Main()
    {
        // Load existing PDF
        var pdf = PdfDocument.FromFile("input.pdf");
        
        // Create watermark
        var watermark = new TextStamper()
        {
            Text = "CONFIDENTIAL",
            FontSize = 60,
            Opacity = 50,
            Rotation = 45,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };
        
        // Apply watermark to all pages
        pdf.ApplyStamp(watermark);
        
        // Save watermarked PDF
        pdf.SaveAs("watermarked.pdf");
    }
}

IronPDF의 TextStamper 클래스는 직관적인 정렬 옵션과 자동 페이지 반복 작업을 제공합니다. 도장 및 워터마킹 가이드는 추가 사용자 정의 옵션을 다룹니다.

디지털 서명

문서 서명은 기업용 애플리케이션에서 매우 중요합니다.

TallComponents 접근 방식:

using TallComponents.PDF;
using TallComponents.PDF.Signing;
using System.IO;
using System.Security.Cryptography.X509Certificates;

using (FileStream fs = new FileStream("unsigned.pdf", FileMode.Open, FileAccess.Read))
{
    Document document = new Document(fs);

    X509Certificate2 cert = new X509Certificate2("certificate.pfx", "password");
    SignatureField field = new SignatureField("Signature1");
    field.Sign(cert);
    document.Fields.Add(field);

    using (FileStream output = new FileStream("signed.pdf", FileMode.Create))
    {
        document.Write(output);
    }
}

IronPDF 접근법:

using IronPdf;
using IronPdf.Signing;

var pdf = PdfDocument.FromFile("unsigned.pdf");

// Sign with certificate
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningLocation = "New York",
    SigningReason = "Document Approval"
};

pdf.Sign(signature);
pdf.SaveAs("signed.pdf");

IronPDF의 서명 API는 감사 추적에 중요한 연락처 정보, 위치 및 서명 이유에 대한 추가 메타데이터 속성을 포함합니다. 완전한 구현 세부 정보를 보려면 디지털 서명 문서를 탐색하십시오.

기능 비교:TallComponents대 IronPDF

기능TallComponentsIronPDF
상태신규 라이선스에 폐쇄됨 (Apryse 2025-05-27 인수)활성
지원기존 고객만전체
업데이트유지 관리 전용정기 기능 출시
콘텐츠 생성
HTML to PDFXHTML 1.0/1.1 +CSS 2.1 (XhtmlParagraph)Chromium을 통한 전체 HTML5/CSS3
URL을 PDF로 변환XHTML URL에 대해서는 예 (XhtmlParagraph.Path)
CSS 지원CSS 2.1전체 CSS3
JavaScript아니요전체 ES2024
XML / 레이아웃 DOM 템플릿예 (TallPDF.NET)필요 없음 (HTML)
PDF 작업
PDF 병합예 (Pages.Add(page.Clone()))예 (PdfDocument.Merge)
PDF 분할
워터마크page.Overlay.Add(TextShape)pdf.ApplyStamp(...)
헤더/푸터레이아웃 DOMHTML/CSS
보안
비밀번호 보호예 (PasswordSecurity)
디지털 서명예 (SignatureField.Sign)
암호화RC4 /AES-128 / AES-256AES-128 / AES-256
PDF/APDF/A-1, PDF/A-2, PDF/A-3
플랫폼
대상 프레임워크PDFKit5: .NET Standard 2.0; PDFKit (4.x): .NET Framework 2.0.NET Framework 4.6.2+, .NET 6/7/8/9
개발
학습 곡선XML / 레이아웃 DOMHTML
문서화인수 시점에 고정됨; 새 문서는 Apryse / iText로 경로 설정유지됨
Community조용함 (신규 판매 없음)활성

##TallComponents마이그레이션 체크리스트

이동 전 작업

코드 베이스를 감사하여 모든TallComponents사용을 식별하십시오:

grep -r "using TallComponents" --include="*.cs" .
grep -rE "XhtmlParagraph|TextParagraph|PasswordSecurity|page\.Overlay" --include="*.cs" .
SHELL

기존 XML/레이아웃 템플릿을 문서화하십시오—이들은 HTML로 변환될 것입니다. 현재 사용 중인 보안 설정을 파악하고 비밀번호 구성 및 디지털 서명 구현을 기록하십시오.

코드 업데이트 작업

  1. NuGet를 통해TallComponents패키지 제거 2.IronPDF Install-Package
  2. XHTML / 레이아웃 DOM 템플릿을 HTML5로 변환
  3. Section/Paragraph 모델을HTML요소로 교체
  4. 표 코드를 표준HTML테이블로 업데이트
  5. 헤더/푸터를 HTML로 변환하여 HtmlHeaderFooter 사용
  6. 보안 설정을 갱신하여 pdf.SecuritySettings 사용
  7. 시작 시 라이선스 초기화를 추가

헤더 및 푸터 마이그레이션

TallPDF.NET은 페이지 헤더를 위해 레이아웃 DOM (Section.Header / Section.Footer)을 사용합니다. IronPDF는 동적 플레이스홀더가 포함된HTML기반 헤더를 제공합니다:

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center;'>Header Text</div>",
    MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center;'>Footer Text</div>",
    MaxHeight = 25
};

IronPDF의 헤더 및 푸터에 대해 자세히 알아보기.

테스트 단계

1.TallComponents버전과IronPDF버전 간의 시각적 출력을 비교 2. 모든 문서 템플릿 테스트 3. PDF 병합 기능 유효성 검사 4. 디지털 서명 테스트 5. 보안 설정이 올바르게 적용되었는지 확인

권장 마이그레이션 일정

TallComponents는 신규 라이선스에 폐쇄되고 유지 관리 지원만 제공되므로, 자신의 페이스에 맞춰 이동을 계획하되 지연하지 마세요:

1주 차: 코드 베이스 감사 및 모든TallComponents사용 식별
주 2: XHTML / 레이아웃 템플릿을 HTML5로 변환
3주 차: 보안, 병합 및 서명 코드 업데이트
4주 차: 테스트 및 프로덕션 배포

스택이 TallComponents에 머무는 시간이 길어질수록 현재 .NET 타겟과 현재 HTML에서 멀어지게 됩니다.

참고해 주세요: Apryse, PDFKit, Tall Components, iText는 각 소유자의 등록 상표입니다. 이 사이트는 Apryse, PDFKit, PDFTron, TallComponents, iText Group과 관련이 없으며, 그에 의해 보증 또는 후원받지 않습니다. 모든 제품명, 로고 및 브랜드는 각 소유자의 재산입니다. 비교는 정보 제공 목적으로만 사용되며, 작성 시점에 공개적으로 이용 가능한 정보를 반영합니다.
Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

...
더 읽어보기

관련 기사

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
무료 라이브 데모를 예약하세요
Booking Badge

전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.