C#合并多个pdf到一个pdf文件;不使用Aspose.pdf.dll,避免水印
一首先引用: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,避免水印相关推荐
- java中pdf写成base64文件流,Java操作pdf文件与Base64编码相互转换与文件流操作
1.第一步,引入bc包的安装依赖. 在pom.xml中引入. org.bouncycastle bcprov-jdk15on 1.60 引入后reimport一下项目. 2.pdf文件转换成Base6 ...
- 怎么把pdf转换成excel文件?
怎么把pdf转换成excel文件?互联网时代的今天,许多办公技巧都有了翻天覆地的变化,其中尤以pdf.excel.word.图片几种文件的相互转换变化较多.过去的办公文员们无论是把pdf转换成exce ...
- pdf转换成excel文件_将PDF文件转换为Excel
pdf转换成excel文件 When I got back to my office after a recent vacation, there was an email from Una, abo ...
- 使用PDF处理控件Aspose.PDF以编程方式打印PDF文档完整攻略
许多公司在很大程度上减少了纸张的使用.但是,在某些情况下打印很重要.例如,系统可能包含PDF格式的在线订单的详细信息.他们需要在分发在线订单进行交付时打印PDF.他们大规模处理项目,因此手动打印每个文 ...
- pdf文档控件Aspose.PDF for .NET 授权须知
Aspose.PDF是一款高级PDF处理API,可以在跨平台应用程序中轻松生成,修改,转换,呈现,保护和打印文档.无需使用Adobe Acrobat.此外,API提供压缩选项,表创建和处理,图形和图像 ...
- 利用Aspose.PDF以编程方式打印PDF文档
使用C#打印PDF文件 可以使用C#或VB.net在.NET应用程序中自动打印PDF文件.您可以按照以下简单步骤打印PDF文件: 创建一个PdfViewer类的对象 加载输入的PDF文档 打印PDF文 ...
- 性能优化之通过Aspose组件将Word/Excel/PPT/PDF转成HTML文件,解决大附件预览性能问题
在最近的一个项目中,遇到一个非常棘手的性能问题,场景是这样的:有PC端和手机端两个应用,用户在PC端上传的附件,如word,Excel,pdf等,当用户出差或不在电脑边上时,上传的附件在手机端能够打开 ...
- 两个mp3文件合成 php,两个音频合成一个 音频合成软件/音频视频合成软件合并不同格式为一个音频文件...
怎么将两个音频合成一个音频文件,嗯~ o(* ̄▽ ̄*)o ,又是一个老生常谈的话题,但既然是提到了自然是再给大伙演示一下,那就使用一个比较简单的音频合成软件/音频视频合成软件合并不同格式为一个音频文件 ...
- .NET(C#) 使用Aspose.Pdf将HTML转成PDF
.NET(C#) 中将HTML转成PDF的方法比较多,可以使用Aspose.Pdf.PuppeteerSharp.EO.PDF 和 HtmlRenderer.PDFSharp等,本文主要使用Aspos ...
- Aspose-words结合Freemarker实现word邮件合并功能,批量处理word模板文件
最近的工作中有一个需求,需要处理word文档,有一些内容需要根据不同用户进行替换修改,使用的是word文档,替换后的内容还需要转换为pdf进行签章确认,并进行防篡改处理. 所以记录一下处理步骤,首先可 ...
最新文章
- python发邮件实例_python 发邮件实例
- (c语言)和与积的运算第三篇
- ] ssh登录慢的原因
- MIPI related
- Pytorch+Tensorboard混淆矩阵可视化
- 使用jquery-qrcode生成二维码
- 是什么在主宰着我们自身的行动?
- 百度投资了光学AI芯片初创公司Lightelligence
- Vue-JSON编辑器组件的简单使用
- pythonista安卓_Android平台有哪些软件类似于iOS上的JSbox、Pythonista和Thor?
- 职称计算机题库 云盘,职称计算机考试题库「附答案」
- 【梳理】离散数学 第10章 群与环 10.2 子群与群的陪集分解
- Yolov5笔记--检测bilibili下载好的视频
- 【IXDC 2014】小米、BroadLink对垒智能Wi-Fi模块
- 《干法》喜欢的金句(一)
- 【Caffe】Windows下caffe安装详解
- 视频一键去水印,抖音快手短视频去水印软件,安卓软件,免登录,支持全平台!
- desktop不可用。如果该位置位于这台电脑上,请确保设备或驱动器已连接,或者光盘已插入。如果该位置位于网络上请确保已连接到网络或Internet,然后重试。如果仍然找不到该位置,则他可能已移动或删除
- 上海财经应用统计考python_19上海财经大学应用统计专硕考研初试复试帖
- python之pip安装第三方库
热门文章
- 一场技术人的年终盛典:9个老兵对2016年总结与思考
- Week15—字典树应用,字符串包含问题
- WiFi穿墙手册:解读天线、dbi、发射功率和无线信号的关系
- PyMouse模拟鼠标键盘操作
- 【学习亚马逊AWS IOT体系有感---万物互联(物联网)】
- mysql增加数据 条件,mysql根据条件决定是否插入数据
- Laya 【U3D场景的 .ls场景】 【Laya.URL.basePath远程加载】 【加载分包】,【进度条】
- Xamarin.Forms学习之路——MarvelCard改造版
- 硬件开发笔记(一):高速电路设计Cadence Aleegro软件介绍和安装过程
- C语言实现,古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)