C#을 사용하여 PDF에 텍스트와 비트맵을 그리는 방법

C#을 사용하여 PDF에 텍스트 및 비트맵을 그리는 방법

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

IronPDF를 사용하면 DrawTextDrawBitmap 메서드를 사용하여 기존 PDF에 텍스트와 이미지를 그릴 수 있으므로 원본 콘텐츠를 변경하지 않고 워터마크, 로고, 주석을 추가하고 시각적 모양을 개선하여 사용자 정의할 수 있습니다.

PDF에 텍스트와 이미지를 그리는 것은 기존 문서에 콘텐츠를 추가하는 것을 의미합니다. IronPDF는 이 기능을 원활하게 사용할 수 있도록 지원합니다. 텍스트와 이미지를 삽입하여 워터마크 , 로고, 주석 등을 활용해 PDF를 맞춤 설정하고 문서의 시각적 디자인과 브랜딩을 개선할 수 있습니다. 또한 텍스트와 이미지는 정보 표현, 데이터 시각화 및 대화형 양식 생성을 용이하게 합니다.

빠른 시작: IronPDF로 PDF에 텍스트와 이미지 추가하기

PDF 문서에 텍스트와 이미지를 추가하여 빠르고 효율적으로 향상시켜 보세요. DrawTextDrawBitmap 메서드를 사용하면 워터마크, 로고 또는 주석을 추가하여 PDF를 쉽게 사용자 지정할 수 있습니다. 이 예시는 특정 좌표에 텍스트를 그리고 이미지를 PDF에 매끄럽게 삽입하는 방법을 보여줍니다.

Nuget Icon지금 바로 NuGet을 사용하여 PDF 만들기를 시작하세요.

  1. NuGet 패키지 관리자를 사용하여 IronPDF를 설치하세요.

    PM > Install-Package IronPdf

  2. 다음 코드 조각을 복사하여 실행하세요.

    new ChromePdfRenderer()
        .RenderHtmlAsPdf("<h1>Doc</h1>")
        .DrawText("Hello World", FontTypes.TimesNewRoman.Name, 12, 0, 100, 100, Color.Black, 0)
        .DrawBitmap(AnyBitmap.FromFile("logo.png"), 0, 50, 250, 500, 300)
        .SaveAs("annotated.pdf");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    지금 바로 무료 체험판을 통해 프로젝트에서 IronPDF를 사용해 보세요.
    arrow pointer


PDF에 텍스트를 어떻게 그리나요?

PdfDocument 객체에서 사용할 수 있는 DrawText 메서드를 사용하면 원본 내용을 변경하지 않고 기존 PDF에 텍스트를 추가할 수 있습니다. 이 방법은 스탬프 텍스트 및 이미지 기능과 유사하게 복잡한 오버레이를 통해 PDF에 동적 콘텐츠를 추가하는 데 특히 유용합니다.

좌표계 이해하기

텍스트를 입력하기 전에 PDF 좌표계를 이해하십시오. 원점(0,0)은 페이지의 왼쪽 아래 모서리에 위치하며 X 값은 오른쪽으로 갈수록 증가하고 Y 값은 위쪽으로 갈수록 증가합니다. 이는 원점이 왼쪽 상단에 있는 많은 그래픽 시스템과는 다릅니다.

:path=/static-assets/pdf/content-code-examples/how-to/draw-text-and-bitmap-draw-text.cs
using IronPdf;
using IronSoftware.Drawing;

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

// Draw text on PDF
pdf.DrawText("Some text", FontTypes.TimesNewRoman.Name, FontSize: 12, PageIndex: 0, X: 100, Y: 100, Color.Black, Rotation: 0);

pdf.SaveAs("drawText.pdf");
$vbLabelText   $csharpLabel

어떤 글꼴을 사용할 수 있나요?

현재 DrawText 메서드는 Courier, Arial(또는 Helvetica), @@ -- CODE-661--@@, SymbolZapfDingbats를 포함한 IronPDF의 모든 표준 글꼴을 지원합니다. IronPDF의 표준 글꼴에 대한 자세한 내용은 글꼴 관리 문서의 ' IronPDF의 표준 글꼴 ' 섹션을 참조하십시오.

ZapfDingbats 글꼴은 ▲와 같은 기호를 표시할 수 있습니다. 지원되는 기호의 전체 목록을 보려면 위키백과 Zapf Dingbats 항목을 참조하세요.

PDF에 출력되는 글꼴 샘플

Arial, Courier, Helvetica, Times New Roman 계열의 글꼴 샘플입니다. 굵게, 기울임꼴, 기울임꼴 변형이 포함되어 있습니다.

줄 바꿈이 포함된 텍스트를 추가하려면 어떻게 해야 하나요?

