푸터 콘텐츠로 바로가기
제품 비교

Wkhtmltopdf C# 비교와 코드 예제

IronPDF 대 wkhtmltopdf

공식 문서, NuGet 목록, 프로젝트 저장소에서 증거를 바탕으로 한 기능별 비교

⚠️
wkhtmltopdf는 더 이상 사용되지 않음. 프로젝트는 보관되었으며 더 이상 유지보수되지 않습니다. 오래된 Qt WebKit 엔진을 사용하며 최신 CSS3, Flexbox, Grid 및 현재 JavaScript 표준을 지원하지 않습니다. 프로덕션 애플리케이션을 위해 적극적으로 유지관리되는 라이브러리로의 마이그레이션을 권장합니다.
wkhtmltopdf
2
17개 기능 중
2 예 3 부분적 4 래퍼 의존적 8 아님
⚠ 더 이상 사용되지 않음/보관됨
IronPDF ✦
17
17개 기능 중
17 예
✦ 전체 커버리지
특징 wkhtmltopdf IronPDF ✦
PDF Creation & Conversion
HTML/CSS를 PDF로 ⚠ Outdated Engine
기본 목적은 HTML→PDF지만 엔진은 Qt WebKit (오래됨). 최신 CSS3, Flexbox, Grid 지원 부족.
✓ Yes
임베디드 Chromium 엔진 — 픽셀 단위의 완벽한 HTML5/CSS3와 Flexbox, Grid, 최신 웹 표준.
자바스크립트 실행 ~ Partial
JS 관련 옵션을 지원하지만, 오래된 WebKit 엔진은 복잡한 JS에 대한 대안을 권장합니다.
✓ Yes
임베디드 Chromium을 통한 HTML/CSS/JavaScript 전체 렌더링 — 동적 차트, SPA, 상호작용 콘텐츠.
프로그래매틱 생성 ✕ No
HTML을 PDF로만 렌더링하도록 설계되었으며, 일반적인 프로그래밍 PDF 드로잉 라이브러리가 아닙니다.
✓ Yes
PdfDocument 생성자를 통해 새/빈 PDF 생성. 전체 프로그래밍 제어.
Merge, Split & Rearrange ✕ No
변환 도구만; PDF 페이지 분할/병합 API 증거 없음.
✓ Yes
전용 가이드를 통해 병합/분할 지원. 한 줄 작업.
Editing & Manipulation
Headers, Footers & Page Numbers ✓ Yes
엔진은 헤더/푸터 기능을 제공합니다(wkhtmltopdf CLI 플래그를 통한 일반 기능).
✓ Yes
전용 헤더/푸터 API + 페이지 자리 표시자 지원. HTML 기반으로 전체 사용자 정의 가능.
Watermarks & Stamps ✕ No
PDF 편집기가 아니며, 변환 전에 HTML 템플릿을 변경하여 워터마크를 수정합니다.
✓ Yes
HTML/텍스트/이미지 스탬퍼를 사용한 워터마크/스탬핑 방법론. 불투명도, 회전, 위치 완벽한 제어.
Reading & Extraction
PDF에서 텍스트 추출 ✕ No
변환기만; 텍스트 추출 라이브러리가 아님.
✓ Yes
ExtractAllText 주문 옵션 지원(예: 시각적 순서).
페이지를 이미지로 렌더링 ✕ No
wkhtmltopdf는 HTML→PDF로 변환; wkhtmltoimage는 HTML→이미지로 변환하며, PDF→이미지가 아님.
✓ Yes
PDF-이미지/래스터화 API 문서화됨. 네이티브 PNG, JPEG, BMP 출력.
스캔한 PDF 파일의 OCR 처리 ✕ No
HTML→PDF 변환기의 범위에 OCR이 포함되지 않음.
✓ Via IronOCR
OCR을 사용하여 검색 가능한 PDF 생성. IronOCR 통합으로 127개 이상의 언어 지원.
Security & Compliance
디지털 서명 ✕ No
wkhtmltopdf는 PDF 서명을 구현하지 않음.
✓ Yes
X509/PFX 인증서 지원을 가진 전용 서명 가이드.
PDF/A 규정 준수 ✕ No
PDF/A 적합성 워크플로우는 지원되는 출력으로 문서화되지 않음.
✓ Yes
PDF/A 변환 가이드(예: PDF/A-3B 세부 사항). 기업 준수 준비 완료.
Platform & Deployment
크로스 플랫폼 지원 ⚙ Wrapper-Dependent
교차 플랫폼은 각 OS에 대한 적절한 네이티브 바이너리가 설치되어 있어야 의존. 독립적이지 않음.
✓ Yes
OS-specific NuGet packages + macOS & Linux guides. Windows, Linux, macOS, ARM supported.
서버 / Docker 배포 ⚙ Wrapper-Dependent
네이티브 바이너리를 배송해야 하며, 프로젝트 노트는 레거시 엔진 상태를 알림. 복잡한 Docker 설정.
✓ Yes
공식 Azure Functions + Docker 가이드; 선택적 별도 엔진 컨테이너.
첫 번째 PDF까지의 시간 ~ Complex
네이티브 바이너리 관리 + 래퍼 통합이 필요함. 간단한 NuGet 설치가 아님.
✓ Simple
빠른 시작은 설치 + HTML→PDF에 대한 최소 코드 샘플을 보여줌. 단일 Install-Package IronPdf.
Licensing & Support
라이선스 명확성 ~ Complex
LGPLv3 라이선싱은 카피레프트 고려사항을 도입; 다른 .NET 래퍼는 서로 다른 라이선스를 가짐.
✓ Clear
EULA 및 라이선스 약관은 공개적으로 문서화됨. 영구적인 상업 라이선스.
상업 지원 / SLA ? Unknown
엔진은 OSS(보관됨)입니다; 인용된 소스에서는 공급업체 SLA에 대해 설명되어 있지 않습니다. 커뮤니티 지원만 가능합니다 지원.
✓ 24/5 SLA
지원 포털 + "24/5 기술 지원"과 보장된 SLA — 이메일, 라이브 채팅, 전화.
문서 품질 ~ Partial
엔진에 대한 광범위한 CLI 문서가 있지만 .NET 래퍼 문서는 품질이 크게 다릅니다.
✓ Extensive
복사-붙여넣기 코드 샘플과 비디오 튜토리얼이 포함된 전체 '시작하기/사용법/예제' 문서.
요약: wkhtmltopdf는 더 이상 사용되지 않는 HTML-to-PDF 변환기로, 구식의 Qt WebKit 엔진을 사용합니다. 텍스트 추출, PDF 서명, PDF/A 생성, 병합/분할, 워터마크 또는 페이지 레스터화 기능이 없으며 배포를 위해 수동으로 본격적인 네이티브 바이너리 관리가 필요합니다.
IronPDF는 현대적이고 적극적으로 유지 관리되는 대체품이며 30일 동안 무료로 시험해 보십시오 →

