IRONSOFTWAREHOME

C# 및 VB PDF 렌더링에서 DataURI를 사용하여 이미지 삽입

Curtis Chau
Curtis Chau
Updated: 2026년 6월 4일

C# 및 VB.NET에서 IronPDF를 사용하여 DataURIs을 통해 이미지를 PDF 문서에 직접 포함하여 외부 파일 종속성을 제거하고 image bytes를 Base64 문자열로 변환하여 HTML 마크업 내에 인라인으로 포함시켜 원활한 PDF 렌더링을 실현하세요.

HTML 문자열 및 문서를 다룰 때 자산 디렉터리에 대한 의존성을 피하는 것이 필수적인 경우가 많습니다. 데이터 URI 스키마는 효과적인 해결책을 제공합니다.

데이터 URI 스키마는 데이터를 HTML 또는 CSS 코드에 직접 삽입하므로 별도의 파일이 필요하지 않습니다. DataURIs을 사용하면 이미지를 포함하고 기존 외부 파일을 참조하지 않고 HTML 문서에 파일 및 글꼴을 문자열로 직접 삽입할 수 있습니다.

빠른 시작: DataURI를 사용하여 PDF에 이미지 삽입

IronPDF를 통해 DataURIs을 사용하여 이미지를 포함하여 HTML 콘텐츠를 PDF 문서로 변환하세요. 이 가이드는 간단하고 효율적인 코드를 사용하여 이미지가 포함된 PDF를 렌더링하는 방법을 보여줍니다. IronPDF 이미지 무결성을 유지하면서 HTML을 PDF로 변환합니다. 여기에서 DataURI을 사용하여 PDF 문서에 이미지를 직접 포함시키는 간단한 예제가 있습니다.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

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

    new IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("<img src='data:image/png;base64,...' />").SaveAs("output.pdf");
    C#
  3. 3실제 운영 환경에서 테스트할 수 있도록 배포하세요.

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

DataURI를 사용하여 PDF에 이미지를 삽입하는 방법은 무엇인가요?

DataURIs을 사용하여 이미지를 직접 HTML 마크업에 포함하여 외부 파일을 참조하지 않아도 됩니다. 이 접근 방식은 클라우드 환경, 분산 시스템에서 PDF를 생성하거나 모든 리소스가 자체적으로 포함되도록 보장할 때 효과적입니다. IronPDF의 HTML에서 PDF로의 변환DataURIs을 완벽히 지원하여 이미지가 포함된 전문적인 PDF 생성이 가능합니다.

이 과정은 세 가지 단계로 이루어집니다: 이미지 데이터를 읽고, 이를 Base64 형식으로 변환하고, HTML img 태그 내에 포함시킵니다. 이 방법은 PNG, JPEG, GIF, SVG를 포함한 다양한 이미지 형식과 호환되므로 PDF 생성 워크플로에 유연성을 제공합니다. 이 기술은 Azure Blob Storage 이미지 또는 로컬 파일을 사용하는 경우에도 동일하게 적용됩니다.

기본 이미지 임베딩 예제

이 전체 예제는 DataURI를 사용하여 PDF에 이미지를 삽입하는 방법을 보여줍니다.

using IronPdf;
using System;

// Read byte from image file
var pngBinaryData = System.IO.File.ReadAllBytes("My_image.png");

// Convert bytes to base64
var ImgDataURI = @"data:image/png;base64," + Convert.ToBase64String(pngBinaryData);

// Import base64 to img tag
var ImgHtml = $"<img src='{ImgDataURI}'>";

ChromePdfRenderer Renderer = new ChromePdfRenderer();

// Render the HTML string
var pdf = Renderer.RenderHtmlAsPdf(ImgHtml);

pdf.SaveAs("datauri_example.pdf");

VB .NET 개발자는 IronPDF의 VB .NET PDF 라이브러리를 사용하여 동일한 기능을 구현할 수 있습니다.

Imports IronPdf
Imports System

' Read byte from image file
Dim pngBinaryData As Byte() = System.IO.File.ReadAllBytes("My_image.png")

' Convert bytes to base64
Dim ImgDataURI As String = "data:image/png;base64," & Convert.ToBase64String(pngBinaryData)

' Import base64 to img tag
Dim ImgHtml As String = $"<img src='{ImgDataURI}'>"

Dim Renderer As New ChromePdfRenderer()

' Render the HTML string
Dim pdf = Renderer.RenderHtmlAsPdf(ImgHtml)

