`

C#压缩PDF图片

阅读更多

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

 

方法一  

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压缩c#版本

    在C#中使用Spire.Pdf进行PDF图片压缩的步骤通常如下: 1. 引入Spire.Pdf库:首先需要在项目中引用Spire.Pdf的NuGet包或安装对应的dll文件,确保项目能够调用其API。 2. 加载PDF文档:使用`PdfDocument`类的`...

    AsposePdf将pdf压缩

    下面是一个简单的C#代码示例,演示如何使用Aspose.Pdf压缩PDF文件: ```csharp using Aspose.Pdf; // 加载PDF文档 Document document = new Document("input.pdf"); // 设置压缩级别 document.CompressionLevel =...

    C#利用pdfsharp转换图片为pdf文件

    本资源涉及的知识点主要集中在如何使用C#和PDFSharp库将图片转换为PDF文件,这在报表生成、文档归档或数据呈现等场景中非常实用。以下是关于这个主题的详细说明: 1. **C#基础**:首先,你需要熟悉C#的基本语法和...

    C#实现图像压缩.pdf

    C#实现图像压缩.pdf 本文档讲述了使用 C# 语言实现图像压缩的方法。该方法使用了 System.Drawing.Imaging 命名空间中的类和方法来实现图像压缩。 首先,需要获取图片路径、压缩比例、输出路径和质量参数。然后,...

    图片转pdf C#语言 清晰度不变 文件压缩变小绝对良心之作

    在这个特定的项目中,我们关注的是一个利用C#实现的功能——将图片转换为PDF文件,并且在转换过程中保持图片的清晰度不变,同时通过文件压缩技术使生成的PDF文件大小减小。这个"图片转pdf C#语言 清晰度不变 文件...

    C# winform 一款支持将图片压缩到指定大小(KB)的批量压缩软件(源码+exe导出文件双击即可使用)

    C# winform 一款支持将图片压缩到指定大小(KB)的批量压缩软件(源码+exe导出文件双击即可使用)

    PdfShrinker2.0_c#实例_pdf_ghostscript压缩_

    以下是一个简单的C#代码示例,展示了如何使用Ghostscript.NET压缩PDF文件: ```csharp using Ghostscript.NET.Rasterizer; // 创建GhostscriptRasterizer实例 GhostscriptRasterizer rasterizer = new ...

    C# winform 用iTextSharp做图片转pdf工具源码非常简单

    在C# WinForm开发环境中,使用iTextSharp库可以轻松实现将图片转换为PDF的功能。iTextSharp是一个强大的开源库,主要用于创建、编辑和读取PDF文档,它为.NET开发者提供了丰富的API,使得处理PDF变得相对简单。下面,...

    图片转PDF文件C#代码.rar

    6. **优化与性能**:除了基本的图片转PDF功能,代码可能还包括一些优化措施,如批量处理多个图片、设置合适的压缩级别以减小文件大小,或者处理不同格式的图片(如JPEG、PNG等)。 7. **错误处理**:考虑到实际开发...

    用C#制作PDF文件全攻略

    总的来说,生成PDF文件在C#中主要依赖iTextSharp库,而SharpZipLib库则为文件压缩提供支持。在实际开发中,你需要结合文档和示例代码,理解并熟练运用这两个库的API,以实现PDF的创建、编辑和打包功能。同时,不要...

    C#在线预览PDF

    为了实现这一功能,C#开发者需要借助一些库或者服务来处理PDF文件,并将其转换为可以在网页上展示的格式,如图片序列或HTML。 1. **选择库或服务**:C#中常见的PDF处理库有iTextSharp、PDFsharp、Syncfusion等,...

    用c#制作pdf文件全攻略

    ### 用C#制作PDF文件全攻略 #### 概述 在现代办公环境中,PDF(Portable Document Format)格式因其跨平台兼容性和丰富的功能而成为文档分享与存储的标准格式之一。对于开发人员而言,掌握如何使用C#编程语言来...

    用C#.NET实现生成PDF文档和将WORD转换为PDF

    总结来说,用C#.NET实现生成PDF文档和将WORD转换为PDF涉及到对PDF结构的理解、使用合适的库进行编程、处理WORD文档的复杂格式以及异常处理。此外,OCR技术在文档转换过程中的应用也是提高效率的关键环节。通过掌握...

    图片压缩成PDF文件

    在IT领域,图片压缩成PDF文件是一个常见的需求,尤其在文档整理、电子书籍制作或网络传输时。这个过程主要是为了减少文件大小,提高传输效率,同时保持内容清晰度。下面我们将详细探讨如何实现这一操作,涉及的技术...

    C#制作PDF文件

    3. ICSharpCode.SharpZipLib:处理压缩和解压缩任务,非直接用于PDF生成但可辅助打包PDF。 4. HTML和Word转换:HTML可以直接通过XMLWorker转换;Word通常需要第三方库协助。 在实际开发中,你还需要考虑错误处理、...

    C# PDF文件操作组件

    8. **PDF转换**:将PDF转换为其他格式,如图片、Word文档、Excel表格等,反之亦然,以满足不同的应用场景需求。 9. **PDF优化和压缩**:优化PDF可以减小文件大小,提高加载速度,同时保持视觉质量。压缩功能可以...

    C# 在PDF中创建和填充域

    支持丰富的PDF文档处理操作,如PDF文档合并/拆分、转换(如HTML转PDF,PDF转图片等)、打印(包括静默打印)、压缩、添加注释、安全设置(包括数字签名)、创建与填充域、图片插入与提取、文本提取与高亮等。...

    C#使用PDFBox读取PDF

    PDFBox是一个开源的Java库,主要用于处理PDF文档,但也可以通过.NET平台的Java interop技术在C#中使用。本篇文章将详细介绍如何在C#环境中利用PDFBox库来读取PDF文件的内容,并将其转换为TXT格式进行保存。 首先,...

Global site tag (gtag.js) - Google Analytics