`

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#实现图像压缩.pdf

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

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

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

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

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

    PdfShrinker2.0_c#实例_pdf_ghostscript压缩_

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

    用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#编程语言来...

    图片压缩成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可以减小文件大小,提高加载速度,同时保持视觉质量。压缩功能可以...

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

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

    C# 在PDF中创建和填充域

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

    itext7 pdf转图片

    - 在给定的文件列表中,"Program.cs"可能是实现此功能的C#代码。`pdf2image02.csproj`是一个.NET项目文件,可能包含了相关依赖和配置。 - `itext.pdfimage`可能是iText 7的NuGet包或者相关的库文件,它提供了将PDF...

    C#使用PDFBox读取PDF

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

    PDF C#编辑版本

    PDF文件在许多业务场景中广泛使用,而C#作为.NET框架下的主要编程语言,提供了丰富的库和工具来处理PDF文档,包括编辑、修改、添加水印以及改变字体等操作。本压缩包“PDFsharp-master”可能包含了一个使用C#进行PDF...

    基于C#的PDF文档压缩程序源代码,用于学习PDF文件相关内容

    在压缩PDF文件时,确保不会丢失任何重要信息或破坏文件的可读性。此外,如果PDF包含敏感信息,记得考虑加密和权限设置。 通过以上方法,你可以使用C#编写一个PDF文档压缩程序,实现对PDF文件的有效压缩,以满足...

Global site tag (gtag.js) - Google Analytics