
C#에서 ZIP 파일 압축 해제하는 방법
Zip 파일은 여러 파일이나 디렉토리를 단일 Zip 아카이브 형식으로 압축하는 인기 있는 방법이며, 이를 추출하는 것은 많은 소프트웨어 애플리케이션에서 기본 작업입니다. C# 세계에서 IronZIP 네임스페이스를 사용하면 Zip 아카이브 작업이 쉽습니다. 이 글에서는 C#을 사용하여 Zip 파일을 압축 해제하는 방법과 사용 가능한 도구 및 기술에 대해 살펴보겠습니다.
데이터의 조직과 저장이 중요한 파일 시스템에서 파일을 원활하게 압축 해제할 수 있는 능력이 중요한 기술이 됩니다. 지정된 디렉토리 내의 모든 파일을 효과적으로 관리하기 위해 시스템을 효과적으로 사용하는 것이 원활한 작업에 필수적입니다. 이 문맥에서 강력한 도구 중 하나는 C#에서 압축된 파일의 효율적인 추출을 용이하게 하는 강력한 ZipArchive 클래스입니다. 이 기사에서는 ZipArchive 클래스를 활용하는 복잡성을 안내하고, 압축된 파일의 로컬 파일 헤더와 같은 필수 개념을 조명합니다.
필수 조건
IronZIP 및 IronPDF로 ZIP 파일 조작을 탐색하기 전에 다음 전제 조건이 충족되었는지 확인하십시오:
- Visual Studio: Visual Studio 또는 선택한 다른 C# 통합 개발 환경(IDE)을 설치하십시오.
- 기본적인 C# 지식: C# 프로그래밍 언어의 기본 개념을 익히십시오.
IronZIP Install-Package
IronZIP 여정을 시작하려면 프로젝트에 IronZIP NuGet 패키지를 신속하게 설치하십시오. NuGet 패키지 관리자 콘솔에서 다음 명령을 실행하세요:
또는 공식 IronZIP NuGet 웹사이트에서 패키지를 직접 다운로드하세요.
설치가 완료되면, using IronZIP 문장을 상단에 추가하여 C# 코드를 시작하십시오.
라이선스 키 적용
IronZIP에 대한 유효한 라이선스 키 또는 체험판 키가 있는지 확인하세요. 라이선스 클래스의 LicenseKey 속성에 할당하여 라이선스 키를 적용합니다. import 문 직후, IronZIP 메서드를 사용하기 전에 다음 코드를 포함시킵니다:
IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01";IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01"이 단계는 프로젝트에서 IronZIP의 모든 잠재력을 발휘하는 데 매우 중요합니다.
C#를 사용하여 Zip 파일 추출 또는 압축하기
다음 코드 샘플은 파일을 압축하거나 추출하려는 경우 C#에서 Zip 파일을 다루는 방법을 보여줍니다.
Extract a Zip file using C#
다음 코드 샘플은 IronZIP을 사용하여 파일을 새로운 디렉토리로 압축 해제합니다.
using IronZIP;
namespace CS_ZipArchive
{
internal class Program
{
public static void Main(string[] args)
{
// Extract the contents of "QRCode.zip" into the "Extracted QRCode" directory
IronArchive.ExtractArchiveToDirectory("QRCode.zip", "Extracted QRCode");
}
}
}Imports IronZIP
Namespace CS_ZipArchive
Friend Class Program
Public Shared Sub Main(ByVal args() As String)
' Extract the contents of "QRCode.zip" into the "Extracted QRCode" directory
IronArchive.ExtractArchiveToDirectory("QRCode.zip", "Extracted QRCode")
End Sub
End Class
End Namespace위의 코드는 C#에서 ZIP 아카이브를 다루기 위한 기능을 제공하는 IronZIP 라이브러리를 사용합니다. "QRCode.zip"이라는 ZIP 아카이브 파일의 내용을 추출하고, "Extracted QRCode"라는 디렉토리에 저장하는 것이 이 코드의 목적입니다. ExtractArchiveToDirectory() 메소드는 ZIP 아카이브의 내용을 추출하는 역할을 합니다. 이 메소드는 소스 파일과 목적지라는 두 개의 인자를 받습니다.

