C# 压缩PDF图片

简介: 文档中包含图片的话,会使得整个文档比较大,占用存储空间且不利于快速、高效的传输文件。针对一些包含大量高质图片的PDF文档,若是对图片进行压缩,可以有效减少文档的占用空间。并且,在文档传输过程中也可以减少传送时间,提高效率。

文档中包含图片的话,会使得整个文档比较大,占用存储空间且不利于快速、高效的传输文件。针对一些包含大量高质图片的PDF文档,若是对图片进行压缩,可以有效减少文档的占用空间。并且,在文档传输过程中也可以减少传送时间,提高效率。本文将介绍2种通过C#来实现PDF图片文档压缩的方法。使用此方法,需要用到最新版本组件Spire.PDF for .NET3.9.462。下面是通过C#代码来压缩图片,从而实现整个PDF文档压缩的方法。

提示:编辑代码前,需要安装该组件,并添加引用dll文件到项目程序中,同时添加指令。

方法一

 using Spire.Pdf;
 using System.Drawing;
 using Spire.Pdf.Graphics;
 using Spire.Pdf.Exporting;
 
 namespace CompressImage_PDF
 {
     class Program
     {
         static void Main(string[] args)
         {
             //初始化一个PdfDocument类实例并加载一个pdf文档
             PdfDocument doc = new PdfDocument(@"C:\Users\Administrator\Desktop\Input.pdf");
             //禁用增量更新
             doc.FileInfo.IncrementalUpdate = false;
             //遍历PDF所有页,诊断页面是否含有图片
             foreach (PdfPageBase page in doc.Pages)
             {
                 if (page != null)
                 {
                     if (page.ImagesInfo != null)
                     {
                         foreach (PdfImageInfo info in page.ImagesInfo)
                         {
                             //调用方法TryCompressImage()压缩图片
                             page.TryCompressImage(info.Index);
                         }
                     }
                 }
             }
             //保存文档
             doc.SaveToFile("Output.pdf");
         }
     }
 }

 

 方法二

 using Spire.Pdf;
 using System.Drawing;
 using Spire.Pdf.Graphics;
 
 namespace CompressImage_PDF
 {
     class Program
     {
         static void Main(string[] args)
         {
 
             //初始化一个PdfDocument类实例并加载一个pdf文档
             PdfDocument doc = new PdfDocument(@"C:\Users\Administrator\Desktop\Input.pdf");
 
             //禁用增量更新
             doc.FileInfo.IncrementalUpdate = false;
 
             //遍历所有PDF页,提取图片
             foreach (PdfPageBase page in doc.Pages)
             {
                 Image[] images = page.ExtractImages();
                 //遍历所有图片
                 if (images != null && images.Length > 0)
                 {
                     for (int j = 0; j < images.Length; j++)
                     {
                         Image image = images[j];
                         PdfBitmap bp = new PdfBitmap(image);
                         //设置bp.Quality值,压缩图片
                         bp.Quality = 20;
                         //将压缩后的图片替换原有图片
                         page.ReplaceImage(j, bp);
                     }
                 }
             }
             //保存文档
             doc.SaveToFile("Output2.pdf");
 
         }
     }
 }

针对包含大量高质图片的PDF文档,以上方法可以有效压缩文档,并且不会出现市面上压缩软件在压缩文档时存在的广告水印或者破坏源文档的情况。方法介绍到此,如果对您有用,欢迎转载(转载请注明出处)。

(本文完)

目录
相关文章
|
8月前
|
机器学习/深度学习 文字识别 Java
Python实现PDF图片OCR识别:从原理到实战的全流程解析
本文详解2025年Python实现扫描PDF文本提取的四大OCR方案(Tesseract、EasyOCR、PaddleOCR、OCRmyPDF),涵盖环境配置、图像预处理、核心识别与性能优化,结合财务票据、古籍数字化等实战场景,助力高效构建自动化文档处理系统。
2106 0
|
数据采集 JavaScript C#
C#图像爬虫实战:从Walmart网站下载图片
C#图像爬虫实战:从Walmart网站下载图片
|
Shell Python
pdf压缩程序
【9月更文挑战第05天】
267 5
|
12月前
|
人工智能 搜索推荐 算法
PDF 转 JPG 图片小工具:CodeBuddy 助力解决转换痛点
在 PDF 转 JPG 的实际应用中,用户普遍面临转换质量差、批量处理效率低、格式兼容性不足以及编程实现困难等痛点。而 CodeBuddy 凭借智能代码生成与优化、实时错误诊断修复、助力代码学习拓展,以及支持多场景适配与个性化定制等强大的 AI 编程能力,精准直击这些难题。使用 CodeBuddy 开发 Python PDF 转 JPG 小工具,能够有效提升转换效率与质量,降低开发门槛和成本,为用户带来高效、优质的文件格式转换体验。
475 16
|
XML 缓存 JSON
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
1030 0
|
11月前
|
人工智能 开发工具 开发者
【HarmonyOS 5】鸿蒙应用实现发票扫描、文档扫描输出PDF图片或者表格的功能
HarmonyOS 系统提供的核心场景化视觉服务,旨在帮助开发者快速实现移动端文档数字化功能。
537 0
|
人工智能 文字识别 自然语言处理
1.6K star!这个开源文本提取神器,5分钟搞定PDF/图片/Office文档!
Kreuzberg 是一个基于 Python 的文本提取库,支持从 PDF、图像、Office 文档等 20+ 格式中提取文本内容。采用 MIT 开源协议,具备本地处理、异步架构、智能 OCR 等特性,特别适合需要隐私保护的文档处理场景。
1726 1
|
机器学习/深度学习 人工智能 文字识别
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Zerox 是一款开源的本地化高精度OCR工具,基于GPT-4o-mini模型,支持PDF、DOCX、图片等多种格式文件,能够零样本识别复杂布局文档,输出Markdown格式结果。
1687 4
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
|
文字识别 UED Python
对双栏 | 单双栏混合 | 图表文字混合的复杂布局的图片OCR识别(对布局复杂的整个pdf进行OCR识别)
这个故事告诉我们要多尝试不同的库和引擎,尤其是需求比较偏门或者少见的时候。同一个方向不同的库所擅长的领域是不一样的。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
473 16