C#压缩PDF图片_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > C#压缩PDF图片

C#压缩PDF图片

 2017/12/4 16:15:19  Miaonly  程序员俱乐部  我要评论(0)
  • 摘要:PDF文档是一种支持特长文件,集成度和安全可靠性都较高的文件格式,在各个领域都应用广泛。在处理PDF文档时,常常也会遇到包含很多图片的PDF文档,这样的文档会占用比较大的空间,而且在文件传输时也确实会耗费不少时间。解决办法之一就是将文档中的图片进行压缩,使文档变小。这里推荐两种压缩PDF文档图片的方法。方法中用到了组件Spire.PDFfor.NET.(转载自博客http://www.cnblogs.com/Yesi/p/7928947.html)方法一usingSpire.Pdf
  • 标签:C# 图片 压缩

PDF文档是一种支持特长文件,集成度和安全可靠性都较高的文件格式,在各个领域都应用广泛。在处理PDF文档时,常常也会遇到包含很多图片的PDF文档,这样的文档会占用比较大的空间,而且在文件传输时也确实会耗费不少时间。解决办法之一就是将文档中的图片进行压缩,使文档变小。这里推荐两种压缩PDF文档图片的方法。方法中用到了组件Spire.PDF for .NET.(转载自博客http://www.cnblogs.com/Yesi/p/7928947.html)

?

方法一??

class="c#" name="code">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");
 
         }
     }
 }

?

?

?

上一篇: 顺丰布局办公室无人货架,推出“丰e足食” 下一篇: 没有下一篇了!
发表评论
用户名: 匿名