IronPDF 사용하여 C#에서 PDF를 압축하는 방법
IronPDF C#으로 구현된 강력한 PDF 압축 기능을 제공하여 내장된 이미지를 압축하고 PDF 트리 구조를 최적화함으로써 파일 크기를 줄여 문서 품질을 유지하면서 저장 및 공유를 더욱 용이하게 해줍니다.
PDF 압축은 PDF 문서의 파일 크기를 줄여 저장, 공유 및 전송을 더욱 용이하게 합니다. HTML에서 생성된 PDF를 사용하든 기존 PDF 파일을 사용하든, 문서 처리를 최적화하려면 압축이 필수적입니다.
일반적으로 PDF 파일 크기의 대부분은 이미지로 구성됩니다. IronPDF 내장 이미지 크기를 줄이고 표가 많은 PDF에서 흔히 볼 수 있는 트리 구조를 최적화하는 압축 기능을 제공합니다. 이러한 기술은 URL을 PDF로 변환 하거나 HTML 파일을 변환하는 등 다양한 방법을 통해 생성된 PDF와 완벽하게 호환됩니다.
빠른 시작: IronPDF로 PDF 압축하여 파일 크기 줄이기
IronPDF의 압축 도구를 사용하여 PDF 파일 크기를 줄이세요. PDF 파일을 PdfDocument.FromFile로 불러온 다음 CompressAndSaveAs를 호출하여 최적화된 PDF 파일을 한 번에 압축 및 저장하세요. 이 과정을 통해 파일 크기를 크게 줄이면서도 품질을 유지할 수 있습니다.
최소 워크플로우 (3단계)
- NuGet 에서 PDF 압축용 C# 라이브러리를 다운로드하세요.
- 기존 PDF 파일을 가져오거나 새 PDF 파일을 생성합니다.
CompressAndSaveAs(outputPath, quality, removeStructureTree)를 호출하여 이미지를 압축하고 구조 트리를 선택적으로 제거한 다음 저장하세요. — 모든 것을 한 단계에서 수행할 수 있습니다.
CompressImages, CompressStructTree, Compress(CompressionOptions)와 같은 이전 압축 방식은 더 이상 사용되지 않습니다.
PDF 파일에서 이미지를 압축하는 방법은 무엇인가요?
JPEG 압축 품질은 0(최대 압축)에서 100(최소 손실)까지의 값을 허용하며, 해당 값이 적용되는 방식은 기본 엔진에 따라 결정됩니다. 이러한 레벨을 이해하면 이미지가 포함된 PDF 파일을 다루거나 글꼴 및 그래픽을 관리 해야 할 때 도움이 됩니다.
- 90% 이상: 고품질
- 80~90%: 중간 품질
- 70~80%: 낮은 품질
다양한 값을 조정하여 화질과 파일 크기의 균형을 맞춰보세요. 화질 저하는 입력 이미지 유형에 따라 다르며, 이미지 종류에 따라 선명도 손실이 더 두드러지게 나타납니다. 이는 특히 Azure Blob Storage의 이미지를 사용하거나 사용자 지정 워터마크가 포함된 PDF를 만들 때 중요합니다.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-image.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Compress images in the PDF
pdf.CompressAndSaveAs("compressed.pdf", 40);
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Compress images in the PDF
pdf.CompressAndSaveAs("compressed.pdf", 40)
이미지 압축을 통해 어떤 결과를 기대할 수 있을까요?
39.24% 할인!
품질 매개변수는 어떻게 작동합니까?
CompressAndSaveAs의 quality 매개변수는 내장된 모든 이미지에 적용되는 JPEG 인코딩 품질을 제어합니다. 0(최대 압축, 최저 품질)부터 100(최소 압축, 최고 품질)까지의 정수를 전달하거나, null를 전달하면 이미지 압축을 완전히 건너뛸 수 있습니다.
IronPDF는 압축 중에 자동으로 이미지를 다시 인코딩하고 크기를 조정하므로 추가 옵션이 필요하지 않습니다. 값이 낮을수록 파일 크기가 작아지지만 눈에 보이는 아티팩트가 나타날 수 있습니다. 콘텐츠에 적합한 균형을 찾기 위해 실험해 보세요.
PDF 트리 구조를 압축하는 방법은 무엇인가요?
이 기능은 Chrome 엔진에서 생성한 트리 구조를 제거하여 PDF 크기를 줄입니다. 이 기능을 활성화하려면 CompressAndSaveAs의 세 번째 매개변수로 removeStructureTree: true를 전달하십시오. Chrome 엔진으로 생성된 광범위한 테이블 데이터를 포함한 PDF에 가장 효과적입니다. 일부 렌더링 엔진은 이러한 구조 없이 PDF를 출력하므로, 그런 경우에는 이 기능이 효과가 없습니다. 이 기술은 복잡한 레이아웃을 다루거나 구조적 요소가 중복되는 여러 PDF 파일을 병합 할 때 유용합니다.
트리 구조를 제거하면 텍스트 강조 표시 및 추출 효율성에 영향을 미칠 수 있습니다. 압축을 적용할 때, 특히 사용자가 압축된 PDF에서 텍스트와 이미지를 추출 해야 하는 경우 이러한 장단점을 고려해야 합니다.
Test CompressAndSaveAs with tree structure removal using this PDF with table data.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-tree-structure.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("table.pdf");
// Compress tree structure in PDF
pdf.CompressAndSaveAs("compressedTable.pdf", null, true);
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("table.pdf")
' Compress tree structure in PDF
pdf.CompressAndSaveAs("compressedTable.pdf", Nothing, True)
트리 구조 압축을 통해 파일 크기를 얼마나 줄일 수 있을까요?
67.90% 할인! 이 비율은 표가 포함된 PDF 파일의 크기가 커질수록 증가합니다.
두 가지 압축 방법을 동시에 적용하려면 어떻게 해야 할까요?
CompressAndSaveAs는 단일 호출로 이미지 및 트리 구조 압축을 모두 처리합니다. quality 값을 전달하고 removeStructureTree를 true로 설정합니다. 이러한 결합 방식은 차트가 포함된 보고서나 표와 그래픽이 내장된 문서와 같이 이미지와 구조화된 데이터가 포함된 복잡한 PDF 파일에 특히 효과적입니다.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-compress.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Configure compression with automatic optimization
pdf.CompressAndSaveAs("compressed.pdf", 80, true);
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Configure compression with automatic optimization
pdf.CompressAndSaveAs("compressed.pdf", 80, True)
CompressAndSaveAs는 어떤 매개변수를 수용합니까?
-
outputPath(문자열): 압축된 PDF 파일이 저장될 파일 경로입니다. -
quality(int?, 0–100): 모든 내장 이미지에 JPEG 품질이 적용됩니다. 낮은 값은 더 작은 파일을 만듭니다. 이미지 압축을 완전히 건너뛰려면null를 전달하세요. removeStructureTree(bool, 기본값false):true일 때 PDF 구조 트리를 제거하여 파일 크기를 더욱 줄입니다. 테이블이 포함된 HTML로 생성된 PDF에 가장 효과적입니다.
압축을 적용할 때는 사용 사례를 고려하십시오. 보관 목적상 파일 크기보다 품질이 우선시될 수 있습니다. 웹 배포의 경우 더 작은 파일이 필요할 수 있습니다. PDF/A 규격 문서를 사용하는지 또는 표준 PDF 문서를 사용하는지에 따라 설정을 세부적으로 조정하십시오.
PDF 파일을 디스크에 저장하지 않고 압축하는 방법은 무엇인가요?
API 응답, 클라우드 함수 또는 이메일 첨부 파일과 같은 많은 실제 시나리오에서 압축된 PDF를 디스크에 저장하는 것은 불필요하거나 비현실적입니다.
CompressPdfToBytes는 압축된 PDF를 바이트 배열로 반환하므로 출력 저장 또는 전송 방식을 완벽하게 제어할 수 있습니다. CompressPdfToBytes와 CompressPdfToStream 모두 압축 방식을 제어하는 선택적 CompressionMode 매개변수를 허용합니다.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-to-bytes.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Compress and return as byte array
byte[] compressedBytes = pdf.CompressPdfToBytes();
File.WriteAllBytes("compressed.pdf", compressedBytes);
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Compress and return as byte array
Dim compressedBytes As Byte() = pdf.CompressPdfToBytes()
File.WriteAllBytes("compressed.pdf", compressedBytes)
사용 가능한 압축 모드 옵션에는 어떤 것들이 있습니까?
배포 환경에 따라 디스크 액세스 및 성능에 대한 제약 조건이 다릅니다. CompressionMode 열거형을 사용하면 적절한 절충안을 선택할 수 있습니다.
-
Automatic(기본값): 시스템 성능에 따라 최적의 압축 방식을 선택합니다. 디스크 접근이 제한된 경우HighQuality를 먼저 시도하고FastMemory로 되돌아갑니다. -
FastMemory: 디스크 I/O 없이 메모리에서만 압축을 수행합니다. 가장 빠른 옵션이지만 이미지 리샘플링이나 다운샘플링을 적용하지 않으므로 출력 파일 크기가 커집니다. HighQuality: 임시 디스크 접근을 사용하여 최대 압축을 적용합니다. 이미지 최적화를 완벽하게 수행하여 가장 작은 출력 파일을 생성합니다. 시스템 임시 디렉터리에 대한 쓰기 권한이 필요합니다.
바이트 배열 대신 Stream가 필요한 경우 CompressPdfToStream를 사용하십시오. 이는 HTTP 응답, 클라우드 스토리지 업로드 또는 스트림 기반 워크플로로 직접 연결할 때 유용합니다.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-to-stream.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Compress and return as Stream
using var compressedStream = pdf.CompressPdfToStream();
File.WriteAllBytes("compressed.pdf", compressedStream.ToArray());
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Compress and return as Stream
Using compressedStream = pdf.CompressPdfToStream()
File.WriteAllBytes("compressed.pdf", compressedStream.ToArray())
End Using
CompressPdfToBytes 및 CompressPdfToStream는 이제 Java, Node.js 및 Python을 포함한 모든 IronPDF 플랫폼에서 사용할 수 있습니다.
당신이 할 수 있는 다른 일들을 알아볼 준비가 되셨나요? 추가 기능에 대한 자세한 내용 은 여기 튜토리얼 페이지를 참조하세요.
자주 묻는 질문
PDF 파일 크기를 압축을 통해 얼마나 줄일 수 있을까요?
IronPDF는 이미지 압축 및 구조 최적화를 통해 PDF 파일 크기를 최대 75%까지 줄일 수 있습니다. 예시에서 보여드린 것처럼 이미지 압축 기술을 사용하여 파일 크기가 39.24% 감소했습니다.
IronPDF는 C#에서 PDF를 어떻게 압축하나요?
IronPDF는 CompressAndSaveAs라는 단일 메서드를 통해 압축을 처리합니다. 이 메서드는 구성 가능한 JPEG 품질(0–100)을 사용하여 삽입된 이미지 크기를 줄여주며, removeStructureTree: true를 설정하여 선택적으로 PDF의 내부 구조 트리를 제거할 수 있습니다. 이는 표가 많은 문서에서 특히 효과적입니다.
PDF 파일에서 JPEG 압축 시 어떤 품질 수준을 사용해야 할까요?
IronPDF는 JPEG 압축률을 1%에서 100%까지 지원합니다. 권장 압축률은 고화질의 경우 90% 이상, 중간 화질의 경우 80~90%, 저화질의 경우 70~80%입니다. 최적의 설정은 파일 크기와 시각적 품질 요구 사항 간의 균형을 고려하여 결정하십시오.
PDF 파일을 단 한 줄의 코드로 압축할 수 있을까요?
네, IronPDF를 사용하면 한 줄의 코드로 PDF 압축이 가능합니다: PdfDocument.FromFile("input.pdf").CompressAndSaveAs("compressed.pdf", 40); 이 코드는 PDF를 불러온 후, 이미지 품질을 40%로 설정하여 압축하고 결과를 저장합니다.
HTML로 생성된 PDF에도 압축 기능이 적용되나요?
네, IronPDF의 압축 기능은 HTML 문자열을 PDF로 변환하는 경우, URL을 PDF로 변환하는 경우, HTML 파일을 변환하는 경우 등 다양한 방법으로 생성된 PDF는 물론 기존 PDF 파일과도 원활하게 작동합니다.
PDF 압축을 통해 가장 큰 이점을 얻을 수 있는 콘텐츠 유형은 무엇입니까?
일반적으로 이미지는 PDF 파일 크기의 대부분을 차지하므로 이미지가 많은 문서는 압축에 적합합니다. 또한 복잡한 표 구조를 가진 PDF는 IronPDF의 구조 트리 압축 기능을 통해 이점을 얻을 수 있습니다.
디스크에 저장하지 않고 PDF를 압축할 수 있나요?
네, IronPDF는 압축된 PDF를 각각 바이트 배열 또는 스트림으로 반환하는 CompressPdfToBytes 및 CompressPdfToStream 메서드를 제공합니다. 두 메서드 모두 Automatic, FastMemory 또는 HighQuality 압축 옵션을 지정할 수 있는 선택적 CompressionMode 매개변수를 지원합니다.
C# 이외의 다른 언어에서도 PDF 압축 기능을 사용할 수 있습니까?
네, CompressPdfToBytes 및 CompressPdfToStream은 이제 Java, Node.js, Python을 포함한 모든 IronPDF 플랫폼에서 사용할 수 있습니다.