필요에 맞는 적절한 PDF 라이브러리를 선택하는 것은 수많은 선택지가 있는 것처럼 보일 때 어려울 수 있습니다. 비교할 때 중요한 요소로는 제공되는 기능과 요구사항의 일치 여부, 지원 및 문서화 수준, 학습 곡선, 라이선스 비용 등이 포함됩니다. 결정적으로 보안 관련 요소도 평가해야 합니다.

이 비교에서는 서로 다른 설계 철학을 가진 두 가지 PDF 생성 라이브러리인 WkHtmlToPdf와 IronPDF 다룹니다. WkHtmlToPdf는 직관적인 명령줄 HTML-PDF 변환기로 명성을 쌓았으며, 많은 팀들이 바로 그러한 목적으로 이 프로그램을 사용해 왔습니다. 그러나 C#에서 WkHtmlToPdf를 사용하는 것은 보안 위험을 초래할 수 있습니다. 외부 실행 파일(WebKit)에 의존하기 때문에 취약점이나 부적절한 명령어 정리가 악용될 수 있으며, 특수 제작된 HTML이나 인수로 인해 서버가 위협받을 수 있습니다.

IronPDF 는 애플리케이션의 보안 컨텍스트 내에서 실행되는 관리형 .NET 라이브러리로, 외부 프로세스와 관련된 공격 표면을 줄여줍니다. 아래 섹션에서는 두 제품의 기능, 렌더링 성능 및 보안 아키텍처를 비교합니다.

IronPDF 와 WkHtmlToPdf는 무엇인가요?