아카이브 파일 생성
C#에서 ZIP 파일을 만들기 위해, IronZIP 네임스페이스에 있는 IronArchive 클래스를 사용할 수 있습니다. 이 클래스는 ZIP 아카이브를 생성하고 그 안에 파일을 포함시키는 것을 간단하게 해줍니다. IronArchive를 사용하면 개발자는 C# 프로그램에서 ZIP 파일을 쉽게 작성할 수 있으며, 효율성을 높이고 파일 관리 프로세스를 간단하게 할 수 있습니다.
using IronZIP;
namespace CS_ZipArchive
{
internal class Program
{
static void Main(string[] args)
{
// Create a new ZIP file named "myPDFFiles.zip"
using (var archive = new IronArchive("myPDFFiles.zip"))
{
// Add files to the ZIP
archive.Add(@"E:\Files\file1.pdf");
archive.Add(@"E:\Files\file2.pdf");
archive.Add(@"D:\Invoices\Invoice.pdf");
}
}
}
}Imports IronZIP
Namespace CS_ZipArchive
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create a new ZIP file named "myPDFFiles.zip"
Using archive = New IronArchive("myPDFFiles.zip")
' Add files to the ZIP
archive.Add("E:\Files\file1.pdf")
archive.Add("E:\Files\file2.pdf")
archive.Add("D:\Invoices\Invoice.pdf")
End Using
End Sub
End Class
End Namespaceusing 문장은 IronArchive 클래스의 인스턴스와 연관된 범위 자원을 생성합니다. IronArchive 생성자는 "myPDFFiles.zip"이라는 이름의 새로운 ZIP 아카이브를 지정하는 인수로 호출됩니다. using 블록 내부에서 세 줄의 코드로 새롭게 생성된 아카이브에 파일을 추가합니다:
archive.Add(@"E:\Files\file1.pdf");archive.Add(@"E:\Files\file2.pdf");archive.Add(@"D:\Invoices\Invoice.pdf");
이 라인들은 지정된 PDF 파일을 "myPDFFiles.zip" 아카이브에 추가합니다. IronArchive 클래스는 IDisposable을 구현하기 때문에, 사용 구문은 코드 블록이 종료될 때 아카이브가 올바르게 닫히고 자원이 해제되도록 보장합니다.
이와 같은 방식으로, 이 프로그램은 "myPDFFiles.zip"이라는 ZIP 아카이브를 생성하고 그 안에 세 개의 PDF 파일을 추가합니다. IronZIP은 ZIP 파일을 매우 효율적으로 생성하고 추출하는 방법을 제공합니다.

