今天就跟大家聊聊有关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");
}
}
}
看完上述内容,你们对C# 中怎么实现压缩PDF图片有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。