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文档,以上方法可以有效压缩文档,并且不会出现市面上压缩软件在压缩文档时存在的广告水印或者破坏源文档的情况。方法介绍到此,如果对您有用,欢迎转载(转载请注明出处)。

(本文完)

目录
相关文章
|
4天前
|
文字识别 UED Python
对双栏 | 单双栏混合 | 图表文字混合的复杂布局的图片OCR识别(对布局复杂的整个pdf进行OCR识别)
这个故事告诉我们要多尝试不同的库和引擎,尤其是需求比较偏门或者少见的时候。同一个方向不同的库所擅长的领域是不一样的。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
1月前
|
文字识别 BI
【图片型PDF】批量识别扫描件PDF指定区域局部位置内容,将识别内容导出Excel表格或批量改名文件,基于阿里云OCR对图片型PDF识别改名案例实现
在医疗和政务等领域,图片型PDF文件(如病历、报告、公文扫描件)的处理需求广泛。通过OCR技术识别这些文件中的文字信息,提取关键内容并保存为表格,极大提高了信息管理和利用效率。本文介绍一款工具——咕嘎批量OCR系统,帮助用户快速处理图片型PDF文件,支持区域识别、内容提取、导出表格及批量改名等功能。下载工具后,按步骤选择处理模式、进行区域采样、批量处理文件,几分钟内即可高效完成数百个文件的处理。
143 8
|
2月前
|
机器学习/深度学习 人工智能 文字识别
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Zerox 是一款开源的本地化高精度OCR工具,基于GPT-4o-mini模型,支持PDF、DOCX、图片等多种格式文件,能够零样本识别复杂布局文档,输出Markdown格式结果。
200 4
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
|
3月前
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
104 16
|
3月前
|
编解码 人工智能 文字识别
用PDF转换图片的方式弥补通义千问在扫描版PDF支持方面的缺失
当前通义千问Web版和本地版qwen-VL在处理扫描版PDF时均无法直接识别,导致实际应用中处理大量扫描PDF的需求难以满足。为此,通过使用Python的pdf2image库,可将PDF文件转换为图片,再进行OCR处理,实现解决方案。文中提供了具体的代码示例,展示了如何将PDF文件的每一页转换成图片,并保存至指定文件夹,为后续的OCR处理做好准备。
|
5月前
|
存储 C#
C#使用哈夫曼编码实现压缩与解压
C#使用哈夫曼编码实现压缩与解压
71 0
|
6月前
|
Python
Python办公自动化:提取pdf文件中的图片
Python办公自动化:提取pdf文件中的图片
95 0
|
6月前
|
数据采集 JavaScript C#
C#图像爬虫实战:从Walmart网站下载图片
C#图像爬虫实战:从Walmart网站下载图片
|
6月前
|
Shell Python
pdf压缩程序
【9月更文挑战第07天】
72 5
|
6月前
pdf压缩
【9月更文挑战第07天】
163 7