pdf.SaveAs("datauri_example.pdf")
VB .NET

파일 참조 대신 DataURI를 사용해야 하는 이유는 무엇입니까?

DataURIs는 PDF 생성 시 기존 파일 참조에 비해 여러 가지 장점을 제공합니다. 첫째, 외부 파일에 대한 의존성을 제거하여 PDF 생성의 안정성과 이식성을 향상시킵니다. 이는 파일 시스템 접근이 제한되거나 성능에 민감한 Azure 또는 AWS Lambda 와 같은 클라우드 환경에서 매우 중요합니다.

둘째, DataURIs는 PDF가 완전히 독립적으로 유지되도록 합니다. 생성된 PDF를 공유하거나 배포할 때, 깨진 이미지 링크나 누락된 리소스는 문제가 되지 않습니다. DataURIs는 보고서, 송장, 혹은 아카이브나 이메일 배포를 필요로 하는 문서를 생성하는 데 이상적입니다.

셋째, DataURIs는 특정 상황에서 성능을 향상시킬 수 있습니다. 이미지 데이터가 HTML에 직접 포함되어 있으므로 렌더링 중에 추가적인 HTTP 요청이나 파일 시스템 작업이 발생하지 않습니다. 이는 특히 여러 개의 작은 이미지를 처리할 때 PDF 생성 속도를 향상시킵니다.

지원되는 이미지 형식은 무엇입니까?

IronPDF는 DataURIs을 통해 모든 주요 이미지 형식을 지원하여 PDF 생성 워크플로우에 유연성을 제공합니다:

  • PNG : 투명한 이미지나 가장자리가 선명한 그래픽에 적합합니다. data:image/png;base64, 보조
  • JPEG : 사진 및 다양한 색상이 포함된 복잡한 이미지에 가장 적합합니다. data:image/jpeg;base64, 사용
  • GIF : 간단한 애니메이션이나 색상이 제한적인 이미지에 적합합니다. data:image/gif;base64, 사용
  • SVG : 확장 가능한 벡터 그래픽에 적합합니다. data:image/svg+xml;base64, 사용
  • WebP : 압축률이 뛰어난 최신 포맷입니다. data:image/webp;base64,를 사용하세요

다음 예시는 다양한 이미지 형식을 처리하는 방법을 보여줍니다.

using IronPdf;
using System;
using System.IO;

public class MultiFormatImageEmbedding
{
    public static void EmbedVariousImageFormats()
    {
        var renderer = new ChromePdfRenderer();
        
        // Function to create DataURI from image file
        string CreateDataUri(string filePath, string mimeType)
        {
            var imageBytes = File.ReadAllBytes(filePath);
            return $"data:{mimeType};base64,{Convert.ToBase64String(imageBytes)}";
        }
        
        // Create HTML with multiple image formats
        var html = $@"
        <html>
        <body>
            <h1>Multi-Format Image Test</h1>
            <img src='{CreateDataUri("logo.png", "image/png")}' alt='PNG Logo' />
            <img src='{CreateDataUri("photo.jpg", "image/jpeg")}' alt='JPEG Photo' />
            <img src='{CreateDataUri("icon.svg", "image/svg+xml")}' alt='SVG Icon' />
        </body>
        </html>";
        
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("multi_format_images.pdf");
    }
}

기존 PDF에 이미지를 추가하는 것을 포함한 고급 이미지 처리를 위해 IronPDF 포괄적인 지원을 제공합니다.

Base64 인코딩은 파일 크기에 어떤 영향을 미칠까요?

Base64 인코딩은 데이터 크기를 약 33% 증가시킵니다. Base64는 64개의 ASCII 문자만을 사용하여 이진 데이터를 표현하며, 원본 데이터의 3바이트마다 4개의 문자가 필요합니다. 이로 인해 전체 크기는 증가하지만, PDF 생성에 미치는 영향은 자체 포함 문서의 이점과 비교하면 미미한 경우가 많습니다.

DataURIs를 사용할 때 파일 크기를 최적화하려면 다음의 실천 방법을 따르세요:

  1. 이미지 압축 이후 인코딩: 변환 전에 도구나 라이브러리를 사용하여 이미지를 최적화하십시오
  2. 적절한 형식 선택: 사진에는 JPEG를, 투명도가 있는 그래픽에는 PNG를 사용하십시오
  3. 이미지를 적절하게 크기 조정: PDF 출력에 필요 이상으로 큰 이미지를 포함하지 마십시오
  4. PDF 압축을 고려하세요 : 생성 후 IronPDF의 압축 기능을 사용하세요.