기존 파일 시스템에서 새로운 Zip 아카이브 만들기
지정된 zip 파일로부터 새로운 zip 아카이브를 생성할 수 있습니다. 아래에 보이는 것처럼, 이미지를 비롯한 다양한 형식의 파일을 추가할 수 있습니다.
using IronZIP;
namespace CS_ZipArchive
{
internal class Program
{
static void Main(string[] args)
{
// Create a new ZIP file named "new PDF Files.zip" by extracting content from "myPDFFiles.zip"
using (var archive = IronArchive.FromFile("myPDFFiles.zip", "new PDF Files.zip"))
{
// Add files to the archive
archive.Add(@"D:\Invoices\Image1.png");
archive.Add(@"D:\Invoices\PDF3.pdf");
}
}
}
}Imports IronZIP
Namespace CS_ZipArchive
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create a new ZIP file named "new PDF Files.zip" by extracting content from "myPDFFiles.zip"
Using archive = IronArchive.FromFile("myPDFFiles.zip", "new PDF Files.zip")
' Add files to the archive
archive.Add("D:\Invoices\Image1.png")
archive.Add("D:\Invoices\PDF3.pdf")
End Using
End Sub
End Class
End Namespace이 C# 코드 스니펫은 IronArchive를 활용하여 기존 ZIP 파일 "myPDFFiles.zip"에서 내용을 추출하여 "new PDF Files.zip"이라는 새로운 ZIP 파일을 만듭니다. using 블록 내에서 "Image1.png"와 "PDF3.pdf"와 같은 파일이 새로운 ZIP 아카이브에 추가됩니다. 코드는 IronArchive를 사용하여 하나의 아카이브에서 다른 아카이브로 특정 파일을 효율적으로 추출하고 추가합니다.
Compressing PDF Files in C#
C#에서는 어떤 서드파티 라이브러리를 사용하여도 PDF 파일을 쉽게 압축할 수 있으며, 이 작업을 위해 가장 효율적인 도구 중 하나가 IronPDF입니다. 압축 알고리즘은 PDF 문서의 크기를 줄이면서도 품질을 유지할 수 있도록 합니다.
IronPDF 소개합니다
IronPDF는 C# 라이브러리로, 개발자들이 .NET Framework 응용 프로그램에서 PDF 파일을 매끄럽게 다룰 수 있도록 도와줍니다. 압축 기능 외에도 다양한 PDF 생성, 조작, 변환 등 기능을 제공합니다. 이런 유연성 덕분에 다양한 PDF 관련 작업에 필수적인 도구가 됩니다. 처음부터 PDF를 만들거나 HTML 데이터를 PDF로 변환하거나 다른 PDF 작업을 할 때, IronPDF는 전체 프로세스를 간단하게 하여 C# 개발자의 생산성을 높여줍니다.
IronPDF NuGet Install-Package
IronPDF를 프로젝트에 통합하려면 IronPDF를 설치하는 다음 명령을 실행하세요.
이 명령은 설치 프로세스를 간소화하고 프로젝트에 필요한 종속성을 추가하여 원활한 통합을 보장합니다.
Write Code to Compress PDF File in C#
제공된 C# 코드 스니펫에서는 PDF 압축에 초점을 맞추고 있습니다.
using IronPdf;
public static void CompressPdf()
{
// Open the PDF document located at D:\SamplePDFFile.pdf
var pdf = new PdfDocument(@"D:\SamplePDFFile.pdf");
// Compress the images in the PDF document to 60% of their original quality
pdf.CompressImages(60);
// Save the compressed PDF as a new file
pdf.SaveAs(@"D:\CompressedPDF.pdf");
}Imports IronPdf
Public Shared Sub CompressPdf()
' Open the PDF document located at D:\SamplePDFFile.pdf
Dim pdf As New PdfDocument("D:\SamplePDFFile.pdf")
' Compress the images in the PDF document to 60% of their original quality
pdf.CompressImages(60)
' Save the compressed PDF as a new file
pdf.SaveAs("D:\CompressedPDF.pdf")
End Sub위의 C# 코드에서 "SamplePDFFile.pdf"라는 이름의 PDF 문서를 열었습니다; 그 안의 이미지는 원래 품질의 60%로 압축되었습니다. 압축된 PDF 파일은 지정된 폴더 위치에 "CompressedPDF.pdf"로 저장됩니다.

또한, System 네임스페이스(using System)를 사용할 수 있습니다. 이 네임스페이스는 C# 애플리케이션의 기본 기능에 필요한 클래스와 메소드를 제공합니다. 압축 파일을 처리할 때, System.IO.Compression 네임스페이스의 일부인 ZipArchive 클래스를 사용하여 원활한 압축 파일의 추출 및 조작이 가능하며, 압축된 데이터를 효과적으로 처리할 수 있습니다. 이 PDF 압축 예제의 맥락에서 System 네임스페이스와 IronPDF 라이브러리를 이해하고 활용하는 것은 ZIP 파일, gz 파일 또는 PDF와 같은 다양한 파일 형식을 관리하는 C#의 유연성과 강력을 보여줍니다.
결론
결론적으로, 강력한 IronZIP 및 IronPDF 라이브러리의 강력한 기능 덕분에 C#에서 zip 파일 조작 및 PDF 압축 영역을 쉽게 탐색할 수 있습니다. 이 기사는 zip 아카이브에서 파일 추출, 새 아카이브 생성, PDF 파일 압축에 대한 통찰력을 제공하여, C# 개발에서 이러한 라이브러리의 다양성과 효율성을 보여주었습니다. 설명된 절차를 준수하고 IronZIP 및 IronPDF 패키지를 통합함으로써 개발자는 파일 관리, 동적 ZIP 아카이브 생성, 효과적인 PDF 압축을 통해 응용 프로그램을 발전시킬 수 있습니다. 이러한 라이브러리는 가치 있는 자산으로서 개발자가 복잡한 작업을 쉽게 처리할 수 있도록 하며, 궁극적으로 파일 처리 및 압축 분야에서 C# 응용 프로그램의 전체 기능을 향상시킵니다. Iron Software가 제공하는 30일 체험판은 위험 부담 없이 그 기능을 탐색할 기회를 제공하여 특정 프로젝트에 적합한지를 쉽게 결정할 수 있게 합니다. IronZIP 및 IronPDF의 모든 기능을 탐색한 후 라이선스를 구매할 수 있습니다.

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


