IronPDF 操作指南 PDF压缩 How to Compress PDFs Chaknith Bin 已更新:八月 14, 2025 Download IronPDF NuGet 下载 DLL 下载 Windows 安装程序 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article This article was translated from English: Does it need improvement? Translated View the article in English PDF压缩是指减少PDF(便携式文档格式)文件大小的过程。 此压缩旨在使PDF文件更易于存储、共享和传输,尤其是在处理大型或图像丰富的文档时。 图像通常占据PDF文件大小的很大一部分,因为它们通常比文本和其他内容更大。 IronPdf提供PDF压缩功能,可以压缩嵌入的图像并减少PDF中经常伴随表格数据的树结构。 快速入门:使用IronPDF压缩PDF文件 使用IronPDF强大的压缩工具轻松减少PDF文件大小。 首先使用PdfDocument.FromFile加载您的PDF,使用默认选项通过Compress方法应用压缩,然后保存优化后的PDF。 此快捷简便的过程可确保显著的文件大小减少,同时保持质量,非常适合.NET C#开发者寻求高效的文档管理。 Get started making PDFs with NuGet now: Install IronPDF with NuGet Package Manager PM > Install-Package IronPdf Copy and run this code snippet. PdfDocument.FromFile("input.pdf").CompressImages(40).SaveAs("compressed.pdf"); Deploy to test on your live environment Start using IronPDF in your project today with a free trial Free 30 day Trial class="hsg-featured-snippet"> 最小工作流程(5步) 从NuGet下载用于PDF压缩的C#库 导入现有PDF或渲染新的PDF 使用CompressImages方法减小PDF中的图像大小 利用CompressStructTree方法最小化PDF的树结构 导出压缩后的PDF文档 压缩图像示例 在调整JPEG大小的过程中,100%质量几乎没有损失,而1%是非常低质量的输出图像。 90%及以上:被认为是高质量 80%-90%:被认为是中等质量 70%-80%:被认为是低质量 请随意探索各种值以理解质量与文件大小之间的权衡。值得注意的是,质量下降将根据输入图像的类型而变化,某些图像可能比其他图像经历更明显的清晰度降低。 :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.CompressImages(40); pdf.SaveAs("compressed.pdf"); Imports IronPdf Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page") ' Compress images in the PDF pdf.CompressImages(40) pdf.SaveAs("compressed.pdf") $vbLabelText $csharpLabel 压缩图像 - 大小对比 减少了39.24%!! class="content-img-align-center"> class="center-image-wrapper"> 了解图像压缩选项 让我们深入了解我们的图像压缩选项: ShrinkImage:此功能根据PDF文档中可见的图像大小缩小图像分辨率。 通过这样做,大大减少了图像的大小和质量,为高效的存储和传输进行了优化。 HighQualitySubsampling:此设置决定了用于图像压缩的色度抽样方法。 选择“True”使用4:4:4色度抽样,确保更高质量的图像,具有完整的颜色细节。 相反,选择“False”使用4:1:1色度抽样,牺牲一些颜色细节以进一步减少图像大小。 色度抽样是数字图像压缩中的重要技术,旨在减少表示图像所需的数据,同时保持其视觉质量。 通过选择性地降低颜色信息(色度)的分辨率而保持亮度信息(亮度)的完整分辨率来实现这一点。 在“4:4:4”色度抽样中,每个像素保留其自身的颜色信息,因此没有颜色细节的丢失。 相反,在“4:1:1”色度抽样中,颜色信息以较低分辨率进行抽样,减少了颜色细节,但也减少了文件大小。 <hr 压缩树结构示例 此功能用于通过最小化Chrome引擎创建的树结构来减少PDF的大小。它适用于由Chrome引擎从包含大量表格数据的HTML生成的PDF。 某些PDF渲染引擎可能会输出不带此树结构的PDF,使得此功能无效。 删除所有这些树结构的缺点是,对于某些PDF,高亮显示文本或提取可能效果不佳。 Let's use the PDF with table data to test the CompressStructTree method. :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.CompressStructTree(); pdf.SaveAs("compressedTable.pdf"); Imports IronPdf Private pdf As PdfDocument = PdfDocument.FromFile("table.pdf") ' Compress tree structure in PDF pdf.CompressStructTree() pdf.SaveAs("compressedTable.pdf") $vbLabelText $csharpLabel 压缩树结构 - 大小对比 减少了67.90%!! 此百分比在更大的表格PDF中增加。 class="content-img-align-center"> class="center-image-wrapper"> 高级压缩方法 IronPdf还有一个Compress方法,可以用来配置图像压缩和树结构压缩,使文档压缩比以往更容易。 :path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-compress.cs using IronPdf; PdfDocument pdf = PdfDocument.FromFile("sample.pdf"); CompressionOptions compressionOptions = new CompressionOptions(); // Configure image compression compressionOptions.CompressImages = true; compressionOptions.JpegQuality = 80; compressionOptions.HighQualityImageSubsampling = true; compressionOptions.ShrinkImages = true; // Configure tree structure compression compressionOptions.RemoveStructureTree = true; pdf.Compress(compressionOptions); pdf.SaveAs("compressed.pdf"); Imports IronPdf Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf") Private compressionOptions As New CompressionOptions() ' Configure image compression compressionOptions.CompressImages = True compressionOptions.JpegQuality = 80 compressionOptions.HighQualityImageSubsampling = True compressionOptions.ShrinkImages = True ' Configure tree structure compression compressionOptions.RemoveStructureTree = True pdf.Compress(compressionOptions) pdf.SaveAs("compressed.pdf") $vbLabelText $csharpLabel 探索可用选项 CompressImages:控制文档中现有图像是否使用JPG编码进行压缩。 默认是false。 RemoveStructureTree:移除结构树可以显著减少文档使用的磁盘空间。 但这可能会对文本选择产生负面影响,尤其是在复杂文档中。 JpegQuality:指定在图像压缩期间使用的JPEG质量(范围从1到100)。 默认是42。 HighQualityImageSubsampling:此属性决定是否使用4:4:4色度抽样以获得更高图像质量(true),或使用4:1:1色度抽样以进一步减小图像大小(false)。 ShrinkImages:缩小图像分辨率可以大幅减少文档中图像的大小和质量。 准备好看看您还能做些什么吗? 查看我们的教程页面:额外功能 常见问题解答 如何在.NET C#中压缩PDF图像? 您可以使用IronPDF在.NET C#中压缩PDF图像。该库提供一个名为CompressImages的方法,允许您调整JPEG质量并选择不同的色度抽样选项以有效减少图像大小。 使用.NET库进行PDF压缩的好处是什么? 使用像IronPDF这样的.NET库进行PDF压缩,可以将PDF尺寸缩减直接集成到您的C#应用程序中,通过减少文件大小来增强文档管理,使存储和共享更容易。 如何减小包含大量表格数据的PDF的大小? 要减小包含大量表格数据的PDF大小,可以使用IronPDF的CompressStructTree方法。此方法最小化PDF的树结构,显著减小文件大小的同时保持文档的完整性。 在PDF压缩中有哪些图片质量调整选项? IronPDF提供在压缩过程中调整图片质量的选项,例如JpegQuality参数,范围从1到100。较高的值可以保持更多的图像细节,而较低的值则增加压缩。 我能在PDF图像压缩期间控制色度抽样吗? 是的,IronPDF允许您在PDF图像压缩期间控制色度抽样,通过HighQualitySubsampling设置。这使您可以选择更高的图像质量(4:4:4)或更大的尺寸减少(4:1:1)。 删除PDF中的结构树有什么潜在缺点? 虽然使用IronPDF的压缩功能删除PDF中的结构树可以显著减少文件大小,但可能会影响复杂文档中的文本选择和提取,因此需要考虑这种权衡。 如何在PDF中配置图像和树结构压缩? IronPDF提供一个Compress方法,允许您在PDF中配置图像和树结构压缩。此方法提供了调整设置的灵活性,以实现质量和文件大小之间的理想平衡。 在.NET C#中开始压缩PDF需要采取哪些步骤? 要开始在.NET C#中压缩PDF,请从NuGet下载IronPDF库,导入或渲染现有PDF,并使用CompressImages和CompressStructTree等方法有效减少文件大小。 IronPDF 在压缩 PDF 时是否与 .NET 10 完全兼容? 是的——IronPDF 完全兼容 .NET 10。您可以在 .NET 10 项目中使用它来压缩 PDF 文件,可以使用与 .NET 10 相同的压缩方法,例如CompressImages 、 CompressStructTree或带有CompressionOptions的Compress方法,以获得一致的压缩结果和性能。它支持的运行时版本包括 .NET 10。([ironpdf.com](https://ironpdf.com/?utm_source=openai)) Chaknith Bin 立即与工程团队聊天 软件工程师 Chaknith 在 IronXL 和 IronBarcode 工作。他在 C# 和 .NET 方面有着深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的见解有助于更好的产品、文档和整体体验。 审核者 Jeffrey T. Fritz 首席项目经理 - .NET 社区团队 Jeff 也是 .NET 和 Visual Studio 团队的首席项目经理。他是 .NET Conf 虚拟会议系列的执行制片人,并主持“Fritz and Friends”直播节目,每周两次与观众一起谈论技术并编写代码。Jeff 撰写研讨会、演示文稿并计划包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP 峰会在内的最大型微软开发者活动的内容。 准备开始了吗? Nuget 下载 16,154,058 | 版本: 2025.11 刚刚发布 免费 NuGet 下载 总下载量:16,154,058 查看许可证