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.");
}相关文章
- suncae安装记录
- Ubuntu24 LNMP Nginx 启动失败 & PHP 页面 502 错误完整排查
- Ubuntu 24.04 LNMP+Redis自动安装脚本
- JAVA大整数传递给前端丢失精度问题解决指南
- JDK21实现高性能 Snowflake ID生成器
- Rocky Linux 10 tmux安装使用教程
- 新版 Ollama 中导入外部模型 GGUF 模型
- 当 Web 开发绕回 “一体化”,PHP 玩家的底气在哪?
- 重磅:LFM2.5-1.2B-Thinking发布 1GB内存即可实现端侧高效推理
- MyBatis-Plus升级踩坑记录:一个依赖缺失引发的“惨案”
- spring+netty实现一个最小可运行的im server
- windows修改ollama程序和模型保存位置
- UE5中使用蓝图实现对象池功能
- UE5开发2D/3D混合平台跳跃游戏优化操作体验
- UE5敌人直接放置场景ok,代码生成不执行AI
- UE5中开发HD-2D游戏的优化设置与2D角色导入技巧
- nginxSpringboot项目常见配置
- 在MacOS上部署ComfyUI的指南
- 解决UE5开发Topdown2D动作游戏的旋转问题
- UE5开发2D游戏设置排序的步骤.