一首先引用:itextsharp.dll(不使用Aspose.pdf.dll,避免水印)

二编写合并方法 多个pdf合并成一个pdf
        /// </summary>
        /// <param name="directory">存放多个pdf的文件夹路径</param>
        /// <param name="pdfpath">合并的pdf路径</param>
        public static void MergePdf(string directory,string pdfpath, string pdfName)
        {
             iTextSharp.text.Document document = null;
            try
            {
                string[] fileList = Directory.GetFiles(directory);//获取文件夹下的文件集合
                PdfReader reader;
                if (fileList.Length > 1)
                {
                    //此处将内容从文本提取至文件流中的目的是避免文件被占用,无法删除
                    FileStream fs1 = new FileStream(fileList[0], FileMode.Open);
                    byte[] bytes1 = new byte[(int)fs1.Length];
                    fs1.Read(bytes1, 0, bytes1.Length);
                    fs1.Close();
                    reader = new PdfReader(bytes1);
                    reader.GetPageSize(1);
                    iTextSharp.text.Rectangle rec = reader.GetPageSize(1);
                    document = new iTextSharp.text.Document(rec,50,50,50,50);
                    FileStream f = new FileStream(directory + pdfName + ".pdf", FileMode.OpenOrCreate);
                    PdfWriter writer = PdfWriter.GetInstance(document,f);
                    document.Open();
                    PdfContentByte cb = writer.DirectContent;
                    PdfImportedPage newPage;
                    for (int i = 0; i < fileList.Length; i++)
                    {
                        FileStream fs = new FileStream(fileList[i], FileMode.Open);
                        byte[] bytes = new byte[(int)fs.Length];
                        fs.Read(bytes, 0, bytes.Length);
                        fs.Close();
                        reader = new PdfReader(bytes);
                        int iPageNum = reader.NumberOfPages;
                        for (int j = 1; j <= iPageNum; j++)
                        {
                            document.NewPage();
                            newPage = writer.GetImportedPage(reader, j);
                            cb.AddTemplate(newPage, 0, 0);
                        }
                        File.Delete(fileList[i]);
                    }
                    document.Close();
                }

}
            catch (Exception e)
            {
            }
            finally
            {
                if(document!=null)
                    document.Close();
            }

}