이 예시는 이미지 삽입 전 최적화 과정을 보여줍니다.

using IronPdf;
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

public class OptimizedImageEmbedding
{
    public static void EmbedOptimizedImage(string imagePath, int maxWidth = 800)
    {
        // Load and resize image if necessary
        using (var originalImage = Image.FromFile(imagePath))
        {
            var resizedImage = originalImage;
            
            if (originalImage.Width > maxWidth)
            {
                var ratio = (double)maxWidth / originalImage.Width;
                var newHeight = (int)(originalImage.Height * ratio);
                resizedImage = new Bitmap(originalImage, maxWidth, newHeight);
            }
            
            // Convert to optimized JPEG
            using (var ms = new MemoryStream())
            {
                var encoder = ImageCodecInfo.GetImageEncoders()
                    .First(c => c.FormatID == ImageFormat.Jpeg.Guid);
                var encoderParams = new EncoderParameters(1);
                encoderParams.Param[0] = new EncoderParameter(
                    System.Drawing.Imaging.Encoder.Quality, 85L);
                
                resizedImage.Save(ms, encoder, encoderParams);
                var imageBytes = ms.ToArray();
                
                // Create DataURI
                var dataUri = $"data:image/jpeg;base64,{Convert.ToBase64String(imageBytes)}";
                
                // Generate PDF
                var html = $@"
                <html>
                <body>
                    <h1>Optimized Image Example</h1>
                    <img src='{dataUri}' style='max-width: 100%;' />
                </body>
                </html>";
                
                var renderer = new ChromePdfRenderer();
                var pdf = renderer.RenderHtmlAsPdf(html);
                pdf.SaveAs("optimized_image.pdf");
            }
            
            if (resizedImage != originalImage)
                resizedImage.Dispose();
        }
    }
}

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

Milan Jovanovic

마이크로소프트 MVP

사례 연구 보기

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

브렌트 마첼

최고 기술 책임자, OPYN

사례 연구 보기

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

데이비드 존스

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

사례 연구 보기

고급 기술 및 모범 사례

프로덕션 환경에서 DataURIs와 작업할 때, 동일한 이미지를 반복적으로 인코딩하지 않도록 캐싱 메커니즘을 구현하세요. 이는 특히 공유 리소스를 사용하여 여러 PDF 파일을 생성할 때 중요합니다. IronPDF의 async 기능을 활용하여 여러 이미지를 처리할 때 성능을 향상시키세요.

이미지가 많은 복잡한 문서의 경우 중요한 이미지는 DataURIs으로 임베디드 하고, 더 크고 선택적인 이미지는 외부 참조하는 혼합 접근 방식을 사용하세요. 이는 독립적인 문서와 적절한 파일 크기 사이의 균형을 유지합니다.

IronPDF의 ASP.NET MVC 통합 기능을 사용하면 전체 HTML 문자열이나 PDF 문서를 바이트 배열로 제공할 수도 있습니다. 이 기술은 PDF를 동적으로 생성하고 제공하는 웹 애플리케이션을 구축할 때 효과적입니다.

워터마킹, 디지털 서명, 양식 생성 등 고급 PDF 조작 기술을 위해 IronPDF 강력한 PDF 솔루션을 구축하는 데 필요한 포괄적인 문서와 예제를 제공합니다.


using IronPdf 디렉티브를 사용하여 C# 또는 VB.NET 프로젝트에 IronPdf 네임스페이스를 포함하세요.

AddBookmarkAtEnd 메서드는 PDF 아웃라인에 새로운 북마크를 추가하는 데 사용됩니다.

자주 묻는 질문

DataURI란 무엇이며 PDF 생성에 왜 사용해야 할까요?

DataURI는 데이터를 base64로 인코딩된 문자열로 HTML 또는 CSS 코드에 직접 삽입하는 방식으로, 별도의 이미지 파일이 필요하지 않습니다. IronPDF는 DataURI를 완벽하게 지원하므로 클라우드 환경, 분산 시스템 또는 외부 파일 종속성 없이 자체 포함 PDF가 필요한 경우에 이상적입니다.

PDF에 이미지를 삽입하기 위한 DataURI 형식으로 변환하려면 어떻게 해야 하나요?