IronPDF 는 .NET Framework 내에서 PDF를 생성, 조작 및 처리하기 위한 C# 라이브러리입니다. 이 API는 HTML을 PDF로 변환, 텍스트 및 이미지 추출, 양식 처리, 암호화 및 디지털 서명과 같은 문서 보안 옵션을 모두 하나의 NuGet 패키지를 통해 이용할 수 있도록 지원합니다. IronPDF NuGet 패키지 관리자 콘솔을 통해 설치할 수 있으며 몇 분 안에 라이브러리를 실행할 수 있습니다. 더 자세한 정보를 원하시면 IronPDF 공식 웹사이트를 방문하세요.

WkHtmlToPdf는 Qt WebKit 렌더링 엔진을 사용하여 HTML 페이지를 PDF로 변환하는 데 널리 사용되는 WkHtmlToPdf 라이브러리의 .NET Core P/Invoke 래퍼입니다. 이 오픈 소스 라이브러리는 DinkToPdf에서 포크되었으며, 단순성을 강조하여 HTML을 PDF로 변환하는 데 중점을 두고 있습니다. 설치가 쉽습니다; WkHtmlToPdf 실행 파일을 다운로드하고 실행한 후, 시스템의 경로 환경 변수에 추가되어 있는지만 확인하면 됩니다. WkHtmlToPdf는 경량 라이브러리이지만, 그 범위는 광범위한 PDF 조작보다는 변환에 초점을 맞추고 있습니다. 자신의 환경에서 IronPDF의 보안 및 기능 차이를 평가하려면 [30일 무료 평가판](평가판 라이선스 사용 가능)을 사용하세요.

플랫폼 간 호환성

IronPDF

IronPDF .NET Framework 내의 광범위한 환경을 지원하여 다양한 플랫폼에서 일관된 작동을 제공합니다.

  • .NET 버전:

    • 완전히 작성되고 C#, VB.NET, F#을 지원합니다.
    • .NET Core (8, 7, 6, 5, 및 3.1+).
    • .NET Standard (2.0 이상).
    • .NET Framework (4.6.2 이상).
  • 애플리케이션 환경: IronPDF Windows, Linux, Mac, Docker , Azure, AWS 등 다양한 애플리케이션 환경에서 작동합니다.

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

  • 운영체제 및 프로세서: 여러 운영체제와 프로세서, Windows, Mac, Linux 및 x64, x86, ARM을 포함해 지원합니다.

IronPDF의 호환성에 대한 자세한 정보를 보려면 IronPDF Compatibility를 방문하십시오.

WkHtmlToPdf

  • .NET 버전: 명령줄 도구로, WkHtmlToPdf 자체는 직접적인 .NET 지원을 제공하지 않지만, .NET 개발자들은 일반적으로 DinkToPdf와 같은 래퍼나 라이브러리를 사용하여 상호 작용합니다.

  • 애플리케이션 환경: WkHtmlToPdf는 Windows, Linux, macOS와 같은 여러 애플리케이션 환경에서 원활하게 작동합니다.

  • 프로그래밍 언어: WkHtmlToPdf는 주로 명령줄 도구를 통해 사용되거나 C#, Java, Python, PHP, Node.js와 같은 프로그래밍 언어와 통합됩니다.

설치

IronPDF 설치 중

IronPDF를 사용하려면 Visual Studio의 NuGet 패키지 관리자를 통해 설치하세요:

Install-Package IronPdf

Wkhtmltopdf 설치

  1. 설치 프로그램 다운로드:

    • WkHtmlToPdf 다운로드 페이지로 이동합니다.
    • "Windows" 섹션에서 최신 안정 버전의 설치 프로그램(예: .exe 파일)을 다운로드합니다.
  2. 설치 프로그램 실행:

    • 다운로드한 .exe 파일을 더블 클릭합니다.
    • 설치 안내를 따릅니다.
    • 설치 중에 WkHtmlToPdf가 시스템 PATH에 추가되어 모든 명령 프롬프트에서 접근할 수 있도록 선택할 수 있습니다.
  3. 설치 확인:
    • 명령 프롬프트(cmd)를 엽니다.
    • 코드가 올바르게 설치되었는지 확인하려면 wkhtmltopdf --version를 입력하세요. 버전 번호가 화면에 인쇄되어야 합니다.

IronPDF 와 WkHtmlToPdf의 기능 비교는 어떻게 되나요?

IronPDF와 WkHtmlToPdf를 비교할 때, PDF 생성 및 조작을 위해 두 라이브러리가 제공하는 기능을 살펴보는 것이 중요합니다.

