论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
.Net
›
C# 压缩PDF文件
C# 压缩PDF文件
风雨同行
金牌会员
|
2023-12-3 07:48:28
|
显示全部楼层
|
阅读模式
楼主
主题
870
|
帖子
870
|
积分
2610
PDF 文件可以包含文本、图片及各种媒体元素,但如果文件太大则会影响传输效果同时也会占用过多磁盘空间。通过压缩PDF文件,能够有效减小文件大小,从而提高传输效率并节省存储空间。想要通过C#代码快速有效地压缩 PDF 文件,下面是实现思路:
在 C# 中压缩 PDF
1、在VS中使用 NuGet包管理器将 “spire.pdf” 安装到程序中,并导入所需的命名空间。(也可下载
Spire.PDF
后手动引入);
2、实例化
PdfCompressor
类对象并加载需压缩的PDF文件;
3、通过
TextCompressionOptions
类来压缩PDF文件中的字体;
//获取文本压缩选项
textCompression = compressor.Options.TextCompressionOptions;
//设置是否压缩字体
textCompression.CompressFonts = true;
//设置是否嵌入字体
textCompression.UnembedFonts = true;
复制代码
4、通过
ImageCompressionOptions
类来压缩PDF文件中的图片;
//获取图片压缩选项
ImageCompressionOptions imageCompression = compressor.Options.ImageCompressionOptions;
//设置是否压缩图片
imageCompression.CompressImage = true;
//设置图片质量
imageCompression.ImageQuality = ImageQuality.Low;
//设置是否调整图片大小
imageCompression.ResizeImages = true;
复制代码
5. 保存压缩后的PDF文件。
PDF压缩前后效果对比如图:
Spire.PDF for .NET
提供了接口来压缩PDF文件中的字体和图片,其中将图片质量设置为low时压缩效果最好,但可能文件可读性会受到一定影响。在使用时可根据自己的需求来设置图片质量 (High/ Medium/ Low)。
附上完整代码供自行测试:
using Spire.Pdf;
using Spire.Pdf.Conversion.Compression;
namespace CompressPdf
{
class Program
{
static void Main(string[] args)
{
//实例化 PdfCompressor 类对象并加载PDF文件
PdfCompressor compressor = new PdfCompressor("文件.pdf");
//获取文本压缩选项
TextCompressionOptions textCompression = compressor.Options.TextCompressionOptions;
//设置是否压缩字体
textCompression.CompressFonts = true;
//设置是否嵌入字体
textCompression.UnembedFonts = true;
//获取图片压缩选项
ImageCompressionOptions imageCompression = compressor.Options.ImageCompressionOptions;
//压缩图片
imageCompression.CompressImage = true;
//设置图片质量
imageCompression.ImageQuality = ImageQuality.High;
//调整图片大小
imageCompression.ResizeImages = true;
//将压缩后PDF保存至指定位置
compressor.CompressToFile("压缩.pdf");
}
}
}
复制代码
想了解C#操作PDF文件的更多示例,点击前往
Spire.PDF教程页
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
风雨同行
金牌会员
这个人很懒什么都没写!
楼主热帖
深入Python网络编程:从基础到实践 ...
MySQL锁(乐观锁、悲观锁、多粒度锁) ...
中职网络安全技能大赛SSH弱口令渗透测 ...
阿里云体验有奖:如何将 PolarDB-X 与 ...
HTML+CSS+JS——动漫风二次元论坛(2页) ...
损失函数-pytorch
让 Flutter 在鸿蒙系统上跑起来 ...
超融合和传统 “VMware + FC SAN& ...
互联网技术大佬独立博客推荐 ...
四、MySQL之数据查询语言(二) ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表