IronPDF를 사용하여 이미지를 DataURI로 변환하는 과정은 세 단계로 이루어집니다. 첫째, System.IO.File.ReadAllBytes()를 사용하여 이미지 바이트를 읽습니다. 둘째, Convert.ToBase64String()을 사용하여 바이트를 base64로 변환합니다. 마지막으로, 'data:image/png;base64,[base64string]' 형식으로 base64 문자열을 HTML img 태그에 삽입합니다.

DataURI로 이미지를 임베드할 때 지원되는 이미지 형식은 무엇입니까?

IronPDF는 PNG, JPEG, GIF, SVG를 포함한 다양한 이미지 형식을 DataURI로 임베드하는 것을 지원합니다. 이러한 유연성을 통해 다양한 이미지 유형을 사용하면서도 PDF 생성 워크플로를 완벽하게 제어할 수 있습니다.

DataURI를 사용하여 하나의 PDF에 여러 이미지를 삽입할 수 있습니까?

네, IronPDF를 사용하면 DataURI를 통해 하나의 PDF 문서에 여러 이미지를 삽입할 수 있습니다. 각 이미지를 base64 형식으로 변환한 후 HTML 마크업에 포함하고 IronPDF의 ChromePdfRenderer로 렌더링하면 됩니다.

파일 참조 대신 DataURI를 사용하면 성능에 영향을 미칠까요?

DataURI는 base64 인코딩으로 인해 HTML 문자열 크기를 증가시키지만, IronPDF는 이러한 변환을 효율적으로 처리합니다. 특히 클라우드 또는 분산 환경에서 외부 종속성 없이 자체 포함된 PDF가 필요한 경우 이러한 절충은 충분히 가치가 있습니다.

What are the steps to convert an image to a DataURI for embedding?

To convert an image to a DataURI, read the image bytes using a method like ReadAllBytes, convert these bytes to a base64 string with ToBase64String, then form a DataURI by prepending the mime type, such as 'data:image/png;base64,'. Use this as the src in an HTML img tag within your PDF rendering code.

How can I optimize images when using DataURIs in PDFs?

Optimize images by compressing them before encoding to base64, choosing the appropriate image format, and resizing images to reduce unnecessary file size. Additionally, IronPDF's PDF compression features can help manage file sizes after generation.

Can I handle multiple image formats in a single PDF using DataURIs with IronPDF?

Yes, you can handle multiple image formats by creating DataURIs for each format and including them within an HTML document. IronPDF can render this HTML into a PDF, preserving each image format such as PNG, JPEG, and SVG within the same document.

What are the advantages of using IronPDF for embedding images with DataURIs?

IronPDF simplifies the process of embedding images with DataURIs by offering seamless conversion of HTML with inline images to PDFs. It supports robust PDF generation, including advanced features like compression and dynamic content processing suitable for professional use.

How can I improve performance when generating PDFs with multiple images?

Improve performance by caching encoded DataURI images, using async capabilities, and considering a hybrid approach where critical images are embedded while larger images are referenced externally. This keeps PDFs efficient without compromising on essential embedded content.

Curtis Chau
기술 문서 작성자

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

...
더 읽어보기

시작할 준비 되셨나요?

Nuget Downloads 20,756,830버전:2026.7방금 출시

무료로 받기

30일 체험 키를 즉시 받으세요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.
bullet_test워터마크 없이
프로덕션에서 테스트
bullet_calendar30일 완전한
기능의 제품
bullet_support체험 기간 동안
24/5 기술 지원
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.
PDF용 C# NuGet 라이브러리
NuGet을 사용하여 설치하세요

버전: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 솔루션 탐색기에서 참조를 마우스 오른쪽 버튼으로 클릭하고 NuGet 패키지 관리를 선택합니다.
  2. 찾아보기를 선택하고 "IronPDF"를 검색하세요.
  3. 패키지를 선택하고 설치하세요
C# PDF DLL
DLL 다운로드

버전: 2026.7

또는 여기에서 Windows 설치 프로그램을 다운로드하십시오.

  1. IronPDF를 다운로드하고 솔루션 디렉터리 내의 ~/Libs와 같은 위치에 압축을 푸세요.
  2. Visual Studio 솔루션 탐색기에서 참조를 마우스 오른쪽 버튼으로 클릭합니다. 찾아보기를 선택하고 "IronPDF.dll"을 선택합니다.

라이선스 가격은 749달러 부터 시작합니다.

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
무료 라이브 데모를 예약하세요
Booking Badge

전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.