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."); }
相关文章
- nginx配置允许跨域
- nginx配置springboot反向代理,同时允许上传路径可以直接被访问
- CentOS8更换国内安装源
- 在Linux中使用FFmpeg修剪视频
- uniapp项目(app,小程序)html内容图片尺寸超出屏幕修复
- uniapp启用微信小程序按需注入
- mysql 批量替换指定字符
- 使用stable diffution生成艺术二维码
- JQuery 删除节点下子元素中的最后一个元素
- Windows 11启动菜单的隐藏更改
- 出自清华的强大中文AI模型ChatGLM2-6B
- php根据ip判断所属国家(使用Geo库)
- 使用acme.sh自动化部署ssl证书
- C#压缩pdf文件的代码示例
- 功能强大的免费AI绘画工具:Stable Diffusion
- ChatGPT的中文平替:ChatGLM-6B
- 科普:为什么人工智能需要GPU而不是CPU?
- iis10安装URLRwrite组件
- 记一次cc攻击处理过程
- CodeIgniter4设置session变量为公共变量