iTextSharp: PDF에 이미지 추가
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.
IronPDF는 적은 코드 라인으로 더 간단한 이미지 추가와 영구 라이선스를 제공하며, iTextSharp은 더 세부적인 제어를 제공하지만 더 많은 코드가 필요하고 상업적 사용을 위한 AGPL에 따른 복잡한 라이선싱을 갖추고 있습니다.
.NET 환경에서 PDF 파일 작업 시, 문서에 이미지 추가는 많은 애플리케이션에 공통 요구 사항입니다. 회사 로고가 들어간 송장을 생성하거나, 내장 차트가 포함된 보고서를 생성하거나, 워터마크가 있는 사용자 정의 문서를 생성할 때, PDF에 이미지를 삽입하는 기능은 필수적입니다. C#의 인기 있는 PDF 라이브러리 두 가지는 IronPDF와 iTextSharp입니다. 이 글은 IronPDF와 iTextSharp의 PDF에 이미지 추가 능력을 비교하며 사용 용이성, 성능, 라이선스 모델, 및 이미지 압축과 형식 지원과 같은 고급 기능을 고려합니다.
IronPDF와 iTextSharp의 주요 차이점은 무엇인가요?
각 라이브러리는 어떤 이미지 기능을 제공하나요?
- IronPDF: IronPDF는 URL의 원격 이미지와 로컬 이미지를 모두 지원하여 PDF에 이미지를 간단하게 추가합니다. API는 위치, 너비, 스케일링에 대한 제어를 제공합니다. 라이브러리는 JPEG, PNG, GIF, SVG, 및 WebGL 콘텐츠를 지원합니다. 스탬프 기능은 워터마크, 레터헤드, 및 이미지 오버레이 방법을 제공합니다. Chrome 렌더링 엔진은 복잡한 그래픽의 정확한 렌더링과 반응형 이미지를 보장합니다.
iTextSharp: iTextSharp은 저수준 API를 통해 이미지 삽입을 제공합니다. JPG 및 PNG 형식을 다루는 유연한 인터페이스를 제공합니다. 그러나 특히 이미지를 정확히 배치하거나 투명성과 회전을 구현할 때, 추가적인 코드가 필요합니다. 라이브러리는 좌표 시스템 및 스케일링 계산을 수동으로 처리해야 합니다. 종종 반응형 크기를 위해 뷰포트 제어를 구현해야 합니다.
대용량 파일 및 복잡한 작업은 어떻게 처리하나요?
-
IronPDF: IronPDF는 향상된 메모리 관리를 통해 대용량 PDF 및 이미지를 효율적으로 처리합니다. 내장 그래픽으로 PDF를 생성하거나 수정할 때 성능이 뛰어나며 서버 응용 프로그램 및 Azure 배포에 적합합니다. 해당 라이브러리는 배치 처리를 위한 비동기 작업 및 멀티스레딩을 지원합니다. 성능 최적화 기능에는 지능형 캐싱 및 병렬 PDF 생성이 포함되어 있습니다.
iTextSharp: iTextSharp는 대용량 파일이나 복잡한 이미지 작업에서 더 느릴 수 있습니다. 여러 이미지를 동시에 처리하거나 고해상도 이미지를 처리할 때 메모리 사용량이 문제가 될 수 있습니다. 그러나 적절히 구성하면 대부분의 응용 프로그램에 적합합니다. 해당 라이브러리는 배치 작업에 대한 내장 압축 최적화가 부족합니다.
상업적 사용에 따른 비용 문제는 무엇인가요?
-
IronPDF: IronPDF는 일회성 구매를 통해 투명한 가격의 영구 라이선스를 제공합니다. 이는 반복 구독 비용을 피할 수 있습니다. 해당 라이브러리는 무료 체험판 옵션과 완전한 기술 지원을 포함합니다. 라이선스 키 관리는 여러 구성 옵션을 통해 간단합니다.
iTextSharp: iTextSharp는 오픈 소스 사용을 위해 소스 코드 공개가 필요한 AGPL을 사용합니다. 상업용 라이선스는 이러한 요구 사항을 피할 수 있습니다. 라이선싱 복잡성은 상업적 응용 프로그램에 도전이 될 수 있습니다. 라이선스 업그레이드와 연장을 이해하기 위해서는 신중한 계획이 필요합니다.
IronPDF를 사용하여 PDF에 이미지를 추가하는 방법
IronPDF를 설치하고 구성하는 방법
IronPDF를 C# 또는 Visual Basic 프로젝트에 NuGet을 통해 설치합니다. 해당 라이브러리는 Windows 설치 관리자와 Docker 배포를 포함하여 다양한 설치 방법을 지원합니다:
Install-Package IronPdf
설치가 완료되면 IronPDF의 API 참조를 사용하여 이미지를 추가하기 시작할 수 있습니다. 해당 라이브러리는 Windows, Linux, macOS 플랫폼 전반에 원활하게 작동합니다.
IronPDF에서 기본 이미지 추가는 어떻게 보이나요?
빠른 시작: IronPDF로 PDF에 이미지 추가하기
IronPDF로 PDF에 이미지를 추가하는 것은 주로 스탬핑 API를 사용하여 최소한의 코드로 가능합니다.
-
NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronPdf 설치하기
PM > Install-Package IronPdf -
다음 코드 조각을 복사하여 실행하세요.
using IronPdf; using IronPdf.Editing; class Program { public static void Main(string[] args) { // Create a renderer to convert HTML to PDF ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render a basic PDF with some HTML content PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>"); // Create an ImageStamper with the image URL ImageStamper stamper = new ImageStamper(new Uri("___PROTECTED_URL_61___")); // Configure image position and size stamper.HorizontalAlignment = HorizontalAlignment.Center; stamper.VerticalAlignment = VerticalAlignment.Middle; stamper.Width = 200; // Width in pixels stamper.Height = 100; // Height in pixels // Apply the stamp (image) to the PDF document pdf.ApplyStamp(stamper); // Save the modified PDF to a file pdf.SaveAs("output.pdf"); } } -
실제 운영 환경에서 테스트할 수 있도록 배포하세요.
무료 체험판으로 오늘 프로젝트에서 IronPDF 사용 시작하기
워터마크 및 배경 이미지를 추가하는 방법
IronPDF는 기존 PDF에 워터마크와 배경 이미지를 추가하는 데 뛰어납니다. 해당 라이브러리는 여러 스탬핑 작업과 사용자 정의 위치 지정을 지원합니다:
using IronPdf;
using IronPdf.Editing;
// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
// Create a watermark with transparency
ImageStamper watermark = new ImageStamper("watermark.png")
{
Opacity = 30, // 30% opacity for subtle watermarking
Rotation = -45, // Diagonal watermark
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Middle
};
// Apply watermark to all pages
pdf.ApplyStamp(watermark);
// Add a header logo
ImageStamper logo = new ImageStamper("company-logo.png")
{
HorizontalOffset = Length.Millimeters(10),
VerticalOffset = Length.Millimeters(10),
Width = 150,
Height = 50
};
pdf.ApplyStamp(logo, PageSelection.FirstPage);
pdf.SaveAs("watermarked-invoice.pdf");
using IronPdf;
using IronPdf.Editing;
// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
// Create a watermark with transparency
ImageStamper watermark = new ImageStamper("watermark.png")
{
Opacity = 30, // 30% opacity for subtle watermarking
Rotation = -45, // Diagonal watermark
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Middle
};
// Apply watermark to all pages
pdf.ApplyStamp(watermark);
// Add a header logo
ImageStamper logo = new ImageStamper("company-logo.png")
{
HorizontalOffset = Length.Millimeters(10),
VerticalOffset = Length.Millimeters(10),
Width = 150,
Height = 50
};
pdf.ApplyStamp(logo, PageSelection.FirstPage);
pdf.SaveAs("watermarked-invoice.pdf");
Imports IronPdf
Imports IronPdf.Editing
' Load an existing PDF
Dim pdf As PdfDocument = PdfDocument.FromFile("invoice.pdf")
' Create a watermark with transparency
Dim watermark As New ImageStamper("watermark.png") With {
.Opacity = 30, ' 30% opacity for subtle watermarking
.Rotation = -45, ' Diagonal watermark
.HorizontalAlignment = HorizontalAlignment.Center,
.VerticalAlignment = VerticalAlignment.Middle
}
' Apply watermark to all pages
pdf.ApplyStamp(watermark)
' Add a header logo
Dim logo As New ImageStamper("company-logo.png") With {
.HorizontalOffset = Length.Millimeters(10),
.VerticalOffset = Length.Millimeters(10),
.Width = 150,
.Height = 50
}
pdf.ApplyStamp(logo, PageSelection.FirstPage)
pdf.SaveAs("watermarked-invoice.pdf")
또한 여러 이미지로 복잡한 레이아웃을 만들 수도 있습니다:
// Add images from Base64 strings
string base64Image = Convert.ToBase64String(File.ReadAllBytes("signature.png"));
HtmlStamper signatureStamp = new HtmlStamper($"<img src='data:image/png;base64,{base64Image}'/>");
signatureStamp.HorizontalAlignment = HorizontalAlignment.Right;
signatureStamp.VerticalAlignment = VerticalAlignment.Bottom;
pdf.ApplyStamp(signatureStamp);
// Add images from Base64 strings
string base64Image = Convert.ToBase64String(File.ReadAllBytes("signature.png"));
HtmlStamper signatureStamp = new HtmlStamper($"<img src='data:image/png;base64,{base64Image}'/>");
signatureStamp.HorizontalAlignment = HorizontalAlignment.Right;
signatureStamp.VerticalAlignment = VerticalAlignment.Bottom;
pdf.ApplyStamp(signatureStamp);
Imports System
Imports System.IO
' Add images from Base64 strings
Dim base64Image As String = Convert.ToBase64String(File.ReadAllBytes("signature.png"))
Dim signatureStamp As New HtmlStamper($"<img src='data:image/png;base64,{base64Image}'/>")
signatureStamp.HorizontalAlignment = HorizontalAlignment.Right
signatureStamp.VerticalAlignment = VerticalAlignment.Bottom
pdf.ApplyStamp(signatureStamp)
PDF 뷰어에서 'Hello World' 텍스트와 IronPDF 로고 워터마크가 페이지 중앙에 배치된 간단한 문서를 표시 - IronPDF의 이미지 스탬핑 기능을 이용한 정밀한 위치 지정 및 불투명도 제어의 데모 
이 예제는 ChromePdfRenderer 클래스를 사용하여 HTML 문자열에서 새 PDF를 렌더링합니다. IronPDF의 이미지 스탬핑 도구를 사용하여 제공된 URL에서 이미지를 생성하고 이를 PDF에 적용합니다. 이는 최소한의 코드로 PDF 페이지에 이미지를 추가하는 방법을 보여줍니다. 렌더링 옵션은 출력 품질에 대한 완전한 제어를 제공합니다.
IronPDF에서 이미지 위치와 크기를 조절하는 방법
IronPDF는 이미지 배치를 위한 광범위한 사용자 정의를 제공합니다. 스탬핑 도구의 위치 지정 기능을 사용하여 맞춤 및 오프셋 설정을 통해 페이지 위치를 지정합니다. 해당 라이브러리는 좌표를 사용한 절대 위치 지정과 맞춤 옵션을 사용한 상대 위치 지정을 지원합니다. 고급 기능에는 정밀한 레이아웃을 위한 사용자 정의 용지 크기 및 여백 제어가 포함됩니다.
iTextSharp를 사용하여 PDF에 이미지를 추가하는 방법
iTextSharp를 설치하고 구성하는 방법
iTextSharp를 NuGet을 통해 설치합니다. IronPDF의 완전한 플랫폼 지원과 달리 iTextSharp는 제한된 배포 옵션을 가지고 있습니다:
Install-Package itext7
구성이 완료되면 iTextSharp의 문서 조작 기능을 사용하여 이미지를 추가하십시오. 해당 라이브러리는 폰트 관리 및 UTF-8 지원을 위한 추가 구성이 필요합니다.
iTextSharp에서 기본 이미지 추가는 어떻게 보이나요?
다음은 iTextSharp를 사용하여 이미지를 삽입하는 방법입니다:
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;
class Program
{
public static void Main(string[] args)
{
// Initialize PDF writer
var pdfWriter = new PdfWriter("output.pdf");
// Initialize PDF document
var pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfWriter);
// Initialize document
var document = new Document(pdfDocument);
// Create ImageData from image file
ImageData imageData = ImageDataFactory.Create("iText.png");
// Create an Image instance
Image image = new Image(imageData);
// Set fixed position for the image in the PDF
image.SetFixedPosition(50, 100); // x, y coordinates
// Scale image to fit within specified dimensions
image.ScaleToFit(200, 200); // Width, Height
// Add image to document
document.Add(image);
// Close the document
document.Close();
}
}
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;
class Program
{
public static void Main(string[] args)
{
// Initialize PDF writer
var pdfWriter = new PdfWriter("output.pdf");
// Initialize PDF document
var pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfWriter);
// Initialize document
var document = new Document(pdfDocument);
// Create ImageData from image file
ImageData imageData = ImageDataFactory.Create("iText.png");
// Create an Image instance
Image image = new Image(imageData);
// Set fixed position for the image in the PDF
image.SetFixedPosition(50, 100); // x, y coordinates
// Scale image to fit within specified dimensions
image.ScaleToFit(200, 200); // Width, Height
// Add image to document
document.Add(image);
// Close the document
document.Close();
}
}
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
Imports iText.IO.Image
Friend Class Program
Public Shared Sub Main(ByVal args() As String)
' Initialize PDF writer
Dim pdfWriter As New PdfWriter("output.pdf")
' Initialize PDF document
Dim pdfDocument = New iText.Kernel.Pdf.PdfDocument(pdfWriter)
' Initialize document
Dim document As New Document(pdfDocument)
' Create ImageData from image file
Dim imageData As ImageData = ImageDataFactory.Create("iText.png")
' Create an Image instance
Dim image As New Image(imageData)
' Set fixed position for the image in the PDF
image.SetFixedPosition(50, 100) ' x, y coordinates
' Scale image to fit within specified dimensions
image.ScaleToFit(200, 200) ' Width, Height
' Add image to document
document.Add(image)
' Close the document
document.Close()
End Sub
End Class
다중 이미지를 추가하고 복잡한 레이아웃을 처리하는 방법
제품 카탈로그 또는 사진첩 같은 복잡한 시나리오의 경우 수동으로 레이아웃을 관리합니다. IronPDF의 목차 기능과 북마크 지원은 여러 페이지의 문서를 체계적으로 구성할 수 있습니다:
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;
using iText.Layout.Properties;
// Create a grid of images
var pdfWriter = new PdfWriter("catalog.pdf");
var pdfDocument = new PdfDocument(pdfWriter);
var document = new Document(pdfDocument);
// Add images in a grid layout
float xPosition = 50;
float yPosition = 750;
int imagesPerRow = 3;
int currentImage = 0;
string[] imageFiles = { "product1.jpg", "product2.jpg", "product3.jpg",
"product4.jpg", "product5.jpg", "product6.jpg" };
foreach (string imagePath in imageFiles)
{
ImageData imageData = ImageDataFactory.Create(imagePath);
Image image = new Image(imageData);
// Calculate position
int column = currentImage % imagesPerRow;
int row = currentImage / imagesPerRow;
float x = xPosition + (column * 180);
float y = yPosition - (row * 250);
image.SetFixedPosition(x, y);
image.ScaleToFit(150, 200);
document.Add(image);
currentImage++;
}
document.Close();
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;
using iText.Layout.Properties;
// Create a grid of images
var pdfWriter = new PdfWriter("catalog.pdf");
var pdfDocument = new PdfDocument(pdfWriter);
var document = new Document(pdfDocument);
// Add images in a grid layout
float xPosition = 50;
float yPosition = 750;
int imagesPerRow = 3;
int currentImage = 0;
string[] imageFiles = { "product1.jpg", "product2.jpg", "product3.jpg",
"product4.jpg", "product5.jpg", "product6.jpg" };
foreach (string imagePath in imageFiles)
{
ImageData imageData = ImageDataFactory.Create(imagePath);
Image image = new Image(imageData);
// Calculate position
int column = currentImage % imagesPerRow;
int row = currentImage / imagesPerRow;
float x = xPosition + (column * 180);
float y = yPosition - (row * 250);
image.SetFixedPosition(x, y);
image.ScaleToFit(150, 200);
document.Add(image);
currentImage++;
}
document.Close();
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
Imports iText.IO.Image
Imports iText.Layout.Properties
' Create a grid of images
Dim pdfWriter As New PdfWriter("catalog.pdf")
Dim pdfDocument As New PdfDocument(pdfWriter)
Dim document As New Document(pdfDocument)
' Add images in a grid layout
Dim xPosition As Single = 50
Dim yPosition As Single = 750
Dim imagesPerRow As Integer = 3
Dim currentImage As Integer = 0
Dim imageFiles As String() = {"product1.jpg", "product2.jpg", "product3.jpg", "product4.jpg", "product5.jpg", "product6.jpg"}
For Each imagePath As String In imageFiles
Dim imageData As ImageData = ImageDataFactory.Create(imagePath)
Dim image As New Image(imageData)
' Calculate position
Dim column As Integer = currentImage Mod imagesPerRow
Dim row As Integer = currentImage \ imagesPerRow
Dim x As Single = xPosition + (column * 180)
Dim y As Single = yPosition - (row * 250)
image.SetFixedPosition(x, y)
image.ScaleToFit(150, 200)
document.Add(image)
currentImage += 1
Next
document.Close()
ITEXT 로고와 'CORE' 텍스트가 중앙에 배치되고 나머지 페이지는 공백인 PDF 뷰어를 표시 - iTextSharp의 이미지 삽입 기능 예시, 기본 위치 지정 및 스케일링 기능을 나타냅니다 
이미지는 좌표 (50, 100)에 추가되며 200x200 픽셀 내에 맞도록 크기가 조정됩니다. PdfWriter이 출력 파일을 생성하여 이미지를 처리하기 위한 PDF 작성자 기능을 활성화합니다. 더 나은 구성을 위해 페이지 번호와 헤더/푸터를 사용하는 것을 고려해 보십시오.
iTextSharp에서 이미지 위치와 크기를 어떻게 제어할 수 있나요?
iTextSharp는 수동 좌표 계산을 통해 위치와 크기를 제어할 수 있습니다. 비율을 유지하면서 이미지를 확장하거나 특정 크기로 늘릴 수 있습니다. SetFixedPosition 메서드는 정밀한 위치 지정 제어를 제공하며, 정렬 및 회전을 조작할 수 있습니다. 그러나 IronPDF의 뷰포트 제어 및 반응형 크기 옵션은 부족합니다.
IronPDF와 iTextSharp의 성능 비교는 어떻습니까?
두 라이브러리는 이미지 추가를 포함한 PDF 처리에 주목할 만한 차이를 보입니다:
-
IronPDF는 성능을 향상시켜 큰 문서를 다수의 이미지를 포함하여 효율적으로 처리합니다. 특히 그래픽 집약적 문서를 위한 PDF를 더 빠르게 렌더링합니다. 라이브러리는 향상된 처리량을 위해 비동기 작업 및 병렬 처리를 지원합니다. 메모리 스트림 작업을 통해 디스크 I/O를 줄여 성능을 향상시킵니다.
- iTextSharp는 우수한 성능을 제공하지만, 매우 큰 PDF 또는 다수의 고해상도 이미지와의 처리에 어려움을 겪을 수 있습니다. 효율적이지만, 일부 개발자는 여러 페이지 작업을 포함한 복잡한 사용 사례에서 IronPDF에 비해 느린 렌더링 시간을 보고했습니다. 라이브러리는 웹 최적화를 위한 내장 선형화 지원이 부족합니다.
사용 가능한 고급 이미지 기능은 무엇인가요?
다양한 이미지 형식을 어떻게 처리하나요?
IronPDF는 모든 이미지 형식을 지원합니다:
- JPEG/JPG는 품질 최적화와 함께 지원됩니다
- PNG는 투명도 지원과 함께 지원됩니다
- GIF (정적 및 애니메이션 프레임 포함)
- SVG는 벡터 그래픽 지원과 함께 지원됩니다
- TIFF는 여러 페이지 TIFF 파일을 포함하여 지원됩니다
- WebP는 현대적인 웹 이미지를 지원합니다
- Base64 인코딩된 이미지를 지원합니다
- Azure Blob Storage에서의 이미지를 지원합니다
iTextSharp는 표준 형식을 지원합니다:
- JPEG/JPG
- 알파 채널이 있는 PNG
- GIF (첫 번째 프레임만)
- TIFF (단일 페이지)
- BMP 및 기타 비트맵 형식
이미지 품질과 압축은 어떻게 되나요?
IronPDF는 파일 크기와 품질 균형을 제공하는 내장 압축 옵션을 제공합니다. 라이브러리는 정화 기능과 평면화 기능을 제공합니다:
// Configure compression when rendering
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.JpegQuality = 85; // 0-100 quality scale
// Compress existing PDFs with images
PdfDocument pdf = PdfDocument.FromFile("large-images.pdf");
pdf.CompressImages(60); // Compress to 60% quality
pdf.SaveAs("compressed.pdf");
// Additional optimization options
renderer.RenderingOptions.GrayScale = true; // Convert to grayscale
renderer.RenderingOptions.DPI = 150; // Reduce DPI for web viewing
// Configure compression when rendering
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.JpegQuality = 85; // 0-100 quality scale
// Compress existing PDFs with images
PdfDocument pdf = PdfDocument.FromFile("large-images.pdf");
pdf.CompressImages(60); // Compress to 60% quality
pdf.SaveAs("compressed.pdf");
// Additional optimization options
renderer.RenderingOptions.GrayScale = true; // Convert to grayscale
renderer.RenderingOptions.DPI = 150; // Reduce DPI for web viewing
Imports IronPdf
' Configure compression when rendering
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.JpegQuality = 85 ' 0-100 quality scale
' Compress existing PDFs with images
Dim pdf As PdfDocument = PdfDocument.FromFile("large-images.pdf")
pdf.CompressImages(60) ' Compress to 60% quality
pdf.SaveAs("compressed.pdf")
' Additional optimization options
renderer.RenderingOptions.GrayScale = True ' Convert to grayscale
renderer.RenderingOptions.DPI = 150 ' Reduce DPI for web viewing
iTextSharp는 이미지 데이터 조작을 통해 수동 압축 처리를 요구하며 품질 제어에 대한 구현 복잡성을 증가시킵니다. 자체적으로 그레이스케일 변환 및 DPI 조정을 구현해야 합니다.
기존 PDF에서 이미지를 어떻게 추출할 수 있나요?
IronPDF는 신뢰할 수 있는 이미지 추출 기능을 제공합니다:
// Extract all images from a PDF
PdfDocument pdf = PdfDocument.FromFile("document.pdf");
var images = pdf.ExtractAllImages();
foreach (var image in images)
{
// Save extracted images
image.SaveAs($"extracted_image_{images.IndexOf(image)}.png");
}
// Extract images from specific pages
var pageImages = pdf.ExtractImagesFromPage(0); // First page
// Extract all images from a PDF
PdfDocument pdf = PdfDocument.FromFile("document.pdf");
var images = pdf.ExtractAllImages();
foreach (var image in images)
{
// Save extracted images
image.SaveAs($"extracted_image_{images.IndexOf(image)}.png");
}
// Extract images from specific pages
var pageImages = pdf.ExtractImagesFromPage(0); // First page
Imports System
' Extract all images from a PDF
Dim pdf As PdfDocument = PdfDocument.FromFile("document.pdf")
Dim images = pdf.ExtractAllImages()
For Each image In images
' Save extracted images
image.SaveAs($"extracted_image_{images.IndexOf(image)}.png")
Next
' Extract images from specific pages
Dim pageImages = pdf.ExtractImagesFromPage(0) ' First page
라이선싱 및 가격 모델은 무엇인가요?
-
IronPDF: IronPDF는 한번의 구매 요구 사항을 가진 간단한 영구 라이선스를 제공합니다. 이 접근법은 지속적인 비용이나 오픈 소스 라이선스 요구 사항을 피할 수 있는 명확한 이점을 제공합니다. 라이브러리는 완벽한 지원 및 정기적인 업데이트를 포함합니다. 라이선스 검증은 자동화되어 있으며 다양한 배포 시나리오를 지원합니다.
- iTextSharp: iTextSharp는 AGPL 라이선스에 따라 운영되며, 오픈 소스 프로젝트에는 무료이지만 웹 애플리케이션용으로는 공개 소스 코드 공개가 필요합니다. 상업용 라이선스는 AGPL 제한을 회피합니다. 라이선스 모델은 클라우드 배포를 복잡하게 만들 수 있습니다.
PDF에 이미지를 추가하기 위해 어느 라이브러리를 선택해야 하나요?
IronPDF와 iTextSharp PDF 라이브러리 간의 기능 비교 표가 IronPDF의 사용 용이성, 성능, 라이선스 유연성, 완전한 이미지 형식 지원, 고급 포지셔닝 기능 등 Enterprise PDF 생성에 대한 장점을 보여줍니다 
IronPDF와 iTextSharp 모두 C#에서 PDF에 이미지를 추가하는 데 효과적인 도구를 제공하며, 각각 독특한 장점을 가지고 있습니다. IronPDF는 사용의 용이성, 성능, 그리고 라이선스 유연성을 통해 우수성을 발휘하여, 최소한의 코드로 복잡한 PDF와 이미지를 처리하는 데 이상적입니다. 대용량 PDF에 대해 더 나은 확장성을 제공하며, 반복 비용이나 복잡한 오픈 소스 제한 없이 일회 구매 라이선스를 제공합니다.
라이브러리가 SVG 및 WebP와 같은 최신 형식을 지원하고, 내장된 압축 기능과 직관적인 위치 지정 API와 결합하여 고품질 문서 생성이 필요한 기업 애플리케이션에 적합합니다. IronPDF의 Chrome 렌더링 엔진은 모든 플랫폼에서 픽셀 완벽한 출력을 보장합니다.
iTextSharp는 오픈 소스 프로젝트에 적합하지만, 동일한 결과를 위해 더 많은 코드가 필요하고 더 큰 PDF와 관련된 성능 문제에 직면할 수 있습니다. 하위 수준 API는 세밀한 제어를 제공하지만 개발 복잡성을 증가시킵니다. 이 라이브러리는 반응형 CSS 지원 및 JavaScript 렌더링과 같은 최신 기능이 부족합니다.
Enterprise 애플리케이션의 경우, IronPDF의 장점으로는 Docker 지원, AWS Lambda 호환성, 그리고 Azure Functions 통합이 포함됩니다. 라이브러리는 또한 규제 요구사항을 위한 PDF/A 준수 및 PDF/UA 접근성을 제공합니다.
PDF 이미지 처리를 간소화할 준비가 되셨습니까? IronPDF는 최소한의 코드로 PDF에 효율적으로 이미지를 추가할 수 있습니다. IronPDF를 사용해 보고 C# 프로젝트에서 간편한 이미지 통합을 경험해 보세요. 구현은 복잡성을 처리하여 시간을 절약하고 PDF 생성 워크플로우를 개선합니다. 전체 기능 세트를 탐색하고 PDF 작업을 간소화한 수천 명의 개발자에 합류하세요.
자주 묻는 질문
.NET 애플리케이션에서 PDF에 이미지를 어떻게 추가할 수 있습니까?
IronPDF의 ImageStamper 기능을 사용하여 PDF에 이미지를 추가할 수 있으며, 이는 배치 및 확장에 대한 정밀한 제어로 간편한 이미지 삽입을 가능하게 합니다.
대형 PDF 파일에 IronPDF를 사용할 때의 성능 이점은 무엇입니까?
IronPDF는 고성능으로 최적화되어 있으며, 특히 대형 PDF 파일과 고해상도 이미지를 효율적으로 처리하므로 서버 기반 애플리케이션에 적합합니다.
IronPDF는 PDF에 이미지 삽입 과정을 어떻게 간소화합니까?
IronPDF는 직관적인 API를 제공하여 PDF 문서 내 이미지 배치 및 확장을 최소한의 코드로 수행할 수 있어 개발자 생산성을 향상시킵니다.
IronPDF와 iTextSharp의 라이선스 모델 차이는 무엇입니까?
IronPDF는 반복되는 구독 비용 없이 일회성 구매로 영구 라이선스를 제공하며, iTextSharp은 오픈 소스 사용을 위한 AGPL 라이선스를 사용하고, 독점 프로젝트에는 상업적 옵션을 제공합니다.
IronPDF를 사용하여 PDF에 이미지를 추가하는 코드 예를 제공할 수 있습니까?
물론입니다! IronPDF의 PdfDocument 및 ImageStamper 클래스를 사용하여 몇 줄의 코드로 PDF에 이미지를 삽입할 수 있습니다. 이는 기사 내 예시에서 설명됩니다.
IronPDF와 iTextSharp 간의 이미지 배치 맞춤화 차이는 무엇입니까?
IronPDF는 정렬 및 오프셋 설정과 함께 간단한 이미지 배치 맞춤화를 제공하며, iTextSharp은 SetFixedPosition과 같은 메서드를 사용하여 이미지 위치에 대한 세부적인 제어를 제공합니다.
IronPDF와 iTextSharp 중에서 선택할 때 고려해야 할 핵심 요소는 무엇입니까?
IronPDF와 iTextSharp 중에서 선택하는 것은 사용 용이성, 대형 파일 처리 성능, 라이선싱 요구 사항과 같은 요소에 따라 달라집니다. IronPDF는 사용자 친화적인 접근 방식과 확장성을 높이 평가받으며, iTextSharp은 오픈 소스 프로젝트에 적합합니다.
왜 IronPDF가 고성능 서버 애플리케이션에 추천됩니까?
IronPDF의 아키텍처는 대형 문서 및 이미지를 효율적으로 처리하도록 설계되어 있으며, 이는 속도와 신뢰성을 요구하는 서버 애플리케이션의 탁월한 선택입니다.
PDF에 이미지를 추가할 때 일반적인 문제 해결 단계는 무엇입니까?
PDF에서 이미지 삽입 문제를 해결할 때 이미지 경로가 정확한지 확인하고 파일 액세스 권한을 확인하며 사용 중인 PDF 라이브러리가 지원하는 이미지 형식인지 확인해야 합니다.
IronPDF의 체험판은 개발자에게 어떻게 도움이 됩니까?
IronPDF의 체험판은 개발자가 기능을 탐색하고 PDF 이미지 삽입을 처리하는 능력을 시험할 수 있게 하여 C# 프로젝트에서 PDF 처리를 간소화하는 기회를 제공합니다.



