C#压缩pdf文件的代码示例
开发学院2023-06-06 13:25:29
最近有压缩pdf的需求,上网找了下iTextSharp可以进行压缩,下面是实现代码,依赖版本:iTextSharp.5.5.13.3。
最近有压缩pdf的需求,上网找了下iTextSharp可以进行压缩,下面是实现代码,依赖版本:iTextSharp.5.5.13.3。
using iTextSharp.text; using iTextSharp.text.pdf; public void compressPdf(string inputFile, string outputFile) { using (FileStream fileStream = new FileStream(outputFile, FileMode.Create)) { using (Document document = new Document()) { PdfReader reader = new PdfReader(inputFile); PdfWriter writer = PdfWriter.GetInstance(document, fileStream); writer.SetPdfVersion(PdfWriter.PDF_VERSION_1_5); document.Open(); for (int i = 1; i <= reader.NumberOfPages; i++) { PdfImportedPage importedPage = writer.GetImportedPage(reader, i); PdfContentByte contentByte = writer.DirectContent;//.GetDirectContent(); PdfTemplate template = contentByte.CreateTemplate(importedPage.Width, importedPage.Height); template.AddTemplate(importedPage, 0, 0); contentByte.AddTemplate(template, 0.5f, 0, 0, 0.5f, 0, 0); document.NewPage(); } document.Close(); writer.Close(); reader.Close(); } } } public void compressPdf2(String stringsourceFile,String stringdestinationFile) { using (var sourceStream = new FileStream(stringsourceFile, FileMode.Open)) using (var destinationStream = new FileStream(stringdestinationFile, FileMode.Create)) { var reader = new PdfReader(sourceStream); var pdfStamper = new PdfStamper(reader, destinationStream, PdfWriter.VERSION_1_5); pdfStamper.SetFullCompression(); pdfStamper.Close(); reader.Close(); } Console.WriteLine("PDF compression complete."); }
相关文章
- UE5敌人直接放置场景ok,代码生成不执行AI
- UE5中开发HD-2D游戏的优化设置与2D角色导入技巧
- nginxSpringboot项目常见配置
- 在MacOS上部署ComfyUI的指南
- 解决UE5开发Topdown2D动作游戏的旋转问题
- UE5开发2D游戏设置排序的步骤.
- 大幅提升FPS!Unreal Engine 5 最佳 2D 设置
- Aseprite在线编译教程
- 探索Nexa AI:开源边缘智能的新纪元
- Springboot项目允许根目录txt文件被访问
- lnmp一键安装包多php环境安装
- Python虚拟环境整合包制作:一键打包与运行指南
- aws云服务器使用root登录
- nginx配置允许跨域
- nginx配置springboot反向代理,同时允许上传路径可以直接被访问
- CentOS8更换国内安装源
- 在Linux中使用FFmpeg修剪视频
- uniapp项目(app,小程序)html内容图片尺寸超出屏幕修复
- uniapp启用微信小程序按需注入
- mysql 批量替换指定字符