IronPDF를 사용하여 C#에서 PDF 첨부 파일을 추가하고 제거하는 방법
IronPDF는 AddAttachment() 및 RemoveAttachment()와 같은 간단한 C# 메서드를 사용하여 프로그래밍 방식으로 PDF 문서에서 파일 첨부 파일을 추가, 검색 및 제거할 수 있으며, 이를 통해 PDF에 보조 파일을 직접 포함할 수 있습니다.
PDF 문서의 첨부 파일은 PDF 파일 자체에 포함된 파일 또는 추가 데이터를 의미합니다. 이는 PDF를 볼 때 보이는 텍스트, 이미지 및 서식을 포함하는 일반적인 PDF 콘텐츠와는 구별됩니다. 이러한 첨부 파일은 이미지, 문서, 스프레드시트 또는 기타 형식을 포함하여 다양한 파일 형식을 가질 수 있습니다. 일반적으로 첨부 파일은 사용자가 PDF를 열었을 때 접근할 수 있는 추가 참고 자료 또는 보충 데이터를 제공하는 데 사용됩니다. 이 기능은 포괄적인 PDF 보고서를 작성 하거나 여러 PDF 파일과 관련 문서를 병합 해야 할 때 특히 유용합니다.
빠른 시작: PDF에 첨부 파일 추가
IronPDF를 사용하여 PDF 문서에 첨부 파일을 추가하세요. 이 간단한 예시는 PDF에 파일을 첨부 파일로 삽입하는 방법을 보여줍니다. 기존 PDF를 로드하고 AddAttachment 메서드를 사용한 다음 업데이트된 문서를 저장하십시오. 이 과정을 통해 추가 자료가 PDF 파일에 포함되어 모든 PDF 뷰어에서 바로 접근할 수 있게 됩니다.
-
NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronPdf 설치하기
PM > Install-Package IronPdf -
다음 코드 조각을 복사하여 실행하세요.
var pdf = IronPdf.PdfDocument.FromFile("example.pdf"); pdf.Attachments.AddAttachment("file.txt", System.IO.File.ReadAllBytes("file.txt")); pdf.SaveAs("updated.pdf"); -
실제 운영 환경에서 테스트할 수 있도록 배포하세요.
무료 체험판으로 오늘 프로젝트에서 IronPDF 사용 시작하기
최소 워크플로우(5단계)
- NuGet에서 IronPDF C# 라이브러리를 다운로드하세요.
- 기존 PDF 파일을 불러오거나 새 PDF 파일을 생성합니다.
- File.ReadAllBytes를 사용하여 파일을 **byte[]** 배열로 가져옵니다.
- `AddAttachment` 사용하여 PDF에 첨부하세요.
- `RemoveAttachment` 사용하여 첨부 파일을 제거합니다.
PDF 파일에 파일을 첨부하려면 어떻게 해야 하나요?
첨부 파일로 파일을 추가하려면 먼저 byte[]로 로드하십시오. 이 작업을 수행하는 가장 쉬운 방법은 File.ReadAllBytes 메서드를 사용하는 것입니다. 파일을 byte[]로 로드한 후 AddAttachment 메서드를 사용하여 객체를 첨부 파일로 PDF에 추가하십시오:
:path=/static-assets/pdf/content-code-examples/how-to/add-remove-attachments-add-attachment.cs
using IronPdf;
using System.IO;
// Import attachment file
byte[] fileData = File.ReadAllBytes(@"path/to/file");
// Open existing PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Add attachment to the PDF
pdf.Attachments.AddAttachment("Example", fileData);
pdf.SaveAs("addAttachment.pdf");
Imports IronPdf
Imports System.IO
' Import attachment file
Private fileData() As Byte = File.ReadAllBytes("path/to/file")
' Open existing PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Add attachment to the PDF
pdf.Attachments.AddAttachment("Example", fileData)
pdf.SaveAs("addAttachment.pdf")
AddAttachment 함수는 나중에 참조하거나 필요에 따라 제거할 수 있는 PdfAttachment 객체를 출력합니다. 이 접근 방식은 PDF에 이미지를 추가 하거나 다른 PDF 자산을 관리하는 방식과 유사합니다.
PDF 파일을 저장한 후에는 PDF 뷰어의 도구 모음에서 첨부 파일을 열 수 있습니다. 아래 이미지는 Google Chrome의 PDF 뷰어에서 이 기능을 찾는 방법을 보여줍니다.

