C#을 사용하여 RTF를 PDF로 변환하는 방법 | IronPDF

IronPDF C#에서 RTF를 PDF로 변환하는 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF는 RenderRtfStringAsPdfRenderRtfFileAsPdf 메서드를 ChromePdfRenderer에 대해 사용하여 C#에서 RTF 문서를 PDF로 변환합니다. 이 메서드들은 RTF 문자열 또는 파일 경로를 수락하고 써서 보관하거나 보호하거나 병합할 수 있는 PdfDocument을 반환합니다.

RTF(리치 텍스트 형식)는 마이크로소프트에서 1987년에 도입한 문서 형식입니다. 텍스트와 함께 폰트, 스타일, 색상, 불렛 리스트 같은 형식을 평문으로 저장하여, 에디터 간 잘 전송될 수 있습니다. RTF를 PDF로 변환하면 모든 장치에서 동일하게 보이는 고정 레이아웃 파일이 되고, 암호로 보호할 수 있으며 인쇄 또는 아카이브 준비가 될 수 있습니다.

참고해 주세요IronPDF는 HTML을 PDF로 변환하는 Chrome HTML 엔진을 사용하지 않고 RTF 마크업을 직접 해석하는 문서 변환 경로를 통해 RTF를 렌더링합니다. 일반 형식화 예: 굵게, 기울임꼴, 밑줄, 색상, 폰트 및 간단한 불렛 리스트는 안정적으로 변환됩니다. 덜 일반적인 RTF 제어 단어, 중첩 테이블 및 OLE 객체는 정확히 라운드 트립되지 않을 수 있으므로 문서에 고급 기능을 사용한 경우 출력물을 검토하세요.

빠른 시작: IronPDF 사용하여 RTF를 PDF로 변환

리치 텍스트 형식 파일을 단일 호출로 PDF로 렌더링합니다. RenderRtfFileAsPdf을 RTF 경로로 지정한 후, 반환된 문서를 저장하십시오.

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronPdf 설치하기

    PM > Install-Package IronPdf
  2. 다음 코드 조각을 복사하여 실행하세요.

    new IronPdf.ChromePdfRenderer()
         .RenderRtfFileAsPdf("input.rtf")
         .SaveAs("output.pdf");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronPDF 사용 시작하기

    arrow pointer


RTF 문자열을 PDF로 변환하는 방법은 무엇입니까?

RTF 문자열을 PDF 문서로 변환하려면 RenderRtfStringAsPdf 메서드를 사용하십시오. 문자열 입력은 개발 시간에 생성한 콘텐츠에 적합합니다: 데이터베이스 열에서 가져오거나, API에서 반환하거나, 코드에 작성된 RTF이며, 임시 파일을 작성하거나 정리할 필요가 없습니다. 메서드는 PdfDocument을 반환하므로, 결과를 계속 작업하여 머리말과 꼬리말을 적용하고, 페이지를 병합하거나 주석 및 책갈피를 추가할 수 있습니다.

:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-from-string.cs
using IronPdf;

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

// RTF string
string rtf = @"{\rtf1\ansi\deff0{\fonttbl{\f0 Arial;}}{\colortbl;\red0\green0\blue0;}\cf0This is some \b bold \b0 and \i italic \i0 text.}";

// Render from RTF string
PdfDocument pdf = renderer.RenderRtfStringAsPdf(rtf);

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

' Instantiate Renderer
Private renderer As New ChromePdfRenderer()

' RTF string
Private rtf As String = "{\rtf1\ansi\deff0{\fonttbl{\f0 Arial;}}{\colortbl;\red0\green0\blue0;}\cf0This is some \b bold \b0 and \i italic \i0 text.}"

' Render from RTF string
Private pdf As PdfDocument = renderer.RenderRtfStringAsPdf(rtf)

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

산출

추가 서식 옵션을 적용하려면 어떻게 해야 하나요?

HTML 렌더링에 사용하는 동일한 RenderingOptions이 이곳에서 적용됩니다. RenderRtfStringAsPdf을 호출하기 전에 렌더러에 종이 방향, 여백 및 페이지 크기를 설정하십시오:

:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-3.cs
using IronPdf;
using IronPdf.Rendering;

// Create renderer with custom options
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 25;
renderer.RenderingOptions.MarginRight = 25;

// RTF string with formatting
string rtf = @"{\rtf1\ansi\deff0{\fonttbl{\f0 Times New Roman;}{\f1 Arial;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\f0\fs24 This is a heading\line
\f1\fs20\cf1 This text is red\line
\cf2 This text is blue\line
\b Bold text\b0 and \i italic text\i0}";

