푸터 콘텐츠로 바로가기
제품 비교
IronPDF & QuestPDF HTML to PDF 변환 비교

QuestPDF와 IronPDF의 비교

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against QuestPDF on pricing, HTML support, and licensing.

View Full Comparison

이 비교에서는 근본적으로 다른 생성 모델을 가진 두 가지 .NET PDF 라이브러리인 IronPDF 와 QuestPDF를 기능, 플랫폼 호환성 및 라이선스 측면에서 살펴봅니다.

IronPDF와 QuestPDF는 무엇인가요?

IronPDFHTML을 PDF로 변환하는 기능 , 문서 보안, 대화형 양식, 디지털 서명, 워터마킹 및 콘텐츠 조작 기능을 하나의 NuGet 패키지에 담은 .NET 라이브러리입니다. 내장된 크로뮴 엔진은 외부 종속성 없이 최신 HTML5, CSS3 및 JavaScript 처리합니다.

QuestPDF는 PDF 생성을 위한 코드 기반의 직관적인 API를 제공하는 오픈 소스 .NET 라이브러리입니다. HTML 템플릿이나 독점 형식을 사용하지 않고 프로그래밍 방식으로 문서 레이아웃을 구축하는 것을 선호하는 팀에 매우 적합합니다.

플랫폼 간 호환성

IronPDF