거기서 해당 파일을 클릭하여 첨부 파일을 저장소에 저장할 수 있습니다.
PDF에 어떤 파일 형식을 첨부할 수 있나요?
IronPDF는 사실상 모든 파일 형식을 PDF 문서에 첨부할 수 있도록 지원합니다. 일반적인 첨부 파일 유형은 다음과 같습니다.
- 오피스 문서 (DOCX, XLSX, PPTX)
- 이미지 (JPG, PNG, GIF, SVG)
- 텍스트 파일(TXT, CSV, XML)
- 압축 파일(ZIP, RAR)
- 기타 PDF 파일
첨부 시스템은 바이너리 데이터를 사용하므로 바이트로 읽을 수 있는 모든 파일을 첨부할 수 있습니다. 특정 문서 유형을 다룰 때는 IronPDF에 내장된 변환 기능(예: DOCX를 PDF로 변환 하거나 이미지를 PDF로 변환하는 기능) 을 활용하는 것도 고려해 볼 수 있습니다.
PDF 뷰어에서 첨부 파일은 어디에 표시되나요?
PDF 뷰어마다 첨부 파일을 표시하는 위치가 다릅니다.
- Adobe Acrobat : 탐색 창에 클립 아이콘이 표시됩니다.
- Chrome PDF 뷰어 : 클릭하면 왼쪽 사이드바에 첨부 파일을 표시합니다.
- Firefox PDF 뷰어 : 첨부 파일을 전용 패널에 표시합니다.
- 마이크로소프트 엣지 : Chrome과 유사하며, 사이드바 첨부 파일 보기 기능을 제공합니다.
대부분의 최신 PDF 뷰어는 첨부 파일을 지원하지만, 애플리케이션마다 인터페이스가 약간씩 다를 수 있습니다.
PDF 첨부 파일을 추가한 후 PDF 첨부 파일에는 어떤 변화가 발생하나요?
AddAttachment()를 호출하면 IronPDF는 다음을 포함하는 PdfAttachment 객체를 생성합니다:
- 이름 : 첨부 파일의 표시 이름
- 데이터 : 첨부 파일의 바이너리 콘텐츠
- 설명 : 첨부 파일에 대한 선택적 메타데이터
이 객체는 PDF의 내부 첨부 파일 컬렉션에 추가되며 명시적으로 제거될 때까지 Attachments 속성을 통해 접근할 수 있습니다.
기존 PDF 파일에서 첨부 파일을 어떻게 가져올 수 있나요?
PDF에 첨부된 파일은 PdfDocument 객체의 Attachments 속성에 접근하여 바이너리 데이터로 가져올 수 있습니다. 바이너리 데이터를 사용하면 PDF에서 첨부 파일을 각각의 파일 형식으로 내보낼 수 있습니다.
:path=/static-assets/pdf/content-code-examples/how-to/add-remove-attachments-retrieve-attachment.cs
using IronPdf;
using System.IO;
// Open existing PDF
PdfDocument pdf = PdfDocument.FromFile("addAttachment.pdf");
// Iterate through all attachments
foreach (var attachment in pdf.Attachments)
{
if (attachment.Name.Contains("Example"))
{
// Save byte to file
File.WriteAllBytes($"{attachment.Name}.doc", attachment.Data);
}
}
Imports IronPdf
Imports System.IO
' Open existing PDF
Private pdf As PdfDocument = PdfDocument.FromFile("addAttachment.pdf")
' Iterate through all attachments
For Each attachment In pdf.Attachments
If attachment.Name.Contains("Example") Then
' Save byte to file
File.WriteAllBytes($"{attachment.Name}.doc", attachment.Data)
End If
Next attachment
이 과정은 PDF에서 콘텐츠를 추출 하거나 첨부된 문서를 프로그램 방식으로 처리해야 할 때 특히 유용합니다.
PDF 파일에 있는 여러 첨부 파일을 어떻게 열 수 있나요?
Attachments 속성은 LINQ를 사용하여 반복하거나 쿼리할 수 있는 컬렉션을 반환합니다.
// Get all attachments as a list
var allAttachments = pdf.Attachments.ToList();
// Filter attachments by size (e.g., files larger than 1MB)
var largeAttachments = pdf.Attachments
.Where(a => a.Data.Length > 1024 * 1024)
.ToList();
// Find specific attachment by exact name
var specificAttachment = pdf.Attachments
.FirstOrDefault(a => a.Name == "report.xlsx");
// Get all attachments as a list
var allAttachments = pdf.Attachments.ToList();
// Filter attachments by size (e.g., files larger than 1MB)
var largeAttachments = pdf.Attachments
.Where(a => a.Data.Length > 1024 * 1024)
.ToList();
// Find specific attachment by exact name
var specificAttachment = pdf.Attachments
.FirstOrDefault(a => a.Name == "report.xlsx");
' Get all attachments as a list
Dim allAttachments = pdf.Attachments.ToList()
' Filter attachments by size (e.g., files larger than 1MB)
Dim largeAttachments = pdf.Attachments _
.Where(Function(a) a.Data.Length > 1024 * 1024) _
.ToList()
' Find specific attachment by exact name
Dim specificAttachment = pdf.Attachments _
.FirstOrDefault(Function(a) a.Name = "report.xlsx")
검색된 첨부 파일에서 사용할 수 있는 속성은 무엇입니까?
각 PdfAttachment 객체는 다음을 제공합니다.
- 이름 : 첨부 파일의 표시 이름
- 데이터 : 바이트 배열 형태의 바이너리 콘텐츠
- 설명 : 선택 사항인 설명 메타데이터(설정된 경우)
이러한 속성을 사용하여 요구 사항에 따라 첨부 파일을 식별, 필터링 및 처리할 수 있습니다.
첨부파일을 이름이나 유형별로 필터링하려면 어떻게 해야 하나요?
첨부 파일은 표시 이름과 함께 저장되므로 문자열 연산을 사용하여 필터링할 수 있습니다.
// Filter by file extension (assuming names include extensions)
var imageAttachments = pdf.Attachments
.Where(a => a.Name.EndsWith(".jpg") ||
a.Name.EndsWith(".png") ||
a.Name.EndsWith(".gif"))
.ToList();
// Filter by name pattern
var reportsOnly = pdf.Attachments
.Where(a => a.Name.StartsWith("Report_"))
.ToList();
// Filter by file extension (assuming names include extensions)
var imageAttachments = pdf.Attachments
.Where(a => a.Name.EndsWith(".jpg") ||
a.Name.EndsWith(".png") ||
a.Name.EndsWith(".gif"))
.ToList();
// Filter by name pattern
var reportsOnly = pdf.Attachments
.Where(a => a.Name.StartsWith("Report_"))
.ToList();
' Filter by file extension (assuming names include extensions)
Dim imageAttachments = pdf.Attachments _
.Where(Function(a) a.Name.EndsWith(".jpg") OrElse _
a.Name.EndsWith(".png") OrElse _
a.Name.EndsWith(".gif")) _
.ToList()
' Filter by name pattern
Dim reportsOnly = pdf.Attachments _
.Where(Function(a) a.Name.StartsWith("Report_")) _
.ToList()
PDF 파일에서 첨부 파일을 제거하려면 어떻게 해야 하나요?
첨부 파일을 제거하려면 RemoveAttachment 함수를 사용하십시오. 이 메서드는 첨부 파일에 대한 참조를 필요로 하며, 이 참조는 Attachments 속성에서 가져올 수 있습니다. 위에서 저장한 파일을 사용하여 이 작업을 수행하는 방법은 다음과 같습니다.
:path=/static-assets/pdf/content-code-examples/how-to/add-remove-attachments-remove-attachment.cs
using IronPdf;
using System.Linq;
// Open existing PDF
PdfDocument pdf = PdfDocument.FromFile("addAttachment.pdf");
// Add attachment to the PDF
PdfAttachmentCollection retrieveAttachments = pdf.Attachments;
// Remove attachment from PDF
pdf.Attachments.RemoveAttachment(retrieveAttachments.First());
pdf.SaveAs("removeAttachment.pdf");
Imports IronPdf
Imports System.Linq
' Open existing PDF
Private pdf As PdfDocument = PdfDocument.FromFile("addAttachment.pdf")
' Add attachment to the PDF
Private retrieveAttachments As PdfAttachmentCollection = pdf.Attachments
' Remove attachment from PDF
pdf.Attachments.RemoveAttachment(retrieveAttachments.First())
pdf.SaveAs("removeAttachment.pdf")
첨부 파일을 제거하고 PDF 뷰어에서 해당 파일을 열면 첨부 파일이 더 이상 나타나지 않는 것을 확인할 수 있습니다.