// Convert with custom options
PdfDocument pdf = renderer.RenderRtfStringAsPdf(rtf);
pdf.SaveAs("formattedRtfToPdf.pdf");
Imports IronPdf
Imports IronPdf.Rendering

' Create renderer with custom options
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50
renderer.RenderingOptions.MarginLeft = 25
renderer.RenderingOptions.MarginRight = 25

' RTF string with formatting
Dim rtf As String = "{\rtf1\ansi\deff0{\fonttbl{\f0 Times New Roman;}{\f1 Arial;}}" & _
                    "{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}" & _
                    "\f0\fs24 This is a heading\line" & _
                    "\f1\fs20\cf1 This text is red\line" & _
                    "\cf2 This text is blue\line" & _
                    "\b Bold text\b0 and \i italic text\i0}"

' Convert with custom options
Dim pdf As PdfDocument = renderer.RenderRtfStringAsPdf(rtf)
pdf.SaveAs("formattedRtfToPdf.pdf")
$vbLabelText   $csharpLabel

페이지 기하학에 대한 더 세부적인 제어를 위해 맞춤 여백맞춤 용지 크기에 대한 가이드를 참조하십시오.

산출

RTF 파일을 PDF로 변환하는 방법은 무엇입니까?

문서 경로를 RenderRtfFileAsPdf으로 전달하십시오. 메서드는 절대 경로와 상대 경로 모두를 허용합니다. 예제를 따라하기 위해 샘플 RTF 파일을 다운로드하세요: sample.rtf. 아래 예제는 해당 파일을 PDF로 렌더링합니다.

입력

Microsoft Word에서 굵게, 기울임꼴, 글머리 기호 및 밑줄이 적용된 텍스트 예시가 포함된 RTF 파일을 표시하는 모습입니다.

RTF 파일을 변환하려면 어떤 코드가 필요합니까?

: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")
$vbLabelText   $csharpLabel

문서 폴더를 변환하기 위해 렌더러 하나를 재사용하고 파일을 순환 반복합니다.

:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-5.cs
using IronPdf;
using System.IO;

// Create renderer once for efficiency
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Get all RTF files in directory
string[] rtfFiles = Directory.GetFiles(@"C:\RTFDocuments", "*.rtf");

foreach (string rtfFile in rtfFiles)
{
    // Convert each RTF file to PDF
    PdfDocument pdf = renderer.RenderRtfFileAsPdf(rtfFile);
    
    // Save with same name but PDF extension
    string pdfPath = Path.ChangeExtension(rtfFile, ".pdf");
    pdf.SaveAs(pdfPath);
}
Imports IronPdf
Imports System.IO

' Create renderer once for efficiency
Dim renderer As New ChromePdfRenderer()

' Get all RTF files in directory
Dim rtfFiles As String() = Directory.GetFiles("C:\RTFDocuments", "*.rtf")

For Each rtfFile As String In rtfFiles
    ' Convert each RTF file to PDF
    Dim pdf As PdfDocument = renderer.RenderRtfFileAsPdf(rtfFile)
    
    ' Save with same name but PDF extension
    Dim pdfPath As String = Path.ChangeExtension(rtfFile, ".pdf")
    pdf.SaveAs(pdfPath)
Next
$vbLabelText   $csharpLabel

산출

RTF 파일을 변환할 때 흔히 발생하는 문제는 무엇인가요?

RTF 파일을 렌더링할 때 주의해야 할 몇 가지 상황이 있습니다:

  1. 폰트: RTF에서 명명된 폰트는 변환을 수행하는 기계에 설치되어 있어야 하며 이는 헤드리스 서버와 컨테이너에서 가장 중요합니다. 폰트 관리 가이드는 런타임에 폰트를 등록하는 방법을 설명합니다.
  2. 대용량 문서: 긴 파일은 비동기 API를 사용하여 요청 쓰레드에서 렌더링하여 애플리케이션이 응답성을 유지할 수 있도록 합니다.
  3. 국제 문자: 비 라틴 문자를 포함한 문서의 경우 소스 RTF의 인코딩이 바르게 되어 있어야 하며 이를 지원하는 설치된 폰트가 필요합니다.
  4. 고급 마크업: 중첩된 테이블 및 내장 개체는 정확히 재현되지 않을 수 있습니다. 문서가 이들을 사용하는 경우 소스와 출력물을 비교하십시오.

변환된 PDF에 보안을 추가하려면 어떻게 해야 하나요?

렌더링 후, SecuritySettings을 통해 문서를 보호하고, 소유자 비밀번호, 사용자 비밀번호, 복사 및 출력 권한을 설정하십시오:

:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-6.cs
using IronPdf;
using IronPdf.Security;