IronPDF는 다양한 플랫폼을 지원하여 선호하는 환경에서 작업할 수 있도록 보장합니다. 다음은 호환성의 세부 정보입니다:

  • .NET 버전:

    • (C#, VB .NET, F#)
    • .NET Core (8, 7, 6, 5, 및 3.1 이상)
    • .NET Standard (2.0 이상)
    • .NET Framework (4.6.2 이상)
  • 애플리케이션 환경:IronPDFWindows, Linux, Mac, Docker , Azure 및 AWS를 포함한 다양한 애플리케이션 환경에서 작동합니다.

  • IDEs: Microsoft Visual Studio 및 JetBrains Rider & ReSharper와 같은 IDE와 함께 작동합니다.

  • OS 및 프로세서: Windows, Mac, Linux, x64, x86, ARM 등 여러 다른 OS & 프로세서를 지원합니다.

QuestPDF

QuestPDF는 강력한 크로스 플랫폼 호환성을 제공합니다. 무엇을 사용하든, QuestPDF를 작업 환경에 구현할 수 있을 것입니다.

  • .NET 버전:

    • .NET Core (3.1 이상)
    • .NET Standard (2.0 이상)
    • .NET Framework (4.6.1 이상)
  • 시스템: Windows, Linux, macOS, Azure, AWS와 같은 다양한 운영 체제 및 클라우드 환경에서 작동합니다.

  • IDEs: Visual Studio, VS Code, JetBrains Rider나 기타 IDE를 사용하여 QuestPDF를 사용할 수 있습니다.

IronPDF대 QuestPDF의 PDF 기능 비교

다음 표는 이 글에서 다룬 주요 기능들을 기준으로IronPDF와 QuestPDF를 비교한 내용을 요약한 것입니다.

기능 IronPDF QuestPDF
HTML을 PDF로 변환 지원됨 (Chromium 엔진) 포함되지 않음
프로그램 방식 PDF 생성 지원됨 지원되는 코드 전용 레이아웃 엔진
PDF 암호화 및 보안 지원됨 포함되지 않음
콘텐츠 수정 지원됨 포함되지 않음
디지털 서명 지원됨 포함되지 않음
워터마킹 HTML/CSS 지원 포함되지 않음
텍스트 및 이미지 스탬핑 지원됨 지원되는(캔버스 기반)
DOCX 파일을 PDF로 변환 지원됨 포함되지 않음

IronPDF의 [30일 무료 평가판](평가판 라이선스에는 이 비교의 모든 기능에 대한 액세스가 포함됩니다. IronPDF와 QuestPDF는 각각 다른 사용자 요구에 맞춰진 고유한 기능 세트를 제공하므로, 어떤 라이브러리가 당신에게 가장 적합할지는 당신이 작업할 PDF로 무엇을 할 계획인지에 달려 있습니다. 아래는 그들의 핵심 기능 비교입니다:

IronPDF기능

  • PDF 변환: IronPDF는 HTML-PDF 변환을 처리할 수 있습니다. 최신 웹 표준에 대한 완전한 지원으로 IronPDF는 HTML 콘텐츠에서 항상 픽셀-정확한 PDF를 일관되게 반환할 것임을 확신할 수 있습니다. 다른 파일 형식을 PDF로 변환하시겠습니까?IronPDFDOCX를 PDF로, RTF를 PDF로, 이미지를 PDF로 변환하는 등 다양한 파일 형식을 지원합니다.

  • PDF 생성: IronPDF를 사용하면 URL, ASPX 파일 또는 HTML 문자열에서 PDF 문서 생성을 수행할 수 있습니다.

  • 워터마킹: 텍스트 및 이미지 워터마크를 PDF 파일에 적용합니다.

  • 보안 기능: IronPDF를 사용하면 어떤 민감한 PDF 파일도 안전하다는 보장을 항상 받을 수 있습니다. IronPDF를 사용하여 PDF 파일을 암호화하고, 비밀번호를 설정하며, PDF 파일에 대한 권한을 설정하십시오.

  • PDF 편집 기능: IronPDF를 사용하면 PDF 파일을 쉽게 편집할 수 있습니다. IronPDF는 PDF 페이지에 헤더와 푸터 추가, 텍스트 및 이미지를 PDF 페이지에 스탬핑, 사용자 정의 워터마크 추가, PDF 폼 작업, PDF 파일 분할 또는 병합 등의 편집 기능을 제공합니다.

자세한 기능 목록은 IronPDF의 기능 페이지를 방문하세요.

QuestPDF기능

  • C#을 사용한 문서 디자인: C# 코드를 사용하여 코드만으로 PDF 파일을 디자인하고 생성합니다 .

  • 포괄적인 레이아웃 엔진: QuestPDF의 포괄적인 레이아웃 엔진은 PDF 문서를 손쉽게 생성할 수 있게 해주며, 생성 과정과 문서 구조에 대한 완전한 제어를 제공하고, 페이지를 완전하게 지원하며, 문서의 시각적 구조를 최적화합니다.

  • 예측 가능한 구조적 요소: QuestPDF를 사용하여 PDF 파일에 텍스트, 이미지, 경계 및 표를 포함한 다양한 구조적 요소를 추가하십시오.

  • 핫-리로드 기능: 코드 재컴파일 없이 실시간 문서 미리보기를 가질 수 있습니다.

  • 유지보수: 오류를 수정하거나 이전 버전을 가져오기 위해 효율적인 버전 관리를 처리합니다. QuestPDF가 제공하는 효율적인 유지보수는 복잡한 HTML 구현에 시간을 낭비하지 않도록 보장합니다.

QuestPDF와IronPDF일반적인 PDF 작업을 어떻게 처리하나요?

어떤 PDF 라이브러리가 당신에게 맞는지 선택하기 전에, 다양한 PDF 라이브러리 사용을 위한 몇 가지 공통 사용 사례를 살펴보고, IronPDF와 QuestPDF가 이러한 작업을 어떻게 처리하는지 비교해 보십시다.

HTML을 PDF로 변환

IronPDF를 사용한 HTML-PDF 변환:

using IronPdf;

// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");

// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;

// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");

// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf

' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True

' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()

' Create a PDF from an HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
pdf.SaveAs("output.pdf")

' Advanced Example with HTML Assets
' Load external html assets: images, CSS and JavaScript.
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

퀘스트PDF:

QuestPDF는 HTML을 PDF로 변환하도록 설계된 것이 아닙니다. 이 프로그램의 아키텍처는 파일 형식 변환보다는 프로그래밍 방식의 문서 구성( JavaScript 렌더링 포함)을 중심으로 구축되었습니다. 기존 HTML 콘텐츠를 변환해야 하는 팀은 일반적으로 QuestPDF를 별도의 렌더링 라이브러리와 함께 사용합니다.

HTML을 PDF로 변환하는 것이 핵심 요구 사항인 프로젝트의 경우, IronPDF의 HTML-to-PDF 도구는 내장된 Chromium 엔진을 사용하여 이 작업을 기본 기능으로 처리합니다.

PDF 파일 암호화하기

IronPDF를 사용한 PDF 암호화:

using IronPdf;
using System;

//Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");

//Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;

//The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;

// change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;

//Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");

//Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;

//The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;

// change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf
Imports System

'Open an Encrypted File, alternatively create a new PDF from Html
Dim pdf = PdfDocument.FromFile("encrypted.pdf", "password")

'Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now

'The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights

'Change or set the document encryption password
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

퀘스트PDF:

QuestPDF는 현재 PDF 암호화 기능을 지원하지 않지만, 문서 메타데이터 수정은 지원합니다. 암호화가 필요한 팀은 일반적으로 QuestPDF와 함께 추가 라이브러리를 통합합니다.

문서 암호화 또는 보안 설정 조정이 워크플로의 일상적인 부분이라면IronPDF이러한 PDF 보안 기능을 기본적으로 제공하므로 추가 패키지가 필요하지 않습니다.

PDF 콘텐츠 수정하기

IronPDF를 사용한 콘텐츠 수정:

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");

pdf.SaveAs("redacted.pdf");
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");

pdf.SaveAs("redacted.pdf");
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")

' Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are")

pdf.SaveAs("redacted.pdf")
$vbLabelText   $csharpLabel

퀘스트PDF:

QuestPDF의 레이아웃 엔진은 문서 생성에 중점을 두고 있으므로 콘텐츠 수정은 아키텍처 영역 외부에 있습니다. 일반적으로 내용을 수정해야 하는 팀은 QuestPDF와 함께 iTextSharp와 같은 추가 라이브러리를 사용합니다.

IronPDF 단일 메서드 호출로 수정 작업을 처리하므로 이 작업을 위해 여러 라이브러리를 조율할 필요가 없습니다.

PDF 서명하기

IronPDF로 디지털 서명하기:

using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");

// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);

// Create PdfSignature object
var sig = new PdfSignature(cert);

// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");

// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);

// Create PdfSignature object
var sig = new PdfSignature(cert);

// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")

' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)

' Create PdfSignature object
Private sig = New PdfSignature(cert)

' Sign PDF document
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
$vbLabelText   $csharpLabel

퀘스트PDF:

QuestPDF는 디지털 서명 기능을 제공하지 않습니다. 일반적인 해결 방법은 QuestPDF를 사용하여 PDF를 생성한 다음, PFX 인증서로 서명하기 위해 별도의 라이브러리로 전달하는 것입니다. 하지만 이 방법은 파이프라인에 추가적인 종속성을 발생시킵니다.

생성 워크플로의 일부로 서명이 필요한 팀의 경우, IronPDF의 서명 기능은 인증서 기반 디지털 서명을 내장된 작업으로 제공합니다.

PDF에 워터마크 적용하기

IronPDF로 워터마크 적용하기:

using IronPdf;

// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;

// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf

' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
$vbLabelText   $csharpLabel

퀘스트PDF:

워터마킹은 QuestPDF의 주요 사업 범위에 속하지 않습니다. QuestPDF는 문서를 처음부터 작성하는 데 중점을 두기 때문에 기존 PDF에 콘텐츠를 덧씌우는 기능은 설계에 포함되지 않습니다.

IronPDF의 워터마킹 API는 HTML/CSS 문자열을 허용하므로 추가 라이브러리 없이 워터마크의 위치, 투명도 및 모양을 완벽하게 제어할 수 있습니다.

이미지 HTML 텍스트 스탬핑

IronPDF 텍스트 및 이미지 스탬핑:

using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create text stamper
TextStamper textStamper = new TextStamper()
{
    Text = "Text Stamper!",
    FontFamily = "Bungee Spice",
    UseGoogleFont = true,
    FontSize = 30,
    IsBold = true,
    IsItalic = true,
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");

// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create text stamper
TextStamper textStamper = new TextStamper()
{
    Text = "Text Stamper!",
    FontFamily = "Bungee Spice",
    UseGoogleFont = true,
    FontSize = 30,
    IsBold = true,
    IsItalic = true,
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");

// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create text stamper
Private textStamper As New TextStamper() With {
	.Text = "Text Stamper!",
	.FontFamily = "Bungee Spice",
	.UseGoogleFont = True,
	.FontSize = 30,
	.IsBold = True,
	.IsItalic = True,
	.VerticalAlignment = VerticalAlignment.Top
}

' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")

' Create image stamper
Dim imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}

' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
$vbLabelText   $csharpLabel

퀘스트PDF:

using QuestPDF.Fluent;
using QuestPDF.Infrastructure;
using QuestPDF.Helpers;

Document.Create(container =>
{
    container.Page(page =>
    {
        page.Size(PageSizes.A4);
        page.Margin(2, Unit.Centimetre);
        page.PageColor(Colors.White);
        page.DefaultTextStyle(x => x.FontSize(12));

        // Adding Header and Footer for context
        page.Header()
            .Text("Header Text")
            .FontSize(20)
            .Bold()
            .AlignCenter();

        page.Footer()
            .Text("Footer Text")
            .FontSize(12)
            .AlignCenter();

        // Adding main content and stamps
        page.Content()
            .Canvas(canvas =>
            {
                // Main content
                canvas.DrawText("This is the main content of the page.", x =>
                {
                    x.Translate(50, 50);
                    x.FontSize(12);
                });

                // Stamped text
                canvas.DrawText("Stamped Text", x =>
                {
                    x.Translate(200, 200); // Position the text
                    x.FontSize(30);
                    x.Bold();
                    x.FontColor(Colors.Red);
                });

                // Stamped image
                canvas.DrawImage("path/to/image.png", x =>
                {
                    x.Translate(200, 300); // Position the image
                    x.Width(100); // Set the width of the image
                });
            });
    });
}).GeneratePdf("output.pdf");
using QuestPDF.Fluent;
using QuestPDF.Infrastructure;
using QuestPDF.Helpers;

Document.Create(container =>
{
    container.Page(page =>
    {
        page.Size(PageSizes.A4);
        page.Margin(2, Unit.Centimetre);
        page.PageColor(Colors.White);
        page.DefaultTextStyle(x => x.FontSize(12));

        // Adding Header and Footer for context
        page.Header()
            .Text("Header Text")
            .FontSize(20)
            .Bold()
            .AlignCenter();

        page.Footer()
            .Text("Footer Text")
            .FontSize(12)
            .AlignCenter();

        // Adding main content and stamps
        page.Content()
            .Canvas(canvas =>
            {
                // Main content
                canvas.DrawText("This is the main content of the page.", x =>
                {
                    x.Translate(50, 50);
                    x.FontSize(12);
                });

                // Stamped text
                canvas.DrawText("Stamped Text", x =>
                {
                    x.Translate(200, 200); // Position the text
                    x.FontSize(30);
                    x.Bold();
                    x.FontColor(Colors.Red);
                });

                // Stamped image
                canvas.DrawImage("path/to/image.png", x =>
                {
                    x.Translate(200, 300); // Position the image
                    x.Width(100); // Set the width of the image
                });
            });
    });
}).GeneratePdf("output.pdf");
Imports QuestPDF.Fluent
Imports QuestPDF.Infrastructure
Imports QuestPDF.Helpers

Document.Create(Sub(container)
	container.Page(Sub(page)
		page.Size(PageSizes.A4)
		page.Margin(2, Unit.Centimetre)
		page.PageColor(Colors.White)
		page.DefaultTextStyle(Function(x) x.FontSize(12))

		' Adding Header and Footer for context
		page.Header().Text("Header Text").FontSize(20).Bold().AlignCenter()

		page.Footer().Text("Footer Text").FontSize(12).AlignCenter()

		' Adding main content and stamps
		page.Content().Canvas(Sub(canvas)
				' Main content
				canvas.DrawText("This is the main content of the page.", Sub(x)
					x.Translate(50, 50)
					x.FontSize(12)
				End Sub)

				' Stamped text
				canvas.DrawText("Stamped Text", Sub(x)
					x.Translate(200, 200) ' Position the text
					x.FontSize(30)
					x.Bold()
					x.FontColor(Colors.Red)
				End Sub)

				' Stamped image
				canvas.DrawImage("path/to/image.png", Sub(x)
					x.Translate(200, 300) ' Position the image
					x.Width(100) ' Set the width of the image
				End Sub)
		End Sub)
	End Sub)
End Sub).GeneratePdf("output.pdf")
$vbLabelText   $csharpLabel

IronPDF 와QuestPDF모두 텍스트 및 이미지 스탬핑 기능을 지원합니다. IronPDF의 접근 방식은 QuestPDF의 캔버스 기반 API가 각 요소에 대해 명시적인 좌표 위치 지정을 요구하기 때문에 약 45줄이 필요한 동일한 결과를 얻기 위해 약 15줄의 코드만 필요로 합니다. IronPDF의 PDF 편집 및 문서 조작 기능에 대한 자세한 내용은 전체 튜토리얼을 참조하십시오.

DOCX를 PDF로 변환하기

IronPDF로 DOCX를 PDF로 변환하기:

using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf

' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()

' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")

' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
$vbLabelText   $csharpLabel

퀘스트PDF:

QuestPDF에는 DOCX 파일을 PDF로 변환하는 기능이 포함되어 있지 않습니다. QuestPDF를 사용하여 이러한 변환을 수행하려면 변환 단계를 처리하기 위해 Aspose.Words 또는 Syncfusion 과 같은 추가 종속성을 도입해야 합니다.

IronPDF DOCX 파일을 PDF로 변환하는 기능을 내장 렌더러로 제공하여 모든 작업을 단일 패키지 내에서 처리할 수 있도록 합니다.

코드 예제 비교 요약

비교 이미지

가격 및 라이선스:IronPDFvs.QuestPDF라이브러리

IronPDF가격 및 라이선스

다양한 수준과 추가 기능을 위한 IronPDF 라이선스 옵션을 확인하십시오. 개발자는 또한 두 가지 가격에 모든 Iron Software 제품을 포함하는 Iron Suite 액세스를 구매할 수 있습니다. IronPDF는 또한 30일 무료 체험판을 제공합니다.

  • 영구 라이선스: 팀의 크기, 프로젝트 필요 사항 및 위치 수에 따라 다양한 영구 라이선스를 제공합니다. 각 라이선스 유형에는 이메일 지원이 포함됩니다.

  • Lite 라이선스: 이 라이선스의 가격은 $799이며 개발자 한 명, 한 위치, 한 프로젝트를 지원합니다.

  • 플러스 라이선스: 3명의 개발자, 3곳, 3건의 프로젝트를 지원하는 이 다음 단계의 라이선스는 라이트 라이선스에서 $1,199입니다. Plus 라이선스는 기본 이메일 지원 외에도 채팅 지원 및 전화 지원을 제공합니다.

  • 프로페셔널 라이선스: $2,399에 대해 10명의 개발자, 10개의 위치, 10개의 프로젝트를 지원하는 대규모 팀에 적합합니다. 그것은 이전 등급과 동일한 연락 지원 채널을 제공하면서도 화면 공유 지원을 추가로 제공합니다.

  • 로열티 없는 재배포: IronPDF의 라이선스는 추가 $2,399에 로열티 없는 재배포 범위를 제공합니다.

  • 중단 없는 제품 지원: 지속적인 제품 업데이트, 보안 기능 업그레이드 및 엔지니어링 팀의 지원을 $1,199/년 또는 $2,399의 일회성 구매로 5년 동안 제공합니다.

  • Iron Suite: $1,498에서 IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint, IronWebScraper 등 모든 Iron 소프트웨어 제품에 액세스할 수 있습니다.

IronPDF 가격 이미지

QuestPDF

  • 커뮤니티: QuestPDF는 오픈 소스이며 MIT 라이선스 하에 제공되며, 커뮤니티 라이선스는 무료입니다. 이 라이선스를 사용하면 자신의 프로젝트를 자유롭게 수정하고 배포할 수 있으며 이 소프트웨어의 라이선스 모델에 따라 사용할 수 있습니다.

  • Professional: $699의 가격으로, Professional 라이선스는 QuestPDF를 사용하는 프로젝트에서 최대 10명의 개발자 팀을 지원합니다.

  • 엔터프라이즈: 이 최종 라이선스 등급은 $2,399이며 무제한 개발자를 대상으로 합니다.

라이선스 비용 외에도 총 프로젝트 비용에는 암호화, 디지털 서명, 정보 삭제 및 형식 변환을 위한 별도의 라이브러리를 구축하는 데 소요된 개발자 시간이 포함됩니다. QuestPDF는 이러한 기능을 기본적으로 지원하지 않습니다. 수년에 걸친 프로젝트 수명 주기 동안 비용을 평가하는 팀의 경우, 이러한 통합 및 유지 관리 비용이 오픈 소스 라이선스와 상용 라이선스 간의 차이를 훨씬 능가하는 경우가 많습니다.

문서 및 지원:IronPDFvs. QuestPDF

IronPDF

IronPDF 광범위한 문서 및 상업적 지원을 제공합니다.

  • 포괄적인 문서화: 모든 기능을 다루는 광범위하고 사용자 친화적인 문서화.

  • 24/5 지원: 엔지니어 지원이 적극적으로 제공됨.

  • 비디오 튜토리얼: YouTube에 단계별 비디오 가이드가 제공됩니다.

  • 커뮤니티 포럼: 추가 지원을 위한 활발한 커뮤니티.

  • 정기 업데이트: 최신 기능 및 보안 패치를 보장하는 월별 제품 업데이트.

더 많은 정보를 원하신다면 IronPDF의 문서를 확인하고 IronSoftware YouTube 채널을 방문하십시오.

QuestPDF

  • 문서: QuestPDF는 웹사이트에 광범위한 문서를 제공하며, 빠르게 시작할 수 있는 가이드와 코드 예제도 포함되어 있습니다.

  • 커뮤니티: 오픈 소스 프로젝트로서 QuestPDF는 홍보 및 버그 찾기를 위한 커뮤니티 기여를 많이 의존하며, 활발하고 지원적인 개발자 커뮤니티를 장려합니다.

  • YouTube 비디오: QuestPDF는 YouTube에 계속하여 관련 비디오를 게시하며, 개발자들이 라이브러리의 다양한 측면을 배우는 데 도움을 줍니다.

QuestPDF는 문서화 및 문제 해결에 기여하는 활발한 오픈 소스 커뮤니티의 도움을 받고 있습니다. 보장된 응답 시간이나 전담 엔지니어링 지원이 필요한 팀의 경우 IronPDF의 상용 지원 모델이 프로덕션 환경에 더 적합할 수 있습니다.

어떤 라이브러리를 선택해야 합니까?

IronPDF와 QuestPDF는 모두 .NET에서 PDF 생성에 유용한 도구를 제공하며, 각기 다른 개발 요구에 맞춰 제공합니다. 최선의 선택은 필요와 예산에 따라 다릅니다. QuestPDF는 오픈 소스이고 사용하기 간단하므로 코드 중심의 가벼운 솔루션을 찾는 개발자에게 적합합니다. IronPDF가 제공하는 모든 추가 기능이 필요하지 않고 무료로 단순한 PDF 라이브러리만 필요하다면 QuestPDF가 적절한 선택일 것입니다.

IronPDF HTML-PDF 변환, 암호화, 수정, 디지털 서명, 워터마킹 및 DOCX-PDF 변환 기능을 모두 포함하는 단일 NuGet 패키지로 제공됩니다. 이러한 기능은 QuestPDF를 사용할 경우 여러 추가 라이브러리가 필요합니다.

문서 생성뿐 아니라 보안, 형식 변환 및 후처리까지 요구 사항이 확장된 팀을 위해IronPDF이러한 작업을 하나의 라이브러리로 통합하고 전용 상업적 지원 및 광범위한 문서를 제공합니다.

30일 무료 체험판을 통해 제공되는 기능을 확인할 수 있습니다.

[{i:(QuestPDF는 해당 소유주의 등록 상표입니다. 이 사이트는 QuestPDF와 관련이 없으며, QuestPDF의 후원이나 승인을 받지 않았습니다. 모든 제품명, 로고 및 브랜드는 해당 소유자의 자산입니다. 비교는 정보 제공 목적으로만 사용되며, 작성 시점에 공개적으로 이용 가능한 정보를 반영합니다.

자주 묻는 질문

C#에서 HTML을 PDF로 변환하는 방법은 무엇인가요?

IronPDF의 RenderHtmlAsPdf 메서드를 사용하여 HTML 문자열을 PDF로 변환할 수 있습니다. 또한 RenderHtmlFileAsPdf 사용하여 HTML 파일을 PDF로 변환할 수도 있습니다.

IronPDF를 엔터프라이즈 애플리케이션에 사용하는 장점은 무엇인가요?

IronPDF는 HTML을 PDF로 변환, 문서 보안, 인터랙티브 폼, 편집 기능을 포함한 광범위한 기능 세트로 인해 엔터프라이즈 애플리케이션에 이상적입니다. 여러 플랫폼을 지원하며 강력한 보안 기능을 제공합니다.

IronPDF를 사용하여 PDF의 디지털 서명을 할 수 있나요?

네, IronPDF는 PDF의 디지털 서명을 지원합니다. 개발자가 X.509 인증서를 사용하여 프로그래밍 방식으로 문서를 서명할 수 있습니다.

IronPDF는 어떤 플랫폼을 지원하나요?

IronPDF는 .NET Core, .NET Standard, .NET Framework를 포함한 다양한 플랫폼을 지원합니다. Windows, Linux, Mac, Docker, Azure, AWS 환경과 호환됩니다.

IronPDF를 사용하여 PDF 파일을 암호화할 방법이 있나요?

네, IronPDF는 문서 보안을 보장하기 위해 암호를 설정하고 권한을 관리할 수 있는 암호화 기능을 제공합니다.

IronPDF와 QuestPDF의 주요 차이점은 무엇인가요?

주요 차이점은 IronPDF가 HTML을 PDF로 변환 및 문서 보안을 포함한 광범위한 기능을 제공하여 복잡한 애플리케이션에 적합한 반면, QuestPDF는 사용의 용이성에 중점을 둔 더 간단한 오픈 소스 라이브러리로, 기본적인 HTML 변환 지원이 없습니다.

IronPDF는 지원 리소스를 제공하나요?

IronPDF는 개발자를 돕기 위해 상세한 문서, 24/5 엔지니어 지원, 비디오 튜토리얼, 커뮤니티 포럼, 정기적인 제품 업데이트를 포함한 종합적인 지원 리소스를 제공합니다.

IronPDF를 사용하여 PDF에 워터마크를 추가할 수 있나요?

네, IronPDF를 사용하여 PDF 문서에 워터마크를 추가할 수 있습니다. 이는 문서 표현과 보안을 강화하기 위해 프로그램적으로 수행할 수 있습니다.

IronPDF에 사용할 수 있는 라이선스 옵션은 무엇인가요?

IronPDF는 다양한 비즈니스 요구 및 예산에 맞추기 위해 Lite, Plus, Professional, 로열티 프리 재배포를 포함한 여러 라이선스 옵션을 제공합니다.

QuestPDF는 비용 효율적인 PDF 생성을 위한 좋은 대안인가요?

네, QuestPDF는 경량 PDF 생성 프로젝트를 위한 비용 효율적 솔루션을 찾는 개발자에게 이상적인 무료 오픈 소스 라이브러리입니다.

커티스 차우
기술 문서 작성자

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

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

QuestPDF Logo

비싼 갱신 비용과 시대에 뒤떨어진 제품 업데이트에 지치셨나요?

저희의 엔지니어링 마이그레이션 지원과 더 나은 조건으로 QuestPDF 에서 간편하게 전환하세요.

IronPDF Logo

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해