VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • C#/VB.NET 压缩 PDF 文档

 

在Spire.PDF组件中,我们可以通过以下两种方式来压缩PDF文档:

  • 压缩文档内容
  • 压缩文档中的图片

压缩文档内容

我们可以通过PdfCompressionLevel枚举来设置PDF文档的压缩级别。可选级别有best, normal, above normal等。

C#
//加载PDF文档
PdfDocument doc = new PdfDocument("Test.pdf");
//禁用incremental update
doc.FileInfo.IncrementalUpdate = false;
//设置PDF文档的压缩级别
doc.CompressionLevel = PdfCompressionLevel.Best;
//保存并关闭文档
doc.SaveToFile("Compressed.pdf");
doc.Close();
VB.NET
'加载PDF文档
Dim doc As New PdfDocument("Test.pdf")
'禁用incremental update
doc.FileInfo.IncrementalUpdate = False
'设置PDF文档的压缩级别
doc.CompressionLevel = PdfCompressionLevel.Best
'保存并关闭文档
doc.SaveToFile("Compressed.pdf")
doc.Close()

C# 压缩 PDF 文档


压缩文档中的图片

图片通常在PDF文档的大小中占有很大的比例,我们可以提取原文档中的图片,压缩/降低图片质量,然后用压缩后的图片替换原文档中的图片来减少PDF文档的大小。

C#
//加载PDF文档
PdfDocument doc = new PdfDocument("Image.pdf");
//禁用incremental update
doc.FileInfo.IncrementalUpdate = false;

//遍历文档所有页面
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 = 20;
            //用压缩后的图片替换原文档中的图片
            page.ReplaceImage(j, bp);
        }
    }                
}
//保存并关闭文档
doc.SaveToFile("Output.pdf");
doc.Close();
VB.NET
'加载PDF文档
Dim doc As New PdfDocument("Image.pdf")
'禁用incremental update
doc.FileInfo.IncrementalUpdate = False

'遍历文档所有页面
For Each page As PdfPageBase In doc.Pages
	'提取页面中的图片
	Dim images As Image() = page.ExtractImages()
	If images IsNot Nothing AndAlso images.Length > 0 Then
		'遍历所有图片
		For j As Integer = 0 To images.Length - 1
			Dim image As Image = images(j)
			Dim bp As New PdfBitmap(image)
			'降低图片的质量
			bp.Quality = 20
			'用压缩后的图片替换原文档中的图片
			page.ReplaceImage(j, bp)
		Next
	End If
Next
'保存并关闭文档
doc.SaveToFile("Output.pdf")
doc.Close()

C# 压缩 PDF 文档

出处:https://www.e-iceblue.cn/document/compress-pdf.html



相关教程