텍스트 그리기 작업은 줄 바꿈 문자를 지원하므로 서식 지정 및 시각적 명확성을 높이기 위해 내장된 줄 바꿈을 사용하여 텍스트를 렌더링할 수 있습니다. 이 기능은 여러 줄로 된 주석을 추가하거나 구조화된 텍스트 레이아웃을 만들 때 유용합니다.

이를 위해서는 텍스트 문자열에 newline characters (\n)를 추가하십시오. 위의 예시를 사용하면 다음과 같습니다.

// Multi-line text example with proper spacing
string textWithNewlines = "Some text\nSecond line\nThird line with more content";
pdfDoc.DrawText(textWithNewlines, font, position);

// You can also use Environment.NewLine for platform-specific line breaks
string platformText = $"Line 1{Environment.NewLine}Line 2{Environment.NewLine}Line 3";
pdfDoc.DrawText(platformText, font, position);
// Multi-line text example with proper spacing
string textWithNewlines = "Some text\nSecond line\nThird line with more content";
pdfDoc.DrawText(textWithNewlines, font, position);

// You can also use Environment.NewLine for platform-specific line breaks
string platformText = $"Line 1{Environment.NewLine}Line 2{Environment.NewLine}Line 3";
pdfDoc.DrawText(platformText, font, position);
$vbLabelText   $csharpLabel

사용자 지정 글꼴은 어떻게 사용하나요?

사용자 지정 글꼴은 DrawText 방식을 통해 지원되므로 표준 글꼴 외에도 다양한 타이포그래피 옵션을 활용할 수 있습니다. 이 기능은 브랜드 일관성을 유지하거나 특수 글꼴을 사용할 때 필수적입니다. 고급 글꼴 관리에 대해서는 PDF에서 글꼴 관리하기 가이드를 참조하세요.

아래는 Pixelify Sans 글꼴을 텍스트에 적용한 예시입니다.

:path=/static-assets/pdf/content-code-examples/how-to/draw-text-and-bitmap-draw-custom-font.cs
using IronPdf;
using IronSoftware.Drawing;
using System.IO;

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

// Add custom font to the PDF
byte[] fontByte = File.ReadAllBytes(@".\PixelifySans-VariableFont_wght.ttf");
var addedFont = pdf.Fonts.Add(fontByte);

// Draw text on PDF
pdf.DrawText("Iron Software", addedFont.Name, FontSize: 12, PageIndex: 0, X: 100, Y: 600, Color.Black, Rotation: 0);

pdf.SaveAs("drawCustomFont.pdf");
$vbLabelText   $csharpLabel

고급 텍스트 위치 지정

텍스트를 정확하게 배치할 때는 다음 팁을 참고하세요.

  • 페이지 크기 : 페이지 크기를 얻으려면 pdf.Pages[pageIndex].Widthpdf.Pages[pageIndex].Height를 사용하십시오.
  • 회전 : 회전 매개변수는 기울어진 텍스트에 대해 도 단위(0~360도)의 값을 허용합니다.
  • 색상 옵션 : 기본 색상 외에 RGB 값을 사용하세요: Color.FromArgb(255, 100, 100)

PDF에 이미지를 어떻게 그리나요?

IronPDF의 DrawBitmap 메서드를 사용하면 기존 PDF 문서에 비트맵을 추가할 수 있습니다. 이 방법은 이미지 스탬퍼 기능과 유사하게 작동하며, 기존 PDF에 이미지를 삽입할 수 있도록 해줍니다. 복잡한 이미지 편집이 필요한 경우, PDF에 이미지를 추가하는 방법 에 대한 가이드를 참조하세요.