// Convert RTF to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderRtfFileAsPdf("confidential.rtf");

// Apply security settings
pdf.SecuritySettings.MakePdfDocumentReadOnly("owner_password");
pdf.SecuritySettings.UserPassword = "user_password";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;

// Save secured PDF
pdf.SaveAs("secured_document.pdf");
Imports IronPdf
Imports IronPdf.Security

' Convert RTF to PDF
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderRtfFileAsPdf("confidential.rtf")

' Apply security settings
pdf.SecuritySettings.MakePdfDocumentReadOnly("owner_password")
pdf.SecuritySettings.UserPassword = "user_password"
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint

' Save secured PDF
pdf.SaveAs("secured_document.pdf")
$vbLabelText   $csharpLabel

PDF 권한 및 비밀번호 가이드는 전체 제한 옵션을 다룹니다.

Icon Quote related to 변환된 PDF에 보안을 추가하려면 어떻게 해야 하나요?

이 종류의 라이브러리 중 가장 좋아하는 것은 IronPDF입니다. PDF 파일을 빠르고 효율적으로 조작할 수 있습니다. 또한 PDF/A 형식으로 내보내기 및 PDF 문서의 디지털 서명과 같은 많은 유용한 기능을 가지고 있습니다.

Milan Jovanovic related to 변환된 PDF에 보안을 추가하려면 어떻게 해야 하나요?

Milan Jovanovic

마이크로소프트 MVP

사례 연구 보기
Icon Quote related to 변환된 PDF에 보안을 추가하려면 어떻게 해야 하나요?

IronOCR 덕분에 연간 $40,000를 수동 프로세싱에서 절약하고 생산성을 높이며 고부가가치 작업에 자원을 활용할 수 있습니다. 강력히 추천합니다.

Brent Matzelle related to 변환된 PDF에 보안을 추가하려면 어떻게 해야 하나요?

브렌트 마첼

최고 기술 책임자, OPYN

사례 연구 보기
Icon Quote related to 변환된 PDF에 보안을 추가하려면 어떻게 해야 하나요?

IronSuite는 우리의 운영에서 중요한 역할을 합니다. 이것들은 사업 전반에 걸쳐 효율성을 높이는 도구로, 평면도 생성 및 재고 관리 개선을 포함합니다.

David Jones related to 변환된 PDF에 보안을 추가하려면 어떻게 해야 하나요?

데이비드 존스

리드 소프트웨어 엔지니어, Agorus Build

사례 연구 보기

여러 RTF 파일을 하나의 PDF로 결합하는 방법은 무엇입니까?

각 RTF 파일을 자체 PdfDocument로 렌더링한 다음, PdfDocument.Merge을 호출하여 이를 결합하십시오. 이는 여러 소스 문서(예: 보고서의 장)에서 하나의 결과물을 생성합니다.

:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-7.cs
using IronPdf;
using System.Collections.Generic;

// Create renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Convert multiple RTF files
List<PdfDocument> pdfs = new List<PdfDocument>();
pdfs.Add(renderer.RenderRtfFileAsPdf("chapter1.rtf"));
pdfs.Add(renderer.RenderRtfFileAsPdf("chapter2.rtf"));
pdfs.Add(renderer.RenderRtfFileAsPdf("chapter3.rtf"));

// Merge PDFs
PdfDocument mergedPdf = PdfDocument.Merge(pdfs);

// Add page numbers across the merged document
mergedPdf.AddTextFooters(new TextHeaderFooter
{
    CenterText = "Page {page} of {total-pages}",
    FontSize = 12
});

// Save combined document
mergedPdf.SaveAs("combined_document.pdf");

// Clean up individual PDFs
foreach (var pdf in pdfs)
{
    pdf.Dispose();
}
Imports IronPdf
Imports System.Collections.Generic

' Create renderer
Dim renderer As New ChromePdfRenderer()

' Convert multiple RTF files
Dim pdfs As New List(Of PdfDocument)()
pdfs.Add(renderer.RenderRtfFileAsPdf("chapter1.rtf"))
pdfs.Add(renderer.RenderRtfFileAsPdf("chapter2.rtf"))
pdfs.Add(renderer.RenderRtfFileAsPdf("chapter3.rtf"))

' Merge PDFs
Dim mergedPdf As PdfDocument = PdfDocument.Merge(pdfs)

' Add page numbers across the merged document
mergedPdf.AddTextFooters(New TextHeaderFooter With {
    .CenterText = "Page {page} of {total-pages}",
    .FontSize = 12
})

' Save combined document
mergedPdf.SaveAs("combined_document.pdf")

' Clean up individual PDFs
For Each pdf In pdfs
    pdf.Dispose()
