C# .NET Core에서 PDF 변환하는 방법 — HTML, URL, 이미지 완벽 가이드
PDF 형식의 엄격한 표준으로 인해 다양한 형식에서 PDF로 변환하는 것은 어려울 수 있습니다. 특히 HTML 및 CSS 스타일링을 다룰 때는 변환 결과가 일대일로 일치하지 않는 경우가 많습니다. 하지만 오늘날의 디지털 환경에서는 HTML과 CSS를 포함한 URL과 양식을 변환하는 기능이 필수적입니다. IronPDF 바로 이 부분에서 탁월한 성능을 발휘합니다. 직관적인 기능을 제공하여 개발자가 다양한 형식을 높은 정확도로 PDF로 변환할 수 있도록 지원하며, 대부분의 경우 단 몇 줄의 코드만으로 변환이 가능합니다.
IronPDF 사용하면 HTML, DOCX, RTF, Markdown은 물론 이미지까지 PDF로 손쉽게 변환할 수 있으며, 문서의 무결성을 유지할 수 있습니다. 또한 IronPDF Razor , CSHTML, ASPX, XAML과 같은 인기 프레임워크로 작성된 동적 웹 페이지의 변환도 지원하여 호환성 문제를 해결하고 모든 PDF 변환 요구 사항을 충족하는 포괄적인 솔루션이 됩니다.
IronPDF 간단한 변환 기능 외에도 강력한 사용자 지정 옵션을 제공합니다. 사용자 지정 여백, 머리글 및 바닥글을 설정하여 페이지 번호를 포함하고, 회색조 설정을 조정하여 파일 크기를 줄이는 등 PDF 출력을 맞춤 설정할 수 있습니다. 목차, 자동 페이지 나누기, 원하는 문서 크기에 맞춰 완벽하게 확대/축소되는 콘텐츠와 같은 추가 기능을 통합하여 문서를 더욱 향상시키세요.
이 튜토리얼에서는 이러한 기능들을 비롯한 다양한 기능들을 코드 예제와 함께 살펴보고 IronPDF 의 주요 기능들을 강조합니다. IronPDF 사용하면 PDF 문서를 손쉽게 변환, 맞춤 설정 및 최적화하여 PDF 변환 프로세스를 혁신할 수 있습니다.
빠른 시작: IronPDF 로 HTML을 PDF로 변환하기
.NET Core 에서 IronPDF 사용하여 HTML을 PDF로 손쉽게 변환해 보세요. IronPDF의 강력한 API를 사용하면 단 한 줄의 코드로 HTML 문자열에서 픽셀 단위까지 완벽한 PDF를 렌더링할 수 있습니다. 이 가이드에서는 IronPDF 프로젝트에 빠르게 통합하여 최소한의 설정으로 원활한 PDF 생성을 가능하게 하는 방법을 안내합니다. HTML, URL 또는 Razor 뷰 등 어떤 형식의 파일을 변환하든 IronPDF 프로세스를 간소화하여 모든 수준의 개발자가 쉽게 사용할 수 있도록 지원합니다. 지금 바로 변환을 시작하고, 준비가 되면 고급 기능을 살펴보세요.
목차
- 다양한 PDF 변환 기능
- 동적 웹 페이지를 PDF로 변환
- 웹 접근성
- TLS 웹사이트 및 시스템 로그인
- 쿠키
- HTTP 요청 헤더 맞춤형 PDF 변환
- 렌더링 옵션
- 사용자 지정 여백 설정
- 흑백
- PDF 레이아웃 다듬기
다용도 PDF 변환
HTML 문자열에서 PDF로 변환
HTML 문자열에서 PDF로 변환하려면 RenderHtmlAsPdf 메서드를 사용하여 HTML 문자열을 픽셀 완벽한 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")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
HTML에서 PDF로 변환
우리의 RenderHtmlAsPdf 메서드로 HTML 파일을 PDF로 쉽게 변환하고 당신의 픽셀 완벽한 PDF를 빠르게 저장하세요.
:path=/static-assets/pdf/content-code-examples/how-to/html-file-to-pdf.cs
using IronPdf;
using IronPdf.Engines.Chrome;
using IronPdf.Rendering;
var renderer = new ChromePdfRenderer
{
RenderingOptions = new ChromePdfRenderOptions
{
CssMediaType = PdfCssMediaType.Print,
MarginBottom = 0,
MarginLeft = 0,
MarginRight = 0,
MarginTop = 0,
Timeout = 120,
},
};
renderer.RenderingOptions.WaitFor.RenderDelay(50);
// Create a PDF from an existing HTML file using C#
var pdf = renderer.RenderHtmlFileAsPdf("example.html");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf
Imports IronPdf.Engines.Chrome
Imports IronPdf.Rendering
Private renderer = New ChromePdfRenderer With {
.RenderingOptions = New ChromePdfRenderOptions With {
.CssMediaType = PdfCssMediaType.Print,
.MarginBottom = 0,
.MarginLeft = 0,
.MarginRight = 0,
.MarginTop = 0,
.Timeout = 120
}
}
renderer.RenderingOptions.WaitFor.RenderDelay(50)
' Create a PDF from an existing HTML file using C#
Dim pdf = renderer.RenderHtmlFileAsPdf("example.html")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
URL에서 PDF 가져오기
URL을 RenderUrlAsPdf로 PDF로 빠르게 변환하는 데 몇 줄 밖에 걸리지 않습니다. URL을 매개변수로 입력하고 간편하게 저장하세요.
:path=/static-assets/pdf/content-code-examples/how-to/url-to-pdf.cs
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a URL or local file path
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from a URL or local file path
Private pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
이미지를 PDF로 변환
이미지를 PDF 파일로 표시하고 싶으신가요? 우리의 ImageToPdfConverter 클래스로 빠르게 변환하고 ImageToPdf 메서드를 호출하세요.
:path=/static-assets/pdf/content-code-examples/how-to/image-to-pdf-convert-one-image.cs
using IronPdf;
string imagePath = "meetOurTeam.jpg";
// Convert an image to a PDF
PdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePath);
// Export the PDF
pdf.SaveAs("imageToPdf.pdf");
Imports IronPdf
Private imagePath As String = "meetOurTeam.jpg"
' Convert an image to a PDF
Private pdf As PdfDocument = ImageToPdfConverter.ImageToPdf(imagePath)
' Export the PDF
pdf.SaveAs("imageToPdf.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
PDF에서 가져온 이미지
위의 예와 반대로, 입력을 먼저 PDF로 변환한 다음 RasterizeToImageFiles 메서드를 사용하여 PDF를 이미지로 변환합니다.
:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-rasterize.cs
using IronPdf;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png");
Imports IronPdf
' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()
' Render PDF from web URL
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
DOCX 파일을 PDF로 변환
이력서와 같은 DOCX 파일을 PDF로 간편하게 변환해야 했던 경험이 있으신가요? IronPDF 가 도와드리겠습니다. 변환하려면 간단하게 RenderDocxAsPDF 메서드를 호출하세요.
:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-from-file.cs
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")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
RTF 파일을 PDF로 변환
RTF 파일을 PDF로 변환하려면 RTF 파일을 입력으로 해서 RenderRtfFileAsPdf 메서드를 호출합니다.
:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-from-file.cs
using IronPdf;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render from RTF file
PdfDocument pdf = renderer.RenderRtfFileAsPdf("sample.rtf");
// Save the PDF
pdf.SaveAs("pdfFromRtfFile.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer As New ChromePdfRenderer()
' Render from RTF file
Private pdf As PdfDocument = renderer.RenderRtfFileAsPdf("sample.rtf")
' Save the PDF
pdf.SaveAs("pdfFromRtfFile.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
MD 파일을 PDF로 변환
MD를 PDF로 변환하려면 MD 파일을 입력으로 해서 RenderMarkdownFileAsPdf 메서드를 호출합니다.
:path=/static-assets/pdf/content-code-examples/how-to/md-to-pdf-from-file.cs
using IronPdf;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render from markdown file
PdfDocument pdf = renderer.RenderMarkdownFileAsPdf("sample.md");
// Save the PDF
pdf.SaveAs("pdfFromMarkdownFile.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer As New ChromePdfRenderer()
' Render from markdown file
Private pdf As PdfDocument = renderer.RenderMarkdownFileAsPdf("sample.md")
' Save the PDF
pdf.SaveAs("pdfFromMarkdownFile.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
XML을 PDF로 변환
XML을 PDF로 변환하는 것은 상당히 어려운 작업일 수 있지만, IronPDF 이러한 어려움을 극복하고 몇 단계만으로 XML을 PDF로 변환할 수 있도록 도와줍니다. 먼저 XLST 템플릿을 사용하여 XLST 변환 과정을 거쳐 XML을 HTML을 통해 PDF로 변환합니다. 시작하는 데 도움이 되도록 코드 조각을 간략하게 정리했습니다.
// XSLT template that defines the transformation from XML to HTML
string xslt = @"<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match='/'>
<html>
<style>
td{
text-align: center;
padding: 20px;
border: 1px solid #CDE7F0;
}
th{
color: white;
padding: 20px;
}
</style>
<body style='font-family: Arial, Helvetica Neue, Helvetica, sans-serif;'>
<table style='border-collapse: collapse;'>
<thead>
<tr>
<th colspan='3'>
<img style='margin: auto;' src='https://ironsoftware.com/img/svgs/ironsoftware-logo-black.svg'/>
</th>
</tr>
</thead>
<tbody>
<tr bgcolor='#9acd32'>
<th bgcolor='#32ab90'>Title</th>
<th bgcolor='#f49400'>Feature</th>
<th bgcolor='#2a95d5'>Compatible</th>
</tr>
<xsl:for-each select='catalog/cd'>
<tr>
<td style='font-weight: bold;'><xsl:value-of select='title'/></td>
<td style='background-color: #eff8fb; color: #2a95d5; font-weight: bold;'><xsl:value-of select='feature'/></td>
<td><xsl:value-of select='compatible'/></td>
</tr>
</xsl:for-each>
</tbody>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
";
[...]
// Create an instance of XslCompiledTransform
XslCompiledTransform transform = new XslCompiledTransform();
// Load the XSLT from a string
using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
{
transform.Load(reader);
}
// Transform the XML to HTML
StringWriter results = new StringWriter();
using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
transform.Transform(reader, null, results);
}
// Create a renderer for converting HTML to PDF
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
// Options, headers, and footers may be set here if needed
// Render our XML as a PDF via XSLT transformation
renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
// XSLT template that defines the transformation from XML to HTML
string xslt = @"<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match='/'>
<html>
<style>
td{
text-align: center;
padding: 20px;
border: 1px solid #CDE7F0;
}
th{
color: white;
padding: 20px;
}
</style>
<body style='font-family: Arial, Helvetica Neue, Helvetica, sans-serif;'>
<table style='border-collapse: collapse;'>
<thead>
<tr>
<th colspan='3'>
<img style='margin: auto;' src='https://ironsoftware.com/img/svgs/ironsoftware-logo-black.svg'/>
</th>
</tr>
</thead>
<tbody>
<tr bgcolor='#9acd32'>
<th bgcolor='#32ab90'>Title</th>
<th bgcolor='#f49400'>Feature</th>
<th bgcolor='#2a95d5'>Compatible</th>
</tr>
<xsl:for-each select='catalog/cd'>
<tr>
<td style='font-weight: bold;'><xsl:value-of select='title'/></td>
<td style='background-color: #eff8fb; color: #2a95d5; font-weight: bold;'><xsl:value-of select='feature'/></td>
<td><xsl:value-of select='compatible'/></td>
</tr>
</xsl:for-each>
</tbody>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
";
[...]
// Create an instance of XslCompiledTransform
XslCompiledTransform transform = new XslCompiledTransform();
// Load the XSLT from a string
using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
{
transform.Load(reader);
}
// Transform the XML to HTML
StringWriter results = new StringWriter();
using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
transform.Transform(reader, null, results);
}
// Create a renderer for converting HTML to PDF
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
// Options, headers, and footers may be set here if needed
// Render our XML as a PDF via XSLT transformation
renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
Imports System.Xml
Imports System.IO
Imports System.Xml.Xsl
Imports IronPdf
' XSLT template that defines the transformation from XML to HTML
Dim xslt As String = "<?xml version='1.0' encoding='UTF-8'?>" & _
"<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>" & _
"<xsl:template match='/'>" & _
"<html>" & _
"<style>" & _
"td{" & _
" text-align: center;" & _
" padding: 20px;" & _
" border: 1px solid #CDE7F0;" & _
"}" & _
"th{" & _
" color: white;" & _
" padding: 20px;" & _
"}" & _
"</style>" & _
"<body style='font-family: Arial, Helvetica Neue, Helvetica, sans-serif;'>" & _
" <table style='border-collapse: collapse;'>" & _
" <thead>" & _
" <tr>" & _
" <th colspan='3'>" & _
" <img style='margin: auto;' src='https://ironsoftware.com/img/svgs/ironsoftware-logo-black.svg'/>" & _
" </th>" & _
" </tr>" & _
" </thead>" & _
" <tbody>" & _
" <tr bgcolor='#9acd32'>" & _
" <th bgcolor='#32ab90'>Title</th>" & _
" <th bgcolor='#f49400'>Feature</th>" & _
" <th bgcolor='#2a95d5'>Compatible</th>" & _
" </tr>" & _
" <xsl:for-each select='catalog/cd'>" & _
" <tr>" & _
" <td style='font-weight: bold;'><xsl:value-of select='title'/></td>" & _
" <td style='background-color: #eff8fb; color: #2a95d5; font-weight: bold;'><xsl:value-of select='feature'/></td>" & _
" <td><xsl:value-of select='compatible'/></td>" & _
" </tr>" & _
" </xsl:for-each>" & _
" </tbody>" & _
" </table>" & _
"</body>" & _
"</html>" & _
"</xsl:template>" & _
"</xsl:stylesheet>"
[...]
' Create an instance of XslCompiledTransform
Dim transform As New XslCompiledTransform()
' Load the XSLT from a string
Using reader As XmlReader = XmlReader.Create(New StringReader(xslt))
transform.Load(reader)
End Using
' Transform the XML to HTML
Dim results As New StringWriter()
Using reader As XmlReader = XmlReader.Create(New StringReader(xml))
transform.Transform(reader, Nothing, results)
End Using
' Create a renderer for converting HTML to PDF
Dim renderer As New ChromePdfRenderer()
' Options, headers, and footers may be set here if needed
' Render our XML as a PDF via XSLT transformation
renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
PDF를 HTML로 변환
IronPDF 다양한 형식의 파일을 PDF로 변환하는 것 외에도 PDF를 HTML로 변환하는 역변환 작업도 지원합니다. 다음은 해당 기능을 보여주는 간단한 코드 조각입니다.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-to-html.cs
using IronPdf;
using System;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Convert PDF to HTML string
string html = pdf.ToHtmlString();
Console.WriteLine(html);
// Convert PDF to HTML file
pdf.SaveAsHtml("myHtml.html");
Imports IronPdf
Imports System
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Convert PDF to HTML string
Dim html As String = pdf.ToHtmlString()
Console.WriteLine(html)
' Convert PDF to HTML file
pdf.SaveAsHtml("myHtml.html")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
동적 웹 페이지를 PDF로 변환
동적 웹 페이지를 레이아웃과 서식을 그대로 유지하면서 PDF로 변환해야 합니까? 다양한 인기 동적 웹 페이지 프레임워크를 PDF로 빠르게 변환해주는 IronPDF 사용해 보세요.
ASPX Pages에서 PDF로 변환
다음은 Active Server Pages에서 ASPX 페이지를 PDF로 변환하는 간단한 코드 예시입니다.
:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-2.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using IronPdf;
namespace AspxToPdfTutorial
{
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports IronPdf
Namespace AspxToPdfTutorial
Partial Public Class Invoice
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
End Sub
End Class
End Namespace
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
XAML을 PDF로 변환(MAUI)
크로스 플랫폼 애플리케이션 개발을 원하는 개발자들에게 .NET MAUI 프레임워크 중에서 인기 있는 선택지입니다. IronPDF 몇 가지 단계를 거치면 XAML을 PDF로 완벽하게 변환할 수 있습니다.
:path=/static-assets/pdf/content-code-examples/how-to/xaml-to-pdf-maui-mainpage-xaml-cs.cs
using IronPdf.Extensions.Maui;
namespace mauiSample;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void PrintToPdf(object sender, EventArgs e)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Apply HTML header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<h1>Header</h1>",
};
// Render PDF from Maui Page
PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result;
pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf");
}
}
Imports IronPdf.Extensions.Maui
Namespace mauiSample
Partial Public Class MainPage
Inherits ContentPage
Public Sub New()
InitializeComponent()
End Sub
Private Sub PrintToPdf(ByVal sender As Object, ByVal e As EventArgs)
Dim renderer As New ChromePdfRenderer()
' Apply HTML header
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {.HtmlFragment = "<h1>Header</h1>"}
' Render PDF from Maui Page
Dim pdf As PdfDocument = renderer.RenderContentPageToPdf(Of MainPage, App)().Result
pdf.SaveAs("C:\Users\lyty1\Downloads\contentPageToPdf.pdf")
End Sub
End Class
End Namespace
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
PDF 보고서 생성
PDF 보고서를 생성할 때는 정확한 크기와 형식이 매우 중요합니다. 이처럼 IronPDF 사용하면 단 몇 단계만으로 PDF를 원활하게 생성할 수 있습니다.
:path=/static-assets/pdf/content-code-examples/how-to/csharp-pdf-reports-render-html-file.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
Blazor 서버에서 PDF 생성하기
IronPDF .NET 6을 지원하며 Blazor 와 같은 프로젝트 유형을 포함하고 있으므로, 이 코드 스니펫은 Blazor 서버에서 PDF를 생성하는 간단한 예제를 제공합니다.
@code {
// Model to bind user input
private InputHTMLModel _InputMsgModel = new InputHTMLModel();
private async Task SubmitHTML()
{
// Set your IronPDF license key
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
// Create a renderer to convert HTML to PDF
var render = new IronPdf.ChromePdfRenderer();
// Render the HTML input into a PDF document
var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML);
var fileName = "iron.pdf";
// Create a stream reference for the PDF content
using var streamRef = new DotNetStreamReference(stream: doc.Stream);
// Invoke JavaScript function to download the PDF in the browser
await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef);
}
public class InputHTMLModel
{
public string HTML { get; set; } = "My new message";
}
}
@code {
// Model to bind user input
private InputHTMLModel _InputMsgModel = new InputHTMLModel();
private async Task SubmitHTML()
{
// Set your IronPDF license key
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
// Create a renderer to convert HTML to PDF
var render = new IronPdf.ChromePdfRenderer();
// Render the HTML input into a PDF document
var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML);
var fileName = "iron.pdf";
// Create a stream reference for the PDF content
using var streamRef = new DotNetStreamReference(stream: doc.Stream);
// Invoke JavaScript function to download the PDF in the browser
await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef);
}
public class InputHTMLModel
{
public string HTML { get; set; } = "My new message";
}
}
code
If True Then
' Model to bind user input
private InputHTMLModel _InputMsgModel = New InputHTMLModel()
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' private async Task SubmitHTML()
' {
' ' Set your IronPDF license key
' IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
'
' ' Create a renderer to convert HTML to PDF
' var render = New IronPdf.ChromePdfRenderer();
'
' ' Render the HTML input into a PDF document
' var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML);
'
' var fileName = "iron.pdf";
'
' ' Create a stream reference for the PDF content
' var streamRef = New DotNetStreamReference(stream: doc.Stream);
'
' ' Invoke JavaScript function to download the PDF in the browser
' await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef);
' }
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' public class InputHTMLModel
' {
' public string HTML
' {
' get;
' set;
' } = "My new message";
' }
End If
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
Razor 에서 PDF로 변환 (Blazor 서버)
IronPDF Blazor 서버에서 PDF를 생성하는 것 외에도 Blazor 페이지 내의 Razor 컴포넌트에서 PDF 문서를 생성하는 것도 지원합니다. PDF 파일 및 페이지 생성 과정을 훨씬 간소화합니다.
[Parameter]
public IEnumerable<PersonInfo> persons { get; set; }
public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();
protected override async Task OnInitializedAsync()
{
persons = new List<PersonInfo>
{
new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
}
private async void PrintToPdf()
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Apply text footer
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
LeftText = "{date} - {time}",
DrawDividerLine = true,
RightText = "Page {page} of {total-pages}",
Font = IronSoftware.Drawing.FontTypes.Arial,
FontSize = 11
};
Parameters.Add("persons", persons);
// Render razor component to PDF
PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
}
[Parameter]
public IEnumerable<PersonInfo> persons { get; set; }
public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();
protected override async Task OnInitializedAsync()
{
persons = new List<PersonInfo>
{
new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
}
private async void PrintToPdf()
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Apply text footer
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
LeftText = "{date} - {time}",
DrawDividerLine = true,
RightText = "Page {page} of {total-pages}",
Font = IronSoftware.Drawing.FontTypes.Arial,
FontSize = 11
};
Parameters.Add("persons", persons);
// Render razor component to PDF
PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
}
<Parameter>
Public Property persons() As IEnumerable(Of PersonInfo)
Public Property Parameters() As New Dictionary(Of String, Object)()
Protected Overrides Async Function OnInitializedAsync() As Task
persons = New List(Of PersonInfo) From {
New PersonInfo With {
.Name = "Alice",
.Title = "Mrs.",
.Description = "Software Engineer"
},
New PersonInfo With {
.Name = "Bob",
.Title = "Mr.",
.Description = "Software Engineer"
},
New PersonInfo With {
.Name = "Charlie",
.Title = "Mr.",
.Description = "Software Engineer"
}
}
End Function
Private Async Sub PrintToPdf()
Dim renderer As New ChromePdfRenderer()
' Apply text footer
renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.LeftText = "{date} - {time}",
.DrawDividerLine = True,
.RightText = "Page {page} of {total-pages}",
.Font = IronSoftware.Drawing.FontTypes.Arial,
.FontSize = 11
}
Parameters.Add("persons", persons)
' Render razor component to PDF
Dim pdf As PdfDocument = renderer.RenderRazorComponentToPdf(Of Person)(Parameters)
File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData)
End Sub
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
CSHTML을 PDF로 변환
CSHTML(Razor)을 PDF로 변환하면 웹 애플리케이션에서 바로 전문적인 인쇄용 문서를 생성할 수 있습니다. 이 기능은 송장, 보고서, 계약서 또는 기타 동적 콘텐츠에 유용합니다. IronPDF Razor Pages, MVC Core, MVC Framework는 물론 헤드리스 렌더링도 지원하므로 단 몇 줄의 코드로 PDF 생성을 .NET 애플리케이션에 원활하게 통합할 수 있습니다.
CSHTML을 PDF로 변환 (Razor 페이지)
using IronPdf.Razor.Pages;
public IActionResult OnPostAsync()
{
persons = new List<Person>
{
new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
ViewData["personList"] = persons;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render Razor Page to PDF document
PdfDocument pdf = renderer.RenderRazorToPdf(this);
Response.Headers.Add("Content-Disposition", "inline");
return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf");
}
using IronPdf.Razor.Pages;
public IActionResult OnPostAsync()
{
persons = new List<Person>
{
new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
ViewData["personList"] = persons;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render Razor Page to PDF document
PdfDocument pdf = renderer.RenderRazorToPdf(this);
Response.Headers.Add("Content-Disposition", "inline");
return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf");
}
Imports IronPdf.Razor.Pages
Public Function OnPostAsync() As IActionResult
persons = New List(Of Person) From {
New Person With {
.Name = "Alice",
.Title = "Mrs.",
.Description = "Software Engineer"
},
New Person With {
.Name = "Bob",
.Title = "Mr.",
.Description = "Software Engineer"
},
New Person With {
.Name = "Charlie",
.Title = "Mr.",
.Description = "Software Engineer"
}
}
ViewData("personList") = persons
Dim renderer As New ChromePdfRenderer()
' Render Razor Page to PDF document
Dim pdf As PdfDocument = renderer.RenderRazorToPdf(Me)
Response.Headers.Add("Content-Disposition", "inline")
Return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf")
End Function
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
CSHTML을 PDF로 변환(MVC 코어)
public async Task<IActionResult> Persons()
{
var persons = new List<Person>
{
new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render View to PDF document
PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons);
Response.Headers.Add("Content-Disposition", "inline");
// Output PDF document
return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf");
}
return View(persons);
}
public async Task<IActionResult> Persons()
{
var persons = new List<Person>
{
new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render View to PDF document
PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons);
Response.Headers.Add("Content-Disposition", "inline");
// Output PDF document
return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf");
}
return View(persons);
}
Public Async Function Persons() As Task(Of IActionResult)
'INSTANT VB NOTE: The local variable persons was renamed since Visual Basic will not allow local variables with the same name as their enclosing function or property:
Dim persons_Conflict = New List(Of Person) From {
New Person With {
.Name = "Alice",
.Title = "Mrs.",
.Description = "Software Engineer"
},
New Person With {
.Name = "Bob",
.Title = "Mr.",
.Description = "Software Engineer"
},
New Person With {
.Name = "Charlie",
.Title = "Mr.",
.Description = "Software Engineer"
}
}
If _httpContextAccessor.HttpContext.Request.Method = HttpMethod.Post.Method Then
Dim renderer As New ChromePdfRenderer()
' Render View to PDF document
Dim pdf As PdfDocument = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons_Conflict)
Response.Headers.Add("Content-Disposition", "inline")
' Output PDF document
Return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf")
End If
Return View(persons_Conflict)
End Function
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
CSHTML을 PDF로 변환(MVC 프레임워크)
public ActionResult Persons()
{
var persons = new List<Person>
{
new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
if (HttpContext.Request.HttpMethod == "POST")
{
// Provide the path to your view file
var viewPath = "~/Views/Home/Persons.cshtml";
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render Razor view to PDF document
PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);
Response.Headers.Add("Content-Disposition", "inline");
// View the PDF
return File(pdf.BinaryData, "application/pdf");
}
return View(persons);
}
public ActionResult Persons()
{
var persons = new List<Person>
{
new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
if (HttpContext.Request.HttpMethod == "POST")
{
// Provide the path to your view file
var viewPath = "~/Views/Home/Persons.cshtml";
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render Razor view to PDF document
PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);
Response.Headers.Add("Content-Disposition", "inline");
// View the PDF
return File(pdf.BinaryData, "application/pdf");
}
return View(persons);
}
Public Function Persons() As ActionResult
'INSTANT VB NOTE: The local variable persons was renamed since Visual Basic will not allow local variables with the same name as their enclosing function or property:
Dim persons_Conflict = New List(Of Person) From {
New Person With {
.Name = "Alice",
.Title = "Mrs.",
.Description = "Software Engineer"
},
New Person With {
.Name = "Bob",
.Title = "Mr.",
.Description = "Software Engineer"
},
New Person With {
.Name = "Charlie",
.Title = "Mr.",
.Description = "Software Engineer"
}
}
If HttpContext.Request.HttpMethod = "POST" Then
' Provide the path to your view file
Dim viewPath = "~/Views/Home/Persons.cshtml"
Dim renderer As New ChromePdfRenderer()
' Render Razor view to PDF document
Dim pdf As PdfDocument = renderer.RenderView(Me.HttpContext, viewPath, persons_Conflict)
Response.Headers.Add("Content-Disposition", "inline")
' View the PDF
Return File(pdf.BinaryData, "application/pdf")
End If
Return View(persons_Conflict)
End Function
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
CSHTML을 PDF로 변환(헤드리스 방식)
app.MapGet("/PrintPdf", async () =>
{
// Set your IronPDF license key
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
// Enable detailed logging for troubleshooting
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
// Render the Razor view to an HTML string
string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");
// Create a new instance of ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the HTML string as a PDF document
PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");
// Return the PDF file as a response
return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});
app.MapGet("/PrintPdf", async () =>
{
// Set your IronPDF license key
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
// Enable detailed logging for troubleshooting
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
// Render the Razor view to an HTML string
string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");
// Create a new instance of ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the HTML string as a PDF document
PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");
// Return the PDF file as a response
return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});
app.MapGet("/PrintPdf", Async Function()
' Set your IronPDF license key
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
' Enable detailed logging for troubleshooting
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All
' Render the Razor view to an HTML string
Dim html As String = Await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml")
' Create a new instance of ChromePdfRenderer
Dim renderer As New ChromePdfRenderer()
' Render the HTML string as a PDF document
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html, "./wwwroot")
' Return the PDF file as a response
Return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf")
End Function)
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
웹 접근성
TLS 웹사이트 및 시스템 로그인
IronPDF 인증이 필요한 웹 페이지를 변환하는 간편한 솔루션을 제공합니다. 렌더링 옵션을 사용하여 ChromeHttpLoginCredntials 속성을 통해 사용자 이름과 비밀번호를 우회할 수 있습니다.
:path=/static-assets/pdf/content-code-examples/how-to/logins-username-password.cs
using IronPdf;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer
{
// setting login credentials to bypass basic authentication
LoginCredentials = new ChromeHttpLoginCredentials()
{
NetworkUsername = "testUser",
NetworkPassword = "testPassword"
}
};
var uri = new Uri("http://localhost:51169/Invoice");
// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf(uri);
// Export PDF
pdf.SaveAs("UrlToPdfExample.Pdf");
Imports IronPdf
Imports System
Private renderer As New ChromePdfRenderer With {
.LoginCredentials = New ChromeHttpLoginCredentials() With {
.NetworkUsername = "testUser",
.NetworkPassword = "testPassword"
}
}
Private uri = New Uri("http://localhost:51169/Invoice")
' Render web URL to PDF
Private pdf As PdfDocument = renderer.RenderUrlAsPdf(uri)
' Export PDF
pdf.SaveAs("UrlToPdfExample.Pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
쿠키
추가 로그인 요청에 쿠키를 적용하여 세션이 저장되도록 하세요! 이렇게 하면 IronPDF 내에서 잠긴 도메인 내의 추가 리소스를 더 쉽게 렌더링할 수 있습니다.
:path=/static-assets/pdf/content-code-examples/how-to/cookies-apply-cookies.cs
using IronPdf;
// Instantiate ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global;
ChromeHttpLoginCredentials credentials = new ChromeHttpLoginCredentials() {
NetworkUsername = "testUser",
NetworkPassword = "testPassword"
};
string uri = "http://localhost:51169/Invoice";
// Apply cookies
renderer.ApplyCookies(uri, credentials);
Imports IronPdf
' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global
Dim credentials As New ChromeHttpLoginCredentials() With {
.NetworkUsername = "testUser",
.NetworkPassword = "testPassword"
}
Dim uri As String = "http://localhost:51169/Invoice"
' Apply cookies
renderer.ApplyCookies(uri, credentials)
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
HTTP 요청 헤더
쿠키 외에도 IronPDF 사용자가 인증 토큰 및 기타 일반적인 관련 필드를 사용하여 HTTP 요청 헤더를 사용자 지정할 수 있도록 합니다.
:path=/static-assets/pdf/content-code-examples/how-to/http-request-header.cs
using IronPdf;
using System.Collections.Generic;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HttpRequestHeaders = new Dictionary<string, string>
{
{ "Authorization", "Bearer test-token-123" }
};
// Render PDF from authenticated page
var pdf = renderer.RenderUrlAsPdf("https://httpbin.org/bearer");
pdf.SaveAs("output.pdf");
Imports IronPdf
Imports System.Collections.Generic
Private renderer = New ChromePdfRenderer()
renderer.RenderingOptions.HttpRequestHeaders = New Dictionary(Of String, String) From {
{"Authorization", "Bearer test-token-123"}
}
' Render PDF from authenticated page
Dim pdf = renderer.RenderUrlAsPdf("https://httpbin.org/bearer")
pdf.SaveAs("output.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
PDF 변환을 맞춤 설정하세요
렌더링 옵션
IronPDF 사용하면 사용자가 생성된 PDF의 모양과 형식을 사용자 지정할 수 있습니다. 다양한 입력을 PDF로 변환하는 데 사용되는 ChromePdfRender 클래스는 사용자들이 출력 모양을 제어할 수 있는 RenderingOptions 속성을 포함하고 있습니다.
:path=/static-assets/pdf/content-code-examples/how-to/rendering-options-render.cs
using IronPdf;
// Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
// to render HTML/CSS as a PDF document.
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Configure rendering options
// Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
// HTML fragment to add a header at the top of every page in the PDF.
HtmlFragment = "<h1>Header Content</h1>"
};
// Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150);
// Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0;
// Define a Markdown string that will be rendered as a PDF.
// Markdown text allows basic formatting like bold and italic styles.
string md = "This is some **bold** and *italic* text.";
// Render the Markdown string to a PDF document.
// The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
PdfDocument pdf = renderer.RenderMarkdownStringAsPdf(md);
// Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf");
Imports IronPdf
' Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
' to render HTML/CSS as a PDF document.
Private renderer As New ChromePdfRenderer()
' Configure rendering options
' Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = True
' Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {.HtmlFragment = "<h1>Header Content</h1>"}
' Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150)
' Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0
' Define a Markdown string that will be rendered as a PDF.
' Markdown text allows basic formatting like bold and italic styles.
Dim md As String = "This is some **bold** and *italic* text."
' Render the Markdown string to a PDF document.
' The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
Dim pdf As PdfDocument = renderer.RenderMarkdownStringAsPdf(md)
' Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
사용자 지정 여백 설정
여백을 조정하여 출력 PDF의 모양을 더욱 세밀하게 맞춤 설정할 수 있으며, 이를 통해 레이아웃과 간격을 정확하게 제어할 수 있습니다.
:path=/static-assets/pdf/content-code-examples/how-to/custom-margins-set-margins.cs
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 40;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.MarginBottom = 40;
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 40
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
renderer.RenderingOptions.MarginBottom = 40
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
회색조
그레이 스케일 PDF를 생성하려면 RenderingOptions 내의 GrayScale 속성을 true로 설정합니다.
:path=/static-assets/pdf/content-code-examples/how-to/color-grayscale-grayscale.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Set GrayScale to true
renderer.RenderingOptions.GrayScale = true;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironsoftware.com/");
pdf.CopyPage(0).SaveAs("test.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Set GrayScale to true
renderer.RenderingOptions.GrayScale = True
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://ironsoftware.com/")
pdf.CopyPage(0).SaveAs("test.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
PDF 레이아웃을 다듬으세요
목차를 추가하세요
IronPDF 사용하여 독자가 문서를 쉽게 탐색할 수 있도록 동적인 목차를 만드세요. IronPDF는 h1 및 h2 등의 헤더에 대한 하이퍼링크가 있는 목차를 자동으로 처리합니다. 그뿐만 아니라 HTML과 CSS 스타일링을 사용하여 목차의 스타일을 사용자 지정할 수도 있습니다.
:path=/static-assets/pdf/content-code-examples/how-to/table-of-contents.cs
using IronPdf;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Configure render options
renderer.RenderingOptions = new ChromePdfRenderOptions
{
// Enable table of content feature
TableOfContents = TableOfContentsTypes.WithPageNumbers,
};
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("tableOfContent.html");
pdf.SaveAs("tableOfContents.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer As New ChromePdfRenderer()
' Configure render options
renderer.RenderingOptions = New ChromePdfRenderOptions With {.TableOfContents = TableOfContentsTypes.WithPageNumbers}
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("tableOfContent.html")
pdf.SaveAs("tableOfContents.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
페이지 나누기
각 섹션 사이에 페이지 나누기를 추가하여 내용을 명확하게 구분하고 문서의 가독성을 높이세요. IronPDF와 함께, 간단하게 HTML div style= page-break-after을 사용하여 그 효과를 달성하세요.
:path=/static-assets/pdf/content-code-examples/how-to/html-to-pdf-page-breaks-page-break.cs
using IronPdf;
const string html = @"
<table style='border: 1px solid #000000'>
<tr>
<th>Company</th>
<th>Product</th>
</tr>
<tr>
<td>Iron Software</td>
<td>IronPDF</td>
</tr>
<tr>
<td>Iron Software</td>
<td>IronOCR</td>
</tr>
</table>
<div style='page-break-after: always;'> </div>
<img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("Page_Break.pdf");
Imports IronPdf
Private Const html As String = "
<table style='border: 1px solid #000000'>
<tr>
<th>Company</th>
<th>Product</th>
</tr>
<tr>
<td>Iron Software</td>
<td>IronPDF</td>
</tr>
<tr>
<td>Iron Software</td>
<td>IronOCR</td>
</tr>
</table>
<div style='page-break-after: always;'> </div>
<img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>"
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("Page_Break.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
페이지에 맞추기 및 확대/축소
특정 용지 크기에 맞추기 위한 콘텐츠의 크기를 결정하는 데 도움이 필요한가요? IronPDF는 UseChromeDefault가 있어 Google Chrome의 인쇄 미리보기에서 페이지에 맞추어 콘텐츠를 스케일하는 방법을 모방합니다.
:path=/static-assets/pdf/content-code-examples/how-to/viewport-zoom-default-chrome.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Chrome default rendering
renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering();
// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
pdf.SaveAs("chromeDefault.pdf");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
' Chrome default rendering
renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering()
' Render web URL to PDF
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
pdf.SaveAs("chromeDefault.pdf")
이 코드 조각에 대한 더 자세한 설명과 추가 기능을 살펴보려면 종합적인 사용 설명서 를 참조하십시오.
결론
위 예시들은 IronPDF 사용하여 다양한 형식을 PDF로 변환할 때 활용할 수 있는 놀라운 기능과 뛰어난 특징들을 보여줍니다.
새로운 기능 요청이나 IronPDF 또는 라이선스 관련 일반적인 질문이 있으시면 지원팀에 문의해 주세요. 기꺼이 도와드리겠습니다.
자주 묻는 질문
.NET Core에서 HTML을 PDF로 어떻게 변환하나요?
.NET Core에서 HTML을 PDF로 변환하려면 IronPDF 라이브러리를 사용하세요. 먼저 NuGet을 통해 패키지를 설치합니다. 그런 다음, ChromePdfRenderer 인스턴스를 생성하고 RenderHtmlAsPdf 메서드를 활용하여 HTML 문자열을 PDF 형식으로 변환합니다.
실시간 URL을 PDF 문서로 어떻게 변환할 수 있나요?
IronPDF를 사용하여 실시간 URL을 PDF 문서로 변환할 수 있습니다. NuGet에서 라이브러리를 설치하고, ChromePdfRenderer 인스턴스를 만든 다음 변환할 웹 페이지 URL과 함께 RenderUrlAsPdf 메서드를 호출하세요.
Razor 뷰를 PDF로 변환하는 단계는 무엇인가요?
Razor 뷰를 PDF로 변환하려면 뷰를 HTML 문자열로 렌더링한 후 IronPDF의 RenderHtmlAsPdf 메서드에 전달하세요. 이렇게 하면 MVC 뷰에서 전체 데이터 바인딩으로 동적 PDF를 생성할 수 있습니다.
기존 PDF 파일을 수정할 수 있나요?
네, 기존 PDF 파일은 IronPDF를 사용하여 수정할 수 있습니다. PdfDocument.FromFile을 사용하여 PDF를 로드한 후 병합, 헤더/푸터 추가 또는 보안 설정 변경과 같은 수정을 적용하십시오.
PDF 렌더링을 위한 옵션은 무엇이 있나요?
IronPDF는 ChromePdfRenderOptions를 통해 다양한 렌더링 옵션을 제공합니다. 용지 크기, 방향, 여백 등을 사용자 지정하여 특정 레이아웃 및 스타일 요구에 맞게 PDF를 맞출 수 있습니다.
Docker 환경에서 PDF를 어떻게 배포할 수 있나요?
Docker 환경에서 PDF를 배포하려면 Dockerfile에서 Linux 종속성을 구성하세요. IronPDF의 IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig를 사용하여 컨테이너화된 애플리케이션에서 종속성을 자동으로 처리할 수 있습니다.
PDF 파일에 디지털 서명을 추가할 수 있나요?
네, PdfSignature 클래스를 사용하여 PDF 파일에 디지털 서명을 추가할 수 있습니다. Sign 메서드와 인증서 파일을 활용하여 문서의 진위성과 완전성을 보장할 수 있습니다.
IronPDF는 PDF를 위한 어떤 보안 기능을 제공하나요?
IronPDF는 비밀번호 보호, 암호화 및 접근 제어를 포함한 강력한 보안 기능을 제공합니다. SecuritySettings 속성을 통해 보기, 인쇄, 편집에 대한 권한을 관리하세요.
PDF 문서에서 텍스트와 이미지를 어떻게 추출할 수 있나요?
IronPDF의 ExtractAllText와 ExtractAllImages 메서드를 사용하여 PDF 문서에서 텍스트와 이미지를 추출할 수 있습니다. 이는 전체 문서 또는 특정 페이지에서 데이터를 처리할 수 있게 합니다.
PDF 파일에 워터마크를 어떻게 적용할 수 있나요?
IronPDF의 Watermark 속성을 HtmlStamp 객체와 함께 사용하여 워터마크를 PDF 파일에 적용할 수 있습니다. 보다 고급 기능을 원하면, HtmlStamper 클래스는 사용자 정의 스타일로 HTML 기반의 스탬프를 지원합니다.
IronPDF는 .NET 10과 호환되며, .NET 10 프로젝트에서 어떻게 사용하나요?
네—IronPDF는 크로스 플랫폼의 최신 .NET 버전 지원의 일환으로 .NET 10을 완전히 지원합니다. .NET 10 프로젝트에서 사용하려면 IronPdf NuGet 패키지를 설치하고, net10.0을 대상으로 프로젝트 파일에 참조하세요. 그런 다음 이전 .NET 버전에서처럼 ChromePdfRenderer 클래스 및 RenderHtmlAsPdf 메서드를 사용하세요. PDFs를 렌더링하거나 조작할 때 .NET 10의 본질적인 성능, 메모리 사용량, 런타임 개선의 이점을 누리게 됩니다.