[{i:(DrawBitmap 방법은 큰 이미지에 가장 적합합니다. 해상도가 낮은 이미지를 사용할 때 다음과 같은 예외가 발생할 수 있습니다. IronPdf.Exceptions.IronPdfNativeException: '이미지 그리기 중 오류: 데이터 길이(567000)가 예상(756000)보다 작습니다.' 이 문제를 해결하려면 모든 크기의 이미지를 처리하는 이미지 스탬퍼를 사용하십시오.

샘플 이미지

브랜드 배경에 다채로운 3D 기하학적 패턴이 서로 맞물린 Iron Software 로고

구현 방식은 어떻게 되나요?

:path=/static-assets/pdf/content-code-examples/how-to/draw-text-and-bitmap-draw-bitmap.cs
using IronPdf;
using IronSoftware.Drawing;

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

// Open the image from file
AnyBitmap bitmap = AnyBitmap.FromFile("ironSoftware.png");

// Draw the bitmp on PDF
pdf.DrawBitmap(bitmap, 0, 50, 250, 500, 300);

pdf.SaveAs("drawImage.pdf");
$vbLabelText   $csharpLabel

PDF 출력

추가로 사용할 수 있는 매개변수는 무엇입니까?

  • PixelFormat : PixelFormat 속성은 비트맵의 색상 데이터 형식을 지정하며, 주로 투명도 지원을 제어합니다. 기본값은 Format32bppArgb입니다. 매개변수를 옵션으로 전달하여 픽셀 열거형 형식 Format32bppRgbFormat32bppArgb 중에서 선택하십시오. 이 기능은 PDF에서 배경 및 전경 요소를 다룰 때 유용합니다.

  • IgnorePageRotation : 이 속성은 비트맵을 그릴 때 페이지 회전을 무시할지 여부를 결정합니다. 기본값은 false입니다. 특히 페이지 회전 여부와 관계없이 모든 페이지에 워터마크를 일관되게 적용할 때 유용합니다.

일반적인 사용 사례 및 모범 사례

PDF에 텍스트와 이미지를 그릴 때 다음과 같은 실용적인 활용법을 고려해 보세요.

  1. 동적 워터마킹 : 중요한 문서에 회사 로고 또는 "기밀" 스탬프를 추가합니다.
  2. 페이지 번호 매기기 : 모든 페이지에 걸쳐 일관된 위치에 페이지 번호를 기입하십시오.
  3. 서명 배치 : 양식의 지정된 위치에 서명 이미지를 추가합니다.
  4. 헤더/푸터 개선 : 기존 헤더에 동적 콘텐츠를 추가합니다.

PDF 작업의 디버깅 및 모니터링을 위해, 그리기 작업을 추적하고 올바른 실행을 보장하기 위해 사용자 지정 로깅을 구현하십시오.

성능 고려 사항

여러 페이지 또는 대용량 문서를 작업할 때:

  • 가능한 경우 일괄 처리를 통해 메모리 사용량을 최소화합니다.
  • 사용 후 비트맵 객체를 폐기하여 리소스를 해제하십시오.
  • 성능 향상을 위해 자주 사용하는 이미지를 미리 로드하는 것을 고려해 보세요.

당신이 할 수 있는 다른 일들을 알아볼 준비가 되셨나요? PDF 편집 방법 튜토리얼 페이지는 여기에서 확인하세요.

자주 묻는 질문

기존 PDF 파일에 텍스트와 이미지를 추가하는 데 사용할 수 있는 방법은 무엇인가요?

IronPDF는 기존 PDF에 콘텐츠를 추가하는 두 가지 주요 메서드를 제공합니다. 텍스트를 추가하는 DrawText 메서드와 이미지를 추가하는 DrawBitmap 메서드입니다. 이러한 메서드를 사용하면 원본 문서 내용을 변경하지 않고 워터마크, 로고 및 주석을 사용하여 PDF를 사용자 지정할 수 있습니다.

PDF 좌표계는 텍스트를 그릴 때 어떻게 작동하나요?

IronPDF에서 PDF 좌표계의 원점(0,0)은 페이지의 왼쪽 하단 모서리입니다. X 값은 오른쪽으로 갈수록 증가하고, Y 값은 위쪽으로 갈수록 증가합니다. 이는 원점이 왼쪽 상단 모서리인 많은 그래픽 시스템과는 다른 점입니다.

PDF에 텍스트를 그릴 때 지원되는 글꼴은 무엇인가요?

IronPDF의 DrawText 메서드는 Courier, Arial(Helvetica), Times New Roman, Symbol, ZapfDingbats를 포함한 모든 표준 글꼴을 지원합니다. 이러한 글꼴은 이탤릭체, 굵은체, 기울임체 변형도 제공합니다. ZapfDingbats 글꼴은 특수 기호를 표시하는 데 사용할 수 있습니다.

PDF 파일에 텍스트와 이미지를 한 번에 추가할 수 있나요?

네, IronPDF는 메서드를 연결하여 사용할 수 있도록 지원합니다. ChromePdfRenderer를 사용하여 PDF를 생성한 다음, DrawText 및 DrawBitmap 메서드를 한 줄의 코드로 순차적으로 적용하여 PDF 문서에 여러 요소를 효율적으로 추가할 수 있습니다.

PDF에 텍스트와 이미지를 그리는 일반적인 사용 사례는 무엇인가요?

IronPDF의 그리기 기능은 일반적으로 문서 보호를 위한 워터마크 추가, 브랜딩을 위한 회사 로고 삽입, 문서 검토를 위한 주석 작성, 시각적 외관 개선, 데이터 시각화 지원 및 대화형 양식 생성에 사용됩니다.

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

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

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

시작할 준비 되셨나요?
Nuget 다운로드 17,527,568 | 버전: 2026.2 방금 출시되었습니다