Next pdf
$vbLabelText   $csharpLabel

꼬리말 자리 표시자 {page}{total-pages}은 병합된 결과 전반에서 페이지 번호를 매깁니다.

웹 엔드포인트에서 변환된 PDF를 반환하는 방법은 무엇입니까?

ASP.NET에서는 RTF를 액션 내부에서 렌더링하고 문서의 바이트를 파일 결과로 반환합니다. BinaryData 속성을 PdfDocument에서 읽고 이를 File에 전송하십시오:

[HttpGet]
public IActionResult ConvertRtfToPdf(string rtfContent)
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderRtfStringAsPdf(rtfContent);
    return File(pdf.BinaryData, "application/pdf", "converted_document.pdf");
}
[HttpGet]
public IActionResult ConvertRtfToPdf(string rtfContent)
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderRtfStringAsPdf(rtfContent);
    return File(pdf.BinaryData, "application/pdf", "converted_document.pdf");
}
<HttpGet>
Public Function ConvertRtfToPdf(rtfContent As String) As IActionResult
    Dim renderer As New ChromePdfRenderer()
    Dim pdf As PdfDocument = renderer.RenderRtfStringAsPdf(rtfContent)
    Return File(pdf.BinaryData, "application/pdf", "converted_document.pdf")
End Function
$vbLabelText   $csharpLabel

결론

IronPDF는 RenderRtfStringAsPdfRenderRtfFileAsPdf을 통해 문자열과 파일 모두에서 RTF를 PDF로 변환하고, 생성된 PdfDocument는 라이브러리의 나머지 요소에 레이아웃, 보안 및 병합을 위해 연결됩니다. 여기부터 RTF 변환을 위에서 보여준 맞춤 여백, 헤더, 푸터와 결합하거나 PDF 변환 전체 목록으로 이동하십시오.

자주 묻는 질문

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

IronPDF를 사용하면 RenderRtfFileAsPdf 메서드를 이용해 단 두 줄의 코드로 RTF 파일을 PDF로 변환할 수 있습니다. ChromePdfRenderer 인스턴스를 생성하고 입력 파일 경로를 지정하여 RenderRtfFileAsPdf 메서드를 호출한 다음, SaveAs 메서드를 사용하여 결과를 저장하면 됩니다.

RTF 문자열을 파일로 저장하지 않고 바로 PDF로 변환할 수 있나요?

네, IronPDF는 RTF 콘텐츠를 문자열에서 PDF 문서로 직접 변환할 수 있는 RenderRtfStringAsPdf 메서드를 제공합니다. 이 기능은 동적으로 생성된 RTF 콘텐츠나 데이터베이스의 데이터를 다룰 때 특히 유용합니다.

RTF 파일을 PDF로 변환할 때 서식과 스타일이 유지되나요?

IronPDF는 문서 변환 경로를 통해 RTF를 렌더링하므로 폰트, 스타일, 색상, 볼드, 이탤릭 및 간단한 글머리 기호 목록과 같은 표준 형식이 신뢰성 있게 변환합니다. 드문 조정 및 포스트 변환 조작은 IronPDF의 RenderingOptions에서

RTF 파일을 PDF로 변환하면 어떤 이점이 있나요?

IronPDF를 사용하여 RTF를 PDF로 변환하면 다음과 같은 여러 가지 이점을 얻을 수 있습니다. 플랫폼 간 손쉬운 접근성, 압축 기능, 인쇄 최적화, 기기에 관계없이 일관된 문서 모양, 향상된 보안 기능, 그리고 전문적인 문서 배포 준비 완료 등이 있습니다.

변환된 PDF 파일에 머리글, 바닥글, 페이지 번호를 추가할 수 있나요?

네, IronPDF는 RTF를 PDF로 변환할 때 모든 RenderingOptions를 지원합니다. 텍스트 및 HTML 머리글과 바닥글을 적용하고, 페이지 번호를 추가하고, 텍스트 및 이미지 삽입을 구현하고, 페이지 크기와 방향을 사용자 지정할 수 있습니다.

RTF 파일을 PDF로 변환한 후 편집이 가능한가요?

물론입니다! IronPDF를 사용하여 RTF 파일에서 PDF 파일을 생성한 후에는 PDF 병합 및 분할, 페이지 회전, 주석 추가, 책갈피 삽입 등 다양한 페이지 조작을 수행할 수 있습니다.

Curtis Chau
기술 문서 작성자

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

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

시작할 준비 되셨나요?
Nuget 다운로드 19,936,792 | 버전: 2026.7 방금 출시
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronPdf
샘플을 실행하세요 HTML이 PDF로 변환되는 것을 지켜보세요.