IronPDF의 기능:

  • PDF 변환: IronPDF HTML5, CSS3(Flexbox 및 Grid 포함) 및 JavaScript 완벽하게 지원하는 내장 Chromium 엔진을 사용하여 HTML을 PDF로 변환합니다. 또한 DOCX, 이미지, RTF 등 다른 형식에서도 변환이 가능합니다.

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

  • 보안 기능: IronPDF 암호화, 비밀번호 보호, 세부적인 권한 설정(읽기 전용, 복사/붙여넣기 제한, 인쇄 제어)을 API의 핵심 기능으로 제공합니다.

  • PDF 편집 기능: IronPDF 기존 PDF 문서를 처리하고 편집하며 PDF 파일을 읽을 수 있습니다. 편집 기능에는 머리글과 바닥글 추가, 페이지에 텍스트와 이미지 삽입, 사용자 지정 워터마크 적용, PDF 양식 작업, PDF 파일 분할 또는 병합 등이 포함됩니다.

IronPDF의 기능에 대한 자세한 내용을 보려면 IronPDF 기능을 방문하세요.

WkHtmlToPdf C# 주요 기능:

  • HTML을 PDF로 변환: HTML 페이지, 파일, 문자열, CSS 콘텐츠를 PDF로 변환하여 원래 레이아웃을 유지합니다.

  • 사용자 정의 옵션: 페이지 크기, 여백, 머리말, 꼬리말 등을 지원합니다.

  • 오픈 소스: MIT 라이선스 하에 무료로 사용 가능합니다.

  • 크로스 플랫폼 호환성: Windows, Linux, macOS 환경에서 작동합니다.

코드 예시를 나란히 비교해 보세요

HTML을 PDF로 변환

IronPDF:

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

// Export to a file or Stream
pdf.SaveAs("output.pdf");

// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
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>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");

// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
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>")

' Export to a file or Stream
pdf.SaveAs("output.pdf")

' Advanced Example with HTML Assets
' Load external html assets: Images, CSS and JavaScript.
' An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

WkHtmlToPdf (DinkToPdf 사용):

using DinkToPdf;
var converter = new BasicConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
    Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello World</h1>" } }
};
byte[] pdf = converter.Convert(doc);
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf);
using DinkToPdf;
var converter = new BasicConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
    Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello World</h1>" } }
};
byte[] pdf = converter.Convert(doc);
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf);
Imports DinkToPdf
Private converter = New BasicConverter(New PdfTools())
Private doc = New HtmlToPdfDocument() With {
	.Objects = {
		New ObjectSettings() With {.HtmlContent = "<h1>Hello World</h1>"}
	}
}
Private pdf() As Byte = converter.Convert(doc)
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf)
$vbLabelText   $csharpLabel

WkHtmlToPdf (명령줄 사용)

wkhtmltopdf myfile.html myfile.pdf
wkhtmltopdf myfile.html myfile.pdf
SHELL

IronPDF 단 몇 줄의 코드로 HTML 콘텐츠에서 픽셀 단위까지 완벽한 PDF 파일을 생성합니다. 내장된 Chromium 엔진은 최신 CSS3, Flexbox 및 Grid를 지원하므로 렌더링된 PDF는 원본 소스와 매우 유사합니다. WkHtmlToPdf는 HTML을 PDF로 변환하는 핵심 작업을 중심으로 설계되었으며, 래퍼 라이브러리를 통해 실행하든 명령줄을 통해 실행하든 간결하게 처리합니다. 하지만 일반적으로 팀에서 어려움을 겪는 부분은 최신 CSS 레이아웃입니다. WkHtmlToPdf의 Qt WebKit 엔진은 Flexbox나 Grid를 완벽하게 지원하지 않아 최신 디자인에서 예상치 못한 렌더링 결과가 발생할 수 있습니다.

PDF 파일 암호화하기

IronPDF:

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;

// Edit file security settings
// 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;

// Edit file security settings
// 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
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")

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

' Edit file security settings
' 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

WkHtmlToPdf:

암호화는 현재 WkHtmlToPdf의 지원 범위에 포함되지 않습니다. 이를 구현하려면 별도의 타사 라이브러리가 필요합니다.

IronPDF 암호 보호, 읽기 전용 강제 적용 및 세부적인 권한 제어를 포함하여 PDF 파일을 암호화하기 위한 직접 API를 제공합니다. WkHtmlToPdf는 변환 단계에 중점을 두므로 암호화가 필요한 팀은 일반적으로 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

WkHtmlToPdf:

WkHtmlToPdf는 내용 삭제 기능을 제공하지 않습니다.

IronPDF의 콘텐츠 삭제 API는 단일 메서드 호출(위 예시에서는 세 줄의 코드)로 지정된 콘텐츠를 삭제합니다. WkHtmlToPdf는 PDF 편집기가 아닌 변환 도구로 설계되었기 때문에, 내용 삭제는 해당 프로그램의 아키텍처 범위에서 벗어납니다. 이러한 기능이 필요한 팀은 별도의 PDF 조작 라이브러리를 추가해야 합니다.

PDF 파일 디지털 서명

IronPDF:

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

// Instantiate Renderer
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;

// Instantiate Renderer
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

' Instantiate Renderer
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

WkHtmlToPdf C#:

WkHtmlToPdf는 PDF에 서명하도록 설계된 프로그램이 아닙니다. 이 기능을 사용하려면 별도의 라이브러리가 필요합니다.

IronPDF의 디지털 서명 API는 X509/PFX 인증서를 허용하고 두 번의 메서드 호출만으로 문서에 서명하므로 대규모 프로그래밍 방식 서명이 필요한 워크플로를 간소화합니다. WkHtmlToPdf는 PDF 서명을 자체적으로 처리하도록 설계되지 않았습니다. 하지만 다른 라이브러리와 함께 사용하는 경우, 해당 라이브러리에서 필요한 서명 기능을 제공할 수 있습니다.

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

WkHtmlToPdf:

워터마킹은 WkHtmlToPdf의 기본 기능에 포함되어 있지 않습니다. 대신 변환 전에 소스 HTML에 CSS 스타일을 적용하거나 기존 문서에 워터마크를 적용할 수 있는 별도의 PDF 라이브러리를 사용해야 합니다.

IronPDF의 워터마킹 도구는 HTML/CSS 기반 방식을 사용하여 개발자가 .NET API를 벗어나지 않고도 투명도, 회전 및 위치를 제어할 수 있도록 합니다. WkHtmlToPdf는 변환 전에 소스 HTML에 CSS 스타일을 적용하여 워터마크를 근사적으로 생성할 수 있습니다. 이 방법은 간단한 경우에는 효과적이지만, 사용자가 직접 생성한 HTML이 아닌 기존 PDF에 워터마크를 추가해야 하는 경우에는 한계에 부딪힙니다.

이미지와 텍스트 스탬핑

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");
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");
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")
$vbLabelText   $csharpLabel
using IronPdf;
using IronPdf.Editing;
using System;

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

// 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;
using System;

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

// 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
Imports System

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

' Create image stamper
Private 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

WkHtmlToPdf C#:

WkHtmlToPdf에는 내장된 스탬프 도구가 포함되어 있지 않습니다. 일반적인 해결 방법은 변환 전에 원하는 스탬프를 소스 HTML 및 CSS에 삽입하는 것입니다.

IronPDF는 Google 글꼴 지원 및 정밀한 정렬 제어를 포함하여 PDF 페이지에 텍스트 및 이미지 스탬핑을 위한 전용 TextStamperImageStamper 클래스를 제공합니다. WkHtmlToPdf에는 내장된 스탬프 도구가 포함되어 있지 않지만, 변환 전에 스탬프 처리된 콘텐츠를 소스 HTML 및 CSS에 직접 삽입하여 유사한 결과를 얻을 수 있습니다.

DOCX를 PDF로 변환하기

IronPDF:

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

WkHtmlToPdf C#:

WkHtmlToPdf는 HTML 입력에만 초점을 맞추고 있으므로 DOCX 변환에는 추가 라이브러리가 필요합니다.

IronPDF는 DocxToPdfRenderer 클래스(위 예시에서는 세 줄의 코드)를 통해 DOCX를 PDF로 변환를 처리합니다. WkHtmlToPdf의 렌더링 파이프라인은 HTML 입력을 기반으로 하므로 DOCX는 지원되는 소스 형식이 아닙니다. 이러한 기능이 필요한 팀은 WkHtmlToPdf와 함께 별도의 변환 라이브러리를 통합해야 합니다.

코드 예제 비교 요약

IronPDF의 모든 기능을 실제로 확인하려면 각 기능을 단계별로 설명하고 복사 붙여넣기 가능한 코드 샘플을 제공하는 IronPDF 사용 설명서를 참조하십시오.

