How to Convert HTML String to PDF in C
IronPDF Chrome 렌더링 엔진을 사용하여 C#으로 HTML 문자열을 PDF 문서로 변환하는 프로그램으로, 기본적인 변환은 단 한 줄의 코드로 모든 HTML5, CSS3 및 JavaScript 콘텐츠를 지원합니다. 이 라이브러리는 완벽한 렌더링 품질을 유지하면서 PDF를 생성하는 데 필요한 강력한 기능을 제공합니다.
IronPDF 개발자가 .NET Core 및 .NET Framework 에서 C#, F#, VB .NET 으로 PDF 문서를 쉽게 생성할 수 있도록 지원합니다. IronPDF 모든 HTML 문자열을 PDF로 렌더링하는 기능을 지원하며, 렌더링 과정에서 Google Chromium 엔진의 완벽한 버전을 사용합니다. 따라서 HTML 콘텐츠가 최신 웹 브라우저에서 보이는 것과 똑같이 표시되므로 동적 HTML 콘텐츠를 기반으로 보고서, 송장 및 기타 문서를 생성하는 데 이상적입니다.
빠른 시작: HTML 문자열을 몇 초 만에 PDF로 변환
IronPDF 사용하여 HTML 문자열을 PDF 파일로 변환합니다. 이 가이드는 최소한의 코드로 C#에서 HTML 문자열을 PDF 문서로 변환하는 방법을 보여줍니다. PDF 렌더링 기능을 프로젝트에 통합해야 하는 개발자에게 적합합니다.
최소 워크플로우(5단계)
- NuGet 에서 IronPDF C# 라이브러리를 다운로드하세요.
- PDF 렌더러를 인스턴스화하고 HTML 문자열을 전달합니다.
- PDF에서 외부 자산에 대한 BasePath를 구성합니다.
- 렌더링 옵션을 구성하여 출력 PDF를 세밀하게 조정하십시오.
- 생성된 PDF 파일을 저장하고 다운로드하세요.
간단한 HTML 문자열을 PDF로 변환하는 방법은 무엇인가요?
다음은 IronPDF가 RenderHtmlAsPdf 메서드를 사용하여 HTML 문자열을 PDF로 렌더링하는 예시입니다. 해당 매개변수는 PDF로 렌더링될 HTML 문자열입니다. 이 메서드는 ChromePdfRenderer 클래스의 일부로, PDF 생성 요구 사항에 대한 렌더링 옵션을 광범위하게 제어할 수 있게 해줍니다.
:path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf.cs
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from a HTML string using C#
Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
RenderHtmlAsPdf 메서드는 PDF 정보를 포함하고 PDF 병합, 워터마크 추가, 보안 옵션 설정 등 PDF를 조작하는 메서드를 제공하는 PdfDocument 객체를 반환합니다.
using 블록으로 감싸야 합니다. ChromePdfRenderer는 스레드 안전하며, 성능 향상을 위해 한 번 인스턴스화한 후 여러 요청에서 재사용할 수 있습니다.외부 소스에서 HTML 문자열을 가져왔을 때 로컬 디스크 액세스나 크로스 오리진 요청을 비활성화해야 하는 경우, 렌더링 전에 IronPdf.Installation.EnableWebSecurity를 true로 설정하십시오. 이는 렌더러의 인스턴스 속성이 아닌 정적 전역 설정입니다.
// Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = true;
// Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = true;
' Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = True
CSS 스타일링이 포함된 복잡한 HTML 콘텐츠의 경우, 인라인 스타일을 사용하여 HTML 문자열을 보강하거나 기본 URL 및 자산 인코딩 기능을 사용하여 외부 스타일시트를 참조하세요.
// Example with inline CSS
var styledHtml = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #333; border-bottom: 2px solid #0066cc; }
p { line-height: 1.6; }
</style>
</head>
<body>
<h1>Professional Report</h1>
<p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";
using var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
// Example with inline CSS
var styledHtml = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #333; border-bottom: 2px solid #0066cc; }
p { line-height: 1.6; }
</style>
</head>
<body>
<h1>Professional Report</h1>
<p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";
using var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
Dim styledHtml As String = "
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #333; border-bottom: 2px solid #0066cc; }
p { line-height: 1.6; }
</style>
</head>
<body>
<h1>Professional Report</h1>
<p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>"
Using styledPdf = renderer.RenderHtmlAsPdf(styledHtml)
styledPdf.SaveAs("styled-output.pdf")
End Using
생성된 PDF 파일은 어떤 모습인가요?
다음은 해당 코드가 생성한 파일입니다.
생성된 PDF는 HTML의 서식과 스타일을 그대로 유지하므로 PDF 보고서를 생성 하거나 웹 콘텐츠를 인쇄용 문서로 변환하는 데 적합합니다.
HTML을 PDF로 변환할 때 외부 파일을 포함하려면 어떻게 해야 하나요?
이 예제는 IronPDF 선택적 BasePath에서 외부 이미지 에셋을 로드하는 방법을 보여줍니다. BaseUrlOrPath 속성을 설정하면 하이퍼링크, 이미지, CSS 및 JavaScript 파일에 대한 상대 파일 경로 또는 URL 컨텍스트가 제공됩니다. 이는 PDF 내의 이미지를 다루거나 외부 리소스를 참조해야 할 때 특히 중요합니다.
:path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf-2.cs
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// 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
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' 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
Private myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
복잡한 레이아웃이나 동적 콘텐츠와 관련된 고급 시나리오의 경우 IronPDF의 JavaScript 렌더링 지원 기능을 활용하십시오.
// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
<script>
window.onload = function() {
document.getElementById('dynamic').innerHTML =
'Generated on: ' + new Date().toLocaleString();
};
</script>
</head>
<body>
<h1>Dynamic Content Example</h1>
<div id='dynamic'></div>
</body>
</html>";
// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
using var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
<script>
window.onload = function() {
document.getElementById('dynamic').innerHTML =
'Generated on: ' + new Date().toLocaleString();
};
</script>
</head>
<body>
<h1>Dynamic Content Example</h1>
<div id='dynamic'></div>
</body>
</html>";
// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
using var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
Imports System
' Example with JavaScript-generated content
Dim jsHtml As String = "
<html>
<head>
<script>
window.onload = function() {
document.getElementById('dynamic').innerHTML =
'Generated on: ' + new Date().toLocaleString();
};
</script>
</head>
<body>
<h1>Dynamic Content Example</h1>
<div id='dynamic'></div>
</body>
</html>"
' Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500) ' milliseconds
Using dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, "C:\site\")
dynamicPdf.SaveAs("dynamic-content.pdf")
End Using
외부 자산을 사용할 때는 인증이나 특수 헤더를 처리해야 할 수도 있습니다. IronPDF HTTP 요청 헤더 기능을 통해 이를 지원하며, 리소스를 가져올 때 인증 토큰이나 사용자 지정 헤더를 포함할 수 있습니다.
외부 리소스에 대해 BasePath를 설정하는 것이 중요한 이유는 무엇입니까?
다음은 해당 코드가 생성한 파일입니다.
BasePath를 올바르게 설정하면 HTML의 모든 상대 경로 참조가 제대로 해석됩니다. 이 파일이 없으면 IronPDF 이미지, 스타일시트 또는 스크립트와 같은 외부 리소스를 찾을 수 없습니다. 이는 특히 다음과 같은 경우에 중요합니다.
- 로컬 파일 시스템 리소스를 참조하는 HTML 변환
- 상대 URL을 사용하는 콘텐츠 관리 시스템 작업
- 기존 웹 콘텐츠를 PDF 형식으로 마이그레이션
- 공유 자산을 사용하는 템플릿 생성
웹 기반 리소스의 경우 기본 경로로 전체 URL을 사용하십시오.
// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
"<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>",
"https://mywebsite.com"
);
// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
"<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>",
"https://mywebsite.com"
);
' Using a web URL as base path
Dim webBasedPdf = renderer.RenderHtmlAsPdf(
"<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>",
"https://mywebsite.com"
)
PDF 생성 프로세스를 더욱 세밀하게 제어하려면 IronPDF의 사용자 지정 여백 , 페이지 방향 및 PDF 압축 에 대한 자세한 문서를 참조하여 다양한 사용 사례에 맞게 출력 파일을 최적화하십시오.
자주 묻는 질문
C#에서 간단한 HTML 문자열을 PDF로 변환하는 방법은 무엇인가요?
IronPDF의 ChromePdfRenderer 클래스와 RenderHtmlAsPdf 메서드를 사용하면 HTML 문자열을 PDF로 변환할 수 있습니다. 렌더러 인스턴스를 생성하고 HTML 문자열을 메서드에 전달한 다음, 결과로 생성된 PdfDocument 객체를 저장하면 됩니다. IronPDF는 Chrome 렌더링 엔진을 사용하여 완벽한 품질을 보장합니다.
HTML을 PDF로 변환할 때 어떤 렌더링 엔진을 사용하나요?
IronPDF는 HTML을 PDF로 렌더링하기 위해 Google Chromium 엔진의 완벽한 버전을 사용합니다. 이를 통해 HTML5, CSS3 및 JavaScript를 포함한 HTML 콘텐츠가 최신 웹 브라우저에서 보이는 것과 똑같이 표시됩니다.
CSS 스타일이 적용된 HTML을 PDF로 변환할 수 있나요?
네, IronPDF는 CSS 스타일이 적용된 HTML을 PDF로 변환하는 것을 지원합니다. HTML 문자열에 직접 인라인 스타일을 사용하거나, 기본 URL 및 자산 인코딩 기능을 통해 외부 스타일시트를 참조하여 스타일이 적용된 콘텐츠가 올바르게 렌더링되도록 할 수 있습니다.
HTML을 PDF로 변환하는 가장 빠른 방법은 무엇인가요?
가장 빠른 방법은 IronPDF의 정적 메서드를 사용하는 것입니다. IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("HTML 문자열").SaveAs("output.pdf"). 이 한 줄의 코드로 HTML 문자열을 PDF 파일로 변환하여 저장할 수 있습니다.
HTML 문자열을 변환할 때 외부 자산을 어떻게 처리해야 하나요?
IronPDF를 사용하면 PDF에서 외부 자산의 BasePath를 구성할 수 있습니다. 이를 통해 HTML에서 참조된 이미지, 스타일시트 및 기타 리소스가 변환 과정에서 올바르게 로드됩니다.
HTML을 PDF로 변환할 때 출력 형식을 사용자 지정할 수 있나요?
네, IronPDF는 PDF 출력을 세밀하게 조정할 수 있는 다양한 RenderingOptions를 제공합니다. ChromePdfRenderer 클래스를 통해 페이지 크기, 여백, 머리글, 바닥글 등 생성된 PDF의 여러 측면을 제어할 수 있습니다.
변환 후 생성된 PDF 파일로 무엇을 할 수 있나요?
IronPDF의 PdfDocument 객체는 PDF 병합, 워터마크 추가, 보안 옵션 설정 등 다양한 PDF 조작 메서드를 제공합니다. 변환된 PDF는 디스크에 저장하거나 스트리밍하거나 필요에 따라 추가 처리할 수 있습니다.
외부 소스에서 HTML로 변환할 때 보안은 어떻게 처리해야 하나요?
IronPDF는 외부 소스에서 HTML을 변환할 때 ChromePdfRenderer의 EnableWebSecurity 속성을 true로 설정할 수 있도록 합니다. 이렇게 하면 로컬 디스크 액세스 및 교차 출처 요청이 비활성화되어 보안이 강화됩니다.

