首页 > 编程语言 >用C#将多个jpg合成一个pdf

用C#将多个jpg合成一个pdf

时间:2023-05-09 22:11:56浏览次数:37  
标签:string C# jpg int new pdf document jpgImage

nuget安装iTextSharp

static void MergePDF(string picPath,string pdfPath)
        {
            string[] picFileNames=Directory.GetFiles(picPath, "*");
            List<string> fileNames = picFileNames.ToList();
            fileNames.Sort((l,r)=> {
                int lnum = int.Parse(Path.GetFileName(l).Replace(".jpg",""));
                int rnum = int.Parse(Path.GetFileName(r).Replace(".jpg",""));
                return lnum.CompareTo(rnum);
            });
            Document document = new Document(new Rectangle(2100,1488));//设定pdf的大小
            PdfWriter.GetInstance(document, new FileStream(pdfPath, FileMode.Create));
            document.Open();
            foreach (string jpgPath in fileNames)
            {
                Image jpgImage = Image.GetInstance(jpgPath);

                jpgImage.ScaleToFit(document.PageSize.Width, document.PageSize.Height);//调整图片的大小

                document.Add(jpgImage);
            }
            document.Close();
        }

标签:string,C#,jpg,int,new,pdf,document,jpgImage
From: https://www.cnblogs.com/johnyang/p/17386459.html

相关文章

  • c++打卡练习(23)
    亲密数如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。流程图:伪代码:源代码:#include<iostream>usingnamespacestd;intmain(){ inta,i,b,n; printf("Therearefollowing......
  • 入门8-Pytest部分测试用例的前后置(fixture)(2-conftest.py结合)
    conftest.py文件专门用来存放fixture的文件,名称固定不能修改。conftest.py中的所有方法在调用时都不需要导包一个用例可以同时调用多个conftest.py中的多个方法一般conftest.py中的方法autouse=True, 自动执行。conftest.py放在最外层,使用scope="session"时,整个项目开头执......
  • linux之docker安装RocketMQ
    一、创建namesrv容器dockerpullrocketmqinc/rocketmqmkdir-p/docker/rocketmq/data/namesrv/logs/docker/rocketmq/data/namesrv/storedockerrun-d\--restart=always\--namermqnamesrv\-p9876:9876\-v/docker/rocketmq/data/namesrv/logs:/root/lo......
  • Spring-MVC-随笔
    Spring-MVC一、SpringMVC简介1、什么是MVCMVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M:Model,模型层,指工程中的JavaBean,作用是处理数据JavaBean分为两类:一类称为实体类Bean:专门存储业务数据的,如Student、User等一类称为业务处理Bean:指Service或Dao......
  • 【Azure 存储服务】使用 AppendBlobClient 对象实现对Blob进行追加内容操作
    问题描述在AzureBlob的官方示例中,都是对文件进行上传到Blob操作,没有实现对已创建的Blob进行追加的操作。如果想要实现对一个文件的多次追加操作,每一次写入的时候,只传入新的内容? 问题解答AzureStorageBlob有三种类型:BlockBlob,AppendBlob和PageBlob。其中,只有Appen......
  • unable to locate package in ubuntu
    Linux新手入门:Unabletolocatepackage错误解决办法_xiaogugood的博客-CSDN博客 solution:sudoapt-getupdate ......
  • C#设计模式13——建造者模式的写法
    1.什么是建造者模式?建造者模式是一种创建型设计模式,它通过将一个复杂的对象分解为多个简单的对象并按照一定的顺序进行组装而创建出一个复杂的对象。这样可以使得构造过程更加灵活,同时也可以隐藏创建过程的复杂性。2.建造者模式的使用场景?建造者模式适用于以下场景:(1)当需......
  • C++异常和错误处理机制:如何使您的程序更加稳定和可靠
    在C++编程中,异常处理和错误处理机制是非常重要的。它们可以帮助程序员有效地处理运行时错误和异常情况。本文将介绍C++中的异常处理和错误处理机制。什么是异常处理?异常处理是指在程序执行过程中发生异常或错误时,程序能够捕获并处理这些异常或错误的机制。例如,当程序试图访问......
  • 打卡 c语言趣味编程 打鱼还是晒网
    中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的以后的某一天中是打鱼还是晒网。设计思路:1、定义一个函数,该函数接收两个参数:一个是起始日期,另一个是未来的某一天。2、计算起始日期和未来的某一天之间相隔的天数......
  • protoc命令工具使用
    protoc参数基本含义--go_out用于指定protoc的工作方式和go代码生成的位置参数(用,分开):plugins:生成go代码所用插件paths:go代码生成的位置:import:$按照生成的go代码的包的全路径来创建目录层级例如:在demo.proto中定义了optiongo_package="project/demo",那么就会......