가격 및 라이선싱: IronPDF 대 WkHtmlToPdf

IronPDF

IronPDF는 다양한 레벨과 추가 기능으로 라이선스를 구매할 수 있습니다. 개발자는 두 개의 가격으로 IronSoftware의 모든 제품에 접근할 수 있는 Iron Suite을 구매할 수도 있습니다. 라이선스를 구매할 준비가 되지 않았다면, IronPDF는 모든 기능을 탐색할 수 있는 무료 체험판을 제공하여 라이선스 구매 전에 이를 시험해볼 수 있습니다.

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

  • Lite License: 이 라이선스는 한 명의 개발자, 한 위치, 한 프로젝트를 지원합니다.

  • Plus License: 세 명의 개발자, 세 개의 장소, 세 개의 프로젝트를 지원하며, 이는 lite 라이선스에서 한 단계 높은 것입니다. Plus 라이선스는 기본 이메일 지원 외에도 채팅 지원 및 전화 지원을 제공합니다.

  • Professional License: 더 큰 팀에 적합한 이 라이선스는 열 명의 개발자, 열 개의 장소, 열 개의 프로젝트를 지원합니다. 그것은 이전 등급과 동일한 연락 지원 채널을 제공하면서도 화면 공유 지원을 추가로 제공합니다.

  • 로열티 없는 재배포: IronPDF의 라이선스는 추가 비용으로 로열티 없는 재배포 커버리지를 제공합니다.

  • 끊임없는 제품 지원: IronPDF는 지속적인 제품 업데이트, 보안 기능 업그레이드 및 엔지니어링 팀의 지원에 접근할 수 있는 기회를 제공합니다.

  • Iron Suite: IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint, IronWebScraper를 포함하여 모든 Iron Software 제품에 접근할 수 있습니다.

WkHtmlToPdf

WkHtmlToPdf는 무료로 사용 가능한 오픈 소스 도구로, 자체 라이브러리를 수정하지 않는 한 독점 응용 프로그램에서 wkhtmltopdf를 사용할 수 있는 LGPL 라이선스로 라이선스되어 있습니다.

라이선스 비용 외에도 총 프로젝트 비용에는 네이티브 바이너리 종속성 관리, 암호화 , 서명 및 수정 작업을 위한 별도의 라이브러리 구축, Qt WebKit 엔진의 제한적인 CSS3 지원 문제를 해결하는 데 소요된 개발자 시간이 포함됩니다. 수년에 걸친 프로젝트 수명 주기 동안 비용을 평가하는 팀의 경우, 이러한 통합 및 유지 관리 비용이 오픈 소스 라이선스와 상용 라이선스 간의 차이를 훨씬 능가하는 경우가 많습니다.

문서 및 지원: IronPDF vs. WkHtmlToPdf

IronPDF

IronPDF 광범위한 문서와 지원을 제공합니다.

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

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

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

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

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

  • PDF API 참조: 당사 도구가 제공하는 기능을 최대한 활용할 수 있도록 API 참조 정보를 제공합니다.

자세한 정보는 IronPDF의 광범위한 문서를 확인하고 IronSoftware 유튜브 채널을 방문하세요.

WkHtmlToPdf

  • GitHub: WkHtmlToPdf의 GitHub 저장소는 사용자가 도구 사용 중 발견한 문제를 보고할 수 있는 곳입니다.

  • Stack Overflow: 여기에서 WkHtmlToPdf와 관련된 수많은 질문과 답변을 찾고 커뮤니티의 조언을 받을 수 있습니다.

  • 공식 문서: 공식 문서는 설치, 사용법, 명령줄 옵션 및 일반적인 구성에 대한 세부 정보를 제공합니다.

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

IronPDF 와 WkHtmlToPdf는 모두 C#을 이용한 PDF 생성 기능을 제공하지만, 대상 복잡성 수준은 서로 다릅니다. IronPDF 활발하게 유지 관리되는 Chromium 렌더링 엔진을 사용하는 단일 NuGet 패키지를 통해 변환, 암호화, 수정, 디지털 서명, DOCX-to-PDF 변환 등 PDF 수명 주기 전반을 지원합니다. 여러 PDF 관련 작업을 수행하는 프로젝트의 경우, 이러한 통합 접근 방식을 통해 관리해야 할 종속성 수를 줄일 수 있습니다.