C#合并多个pdf到一个pdf文件;不使用Aspose.pdf.dll,避免水印相关推荐

  1. java中pdf写成base64文件流,Java操作pdf文件与Base64编码相互转换与文件流操作

    1.第一步,引入bc包的安装依赖. 在pom.xml中引入. org.bouncycastle bcprov-jdk15on 1.60 引入后reimport一下项目. 2.pdf文件转换成Base6 ...

  2. 怎么把pdf转换成excel文件?

    怎么把pdf转换成excel文件?互联网时代的今天,许多办公技巧都有了翻天覆地的变化,其中尤以pdf.excel.word.图片几种文件的相互转换变化较多.过去的办公文员们无论是把pdf转换成exce ...

  3. pdf转换成excel文件_将PDF文件转换为Excel

    pdf转换成excel文件 When I got back to my office after a recent vacation, there was an email from Una, abo ...

  4. 使用PDF处理控件Aspose.PDF以编程方式打印PDF文档完整攻略

    许多公司在很大程度上减少了纸张的使用.但是,在某些情况下打印很重要.例如,系统可能包含PDF格式的在线订单的详细信息.他们需要在分发在线订单进行交付时打印PDF.他们大规模处理项目,因此手动打印每个文 ...

  5. pdf文档控件Aspose.PDF for .NET 授权须知

    Aspose.PDF是一款高级PDF处理API,可以在跨平台应用程序中轻松生成,修改,转换,呈现,保护和打印文档.无需使用Adobe Acrobat.此外,API提供压缩选项,表创建和处理,图形和图像 ...

  6. 利用Aspose.PDF以编程方式打印PDF文档

    使用C#打印PDF文件 可以使用C#或VB.net在.NET应用程序中自动打印PDF文件.您可以按照以下简单步骤打印PDF文件: 创建一个PdfViewer类的对象 加载输入的PDF文档 打印PDF文 ...

  7. 性能优化之通过Aspose组件将Word/Excel/PPT/PDF转成HTML文件,解决大附件预览性能问题

    在最近的一个项目中,遇到一个非常棘手的性能问题,场景是这样的:有PC端和手机端两个应用,用户在PC端上传的附件,如word,Excel,pdf等,当用户出差或不在电脑边上时,上传的附件在手机端能够打开 ...

  8. 两个mp3文件合成 php,两个音频合成一个 音频合成软件/音频视频合成软件合并不同格式为一个音频文件...

    怎么将两个音频合成一个音频文件,嗯~ o(* ̄▽ ̄*)o ,又是一个老生常谈的话题,但既然是提到了自然是再给大伙演示一下,那就使用一个比较简单的音频合成软件/音频视频合成软件合并不同格式为一个音频文件 ...

  9. .NET(C#) 使用Aspose.Pdf将HTML转成PDF

    .NET(C#) 中将HTML转成PDF的方法比较多,可以使用Aspose.Pdf.PuppeteerSharp.EO.PDF 和 HtmlRenderer.PDFSharp等,本文主要使用Aspos ...

  10. Aspose-words结合Freemarker实现word邮件合并功能,批量处理word模板文件

    最近的工作中有一个需求,需要处理word文档,有一些内容需要根据不同用户进行替换修改,使用的是word文档,替换后的内容还需要转换为pdf进行签章确认,并进行防篡改处理. 所以记录一下处理步骤,首先可 ...

最新文章

  1. python发邮件实例_python 发邮件实例
  2. (c语言)和与积的运算第三篇
  3. ] ssh登录慢的原因
  4. MIPI related
  5. Pytorch+Tensorboard混淆矩阵可视化
  6. 使用jquery-qrcode生成二维码
  7. 是什么在主宰着我们自身的行动?
  8. 百度投资了光学AI芯片初创公司Lightelligence
  9. Vue-JSON编辑器组件的简单使用
  10. pythonista安卓_Android平台有哪些软件类似于iOS上的JSbox、Pythonista和Thor?
  11. 职称计算机题库 云盘,职称计算机考试题库「附答案」
  12. 【梳理】离散数学 第10章 群与环 10.2 子群与群的陪集分解
  13. Yolov5笔记--检测bilibili下载好的视频
  14. 【IXDC 2014】小米、BroadLink对垒智能Wi-Fi模块
  15. 《干法》喜欢的金句(一)
  16. 【Caffe】Windows下caffe安装详解
  17. 视频一键去水印,抖音快手短视频去水印软件,安卓软件,免登录,支持全平台!
  18. desktop不可用。如果该位置位于这台电脑上,请确保设备或驱动器已连接,或者光盘已插入。如果该位置位于网络上请确保已连接到网络或Internet,然后重试。如果仍然找不到该位置,则他可能已移动或删除
  19. 上海财经应用统计考python_19上海财经大学应用统计专硕考研初试复试帖
  20. python之pip安装第三方库

热门文章

  1. 一场技术人的年终盛典:9个老兵对2016年总结与思考
  2. Week15—字典树应用,字符串包含问题
  3. WiFi穿墙手册:解读天线、dbi、发射功率和无线信号的关系
  4. PyMouse模拟鼠标键盘操作
  5. 【学习亚马逊AWS IOT体系有感---万物互联(物联网)】
  6. mysql增加数据 条件,mysql根据条件决定是否插入数据
  7. Laya 【U3D场景的 .ls场景】 【Laya.URL.basePath远程加载】 【加载分包】,【进度条】
  8. Xamarin.Forms学习之路——MarvelCard改造版
  9. 硬件开发笔记(一):高速电路设计Cadence Aleegro软件介绍和安装过程
  10. C语言实现,古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)