첨부 파일을 제거하면 어떻게 되나요?
첨부 파일을 제거할 때:
- 첨부 파일 데이터가 PDF 파일에서 완전히 제거되었습니다.
- 파일 크기는 삭제된 첨부 파일의 크기만큼 줄어듭니다.
- PDF 구조 내에서 해당 첨부 파일을 참조하는 모든 부분이 삭제됩니다.
- PDF를 저장하면 변경 사항이 영구적으로 적용됩니다.
여러 개의 첨부 파일을 한 번에 삭제할 수 있나요?
네, 한 번에 여러 첨부 파일을 삭제할 수 있습니다. 다음은 예시입니다.
// Remove all attachments that match a pattern
var attachmentsToRemove = pdf.Attachments
.Where(a => a.Name.StartsWith("temp_"))
.ToList();
foreach (var attachment in attachmentsToRemove)
{
pdf.Attachments.RemoveAttachment(attachment);
}
// Or remove all attachments at once
while (pdf.Attachments.Count > 0)
{
pdf.Attachments.RemoveAttachment(pdf.Attachments.First());
}
// Remove all attachments that match a pattern
var attachmentsToRemove = pdf.Attachments
.Where(a => a.Name.StartsWith("temp_"))
.ToList();
foreach (var attachment in attachmentsToRemove)
{
pdf.Attachments.RemoveAttachment(attachment);
}
// Or remove all attachments at once
while (pdf.Attachments.Count > 0)
{
pdf.Attachments.RemoveAttachment(pdf.Attachments.First());
}
Imports System.Linq
' Remove all attachments that match a pattern
Dim attachmentsToRemove = pdf.Attachments _
.Where(Function(a) a.Name.StartsWith("temp_")) _
.ToList()
For Each attachment In attachmentsToRemove
pdf.Attachments.RemoveAttachment(attachment)
Next
' Or remove all attachments at once
While pdf.Attachments.Count > 0
pdf.Attachments.RemoveAttachment(pdf.Attachments.First())
End While
첨부 파일이 제대로 삭제되었는지 어떻게 확인할 수 있나요?
첨부파일 삭제 여부는 여러 가지 방법으로 확인할 수 있습니다.
// Check the attachment count
int attachmentCountBefore = pdf.Attachments.Count;
pdf.Attachments.RemoveAttachment(targetAttachment);
int attachmentCountAfter = pdf.Attachments.Count;
// Verify the count decreased
if (attachmentCountAfter < attachmentCountBefore)
{
Console.WriteLine("Attachment successfully removed");
}
// Check if specific attachment exists
bool attachmentExists = pdf.Attachments
.Any(a => a.Name == "specificFile.txt");
// Check the attachment count
int attachmentCountBefore = pdf.Attachments.Count;
pdf.Attachments.RemoveAttachment(targetAttachment);
int attachmentCountAfter = pdf.Attachments.Count;
// Verify the count decreased
if (attachmentCountAfter < attachmentCountBefore)
{
Console.WriteLine("Attachment successfully removed");
}
// Check if specific attachment exists
bool attachmentExists = pdf.Attachments
.Any(a => a.Name == "specificFile.txt");
' Check the attachment count
Dim attachmentCountBefore As Integer = pdf.Attachments.Count
pdf.Attachments.RemoveAttachment(targetAttachment)
Dim attachmentCountAfter As Integer = pdf.Attachments.Count
' Verify the count decreased
If attachmentCountAfter < attachmentCountBefore Then
Console.WriteLine("Attachment successfully removed")
End If
' Check if specific attachment exists
Dim attachmentExists As Boolean = pdf.Attachments _
.Any(Function(a) a.Name = "specificFile.txt")
PDF 첨부 파일 관련 모범 사례
IronPDF에서 PDF 첨부 파일을 다룰 때는 다음과 같은 모범 사례를 고려하십시오.
- 파일 크기 관리 : 첨부 파일 크기는 PDF 파일 크기를 직접적으로 증가시키므로 첨부 파일 크기에 유의해야 합니다.
- 명명 규칙 : 사용자가 첨부 파일을 쉽게 식별할 수 있도록 명확하고 설명적인 이름을 사용하십시오.
- 보안 고려 사항 : 민감한 첨부 파일을 처리할 때는 PDF 암호 및 권한 설정을 고려하십시오.
- 성능 : 대용량 첨부 파일이나 파일 수가 많은 경우, 애플리케이션 응답성을 유지하기 위해 비동기 작업을 사용하는 것을 고려하십시오.
당신이 할 수 있는 다른 일들을 알아볼 준비가 되셨나요? PDF 정리하기 튜토리얼 페이지는 여기에서 확인하세요.
자주 묻는 질문
C#에서 PDF에 파일 첨부를 프로그래밍 방식으로 추가하는 방법은 무엇인가요?
IronPDF는 PDF에 파일을 삽입하는 간단한 AddAttachment() 메서드를 제공합니다. 먼저 File.ReadAllBytes()를 사용하여 파일을 바이트 배열로 불러온 다음, PdfDocument 객체에서 AddAttachment 메서드를 사용합니다. 이 메서드는 파일 이름과 바이트 배열을 매개변수로 받습니다.
PDF 파일에는 어떤 종류의 파일을 첨부할 수 있나요?
IronPDF를 사용하면 이미지, 문서, 스프레드시트 등 다양한 파일 형식을 PDF에 첨부할 수 있습니다. 이러한 첨부 파일은 PDF 파일에 직접 포함되며 모든 표준 PDF 뷰어의 첨부 파일 패널을 통해 액세스할 수 있습니다.
기존 PDF 파일을 불러와 첨부 파일을 추가하려면 어떻게 해야 하나요?
IronPDF의 PdfDocument.FromFile() 메서드를 사용하여 기존 PDF 파일을 불러올 수 있습니다. 불러온 후에는 Attachments 속성을 사용하여 첨부 파일을 관리할 수 있으며, AddAttachment() 메서드를 사용하여 새 첨부 파일을 추가하거나 기존 첨부 파일을 제거할 수 있습니다.
PDF 콘텐츠와 PDF 첨부 파일의 차이점은 무엇인가요?
PDF 콘텐츠에는 PDF를 볼 때 보이는 텍스트, 이미지 및 서식이 포함됩니다. 첨부 파일은 PDF 내에 포함된 별도의 파일로, 기본 문서 보기에는 표시되지 않습니다. IronPDF에서는 PDF 뷰어의 첨부 파일 패널을 통해 첨부 파일에 접근할 수 있으며, 이는 보충 자료로 사용됩니다.
PDF 파일에서 첨부 파일을 어떻게 제거할 수 있나요?
IronPDF는 PDF에서 삽입된 파일을 프로그래밍 방식으로 제거하는 RemoveAttachment() 메서드를 제공합니다. AddAttachment 함수는 나중에 제거 작업에 참조할 수 있는 PdfAttachment 객체를 반환합니다.
PDF 뷰어에서 사용자는 첨부 파일을 어디에서 찾을 수 있나요?
IronPDF를 사용하여 첨부 파일을 추가한 후에는 PDF 뷰어의 도구 모음을 통해 해당 첨부 파일에 접근할 수 있습니다. Google Chrome의 내장 뷰어를 포함한 대부분의 PDF 뷰어는 내장 파일을 열거나 저장할 수 있는 첨부 파일 아이콘 또는 패널을 표시합니다.