WkHtmlToPdf는 HTML을 PDF로 변환하는 데 있어 집중적이고 직관적인 접근 방식을 통해 인기를 얻었으며, 라이선스 비용이 무료이므로 누구나 쉽게 사용할 수 있습니다. 팀이 일반적으로 전환점에 도달하는 시점은 요구 사항이 변환을 넘어 편집, 보안 또는 규정 준수와 같은 기능으로 확장될 때입니다. 이러한 기능은 WkHtmlToPdf의 아키텍처 범위를 벗어납니다. 프로젝트가 보관 처리된 상태이고 WebKit 엔진이 노후화됨에 따라 요구 사항이 증가하는 팀은 이러한 시점에 활발하게 유지 관리되는 대안을 평가하는 것이 자연스러운 선택이라고 생각하는 경우가 많습니다. 궁극적으로 올바른 선택은 프로젝트의 현재 및 예상되는 PDF 요구 사항에 따라 달라집니다.

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

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

자주 묻는 질문

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

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

IronPDF와 WkHtmlToPdf의 주요 차이점은 무엇입니까?

IronPDF는 텍스트 추출, 폼 처리, 암호화, 디지털 서명 등과 크로스 플랫폼 호환성을 포함한 포괄적인 기능 세트를 제공합니다. WkHtmlToPdf는 간단한 HTML을 PDF로 변환하는 데 중점을 둔 오픈 소스 도구입니다.

.NET 프로젝트에 IronPDF를 어떻게 설치할 수 있습니까?

IronPDF는 Visual Studio의 NuGet 패키지 관리자를 사용하여 설치할 수 있으며, 명령어: Install-Package IronPdf를 실행하세요.

IronPDF를 사용하여 PDF를 암호화할 수 있습니까?

네, IronPDF는 PDF 파일을 암호화하고, 비밀번호를 설정하고, 권한을 부여하여 문서 보안을 향상시킬 수 있는 옵션을 제공합니다.

IronPDF는 크로스 플랫폼 개발을 지원합니까?

정말로, IronPDF는 Windows, Linux, Mac, Docker, Azure, AWS 등 .NET 프레임워크 내에서 다양한 환경과 호환됩니다.

IronPDF는 DOCX 파일을 PDF로 변환할 수 있나요?

네, IronPDF는 DOCX 파일을 PDF로 매끄럽게 변환하는 기능을 포함합니다.

IronPDF 사용자에게는 어떤 종류의 지원이 제공되나요?

IronPDF는 상세한 문서, 24/5 엔지니어 지원, 비디오 튜토리얼, 커뮤니티 포럼, 정기적인 소프트웨어 업데이트를 제공합니다.

WkHtmlToPdf는 어떻게 설치합니까?

WkHtmlToPdf를 설치하려면, 공식 웹사이트에서 실행 파일을 다운로드하고, 설치 프로그램을 실행한 후, 시스템의 PATH에 포함되었는지 확인하세요.

WkHtmlToPdf를 사용할 때의 라이선스 함축은 무엇입니까?

WkHtmlToPdf는 LGPL 라이선스 하에 배포되어, 오픈 소스 및 독점 애플리케이션 모두에서 무료로 사용할 수 있습니다.

WkHtmlToPdf는 PDF 암호화를 지원합니까?

아니요, WkHtmlToPdf는 PDF 암호화에 대한 기본 지원을 포함하지 않습니다. 암호화 기능을 위해 추가적인 서드 파티 라이브러리가 필요합니다.

카이 스튜어트
기술 문서 작성자

카이 스튜어트는 Iron Software에서 코딩에 대한 열정과 글쓰기 능력을 결합하여 일하고 있습니다. 유비 칼리지에서 소프트웨어 개발을 전공한 그는 복잡한 기술 개념을 명확하고 이해하기 쉬운 교육 콘텐츠로 풀어내는 능력을 갖추고 있습니다. 카이는 평생 학습을 중시하며 새로운 기술적 도전을 즐깁니다.

업무 외 시간에는 PC 게임, 트위치 스트리밍, 정원 가꾸기, 반려견 자이야 산책과 같은 야외 활동을 즐깁니다. 카이의 솔직한 접근 방식은 전 세계 개발자들을 위해 기술을 쉽게 이해할 수 있도록 돕는 Iron Software의 사명에 핵심적인 역할을 합니다.

아이언 서포트 팀

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