C# 多个PDF文件合并 急!在线等!

问题描述

下面代码的目的是将另外一个PDF文件(file2)内容追加到第一个PDF文件(file)尾,但合并的结果是第一个文件的内容被覆盖了。System.IO.FileStreamfs=newSystem.IO.FileStream(file.FullName,System.IO.FileMode.Append,System.IO.FileAccess.Write);System.IO.FileStreamsr=newSystem.IO.FileStream(file2.FullName,System.IO.FileMode.Open);byte[]bData=newbyte[sr.Length];sr.Read(bData,0,bData.Length);fs.Write(bData,0,bData.Length);sr.Close();fs.Flush();fs.Close();请问怎么解决被覆盖的问题。还有如果合并成功,如何保证追加的内容是另起一页。谢谢!

解决方案

解决方案二:
你这样写是不成的pdf文件读写是有格式的internalvoidPopulateRelatedObjects(PdfFilePdfFile,Hashtablecontainer){Matchm=Regex.Match(this.OriginalText,@"d+0R[^G]");while(m.Success){intnum=int.Parse(m.Value.Substring(0,m.Value.IndexOf("")));boolnotparent=!Regex.IsMatch(this.OriginalText,@"/Parents+"+num+"0R");if(notparent&!container.Contains(num)){PdfFileObjectpfo=PdfFile.LoadObject(num);if(pfo!=null&!container.Contains(pfo.number)){container.Add(num,null);pfo.PopulateRelatedObjects(PdfFile,container);}}m=m.NextMatch();}}这地方写的很详细http://www.codeproject.com/KB/cs/giospdfsplittermerger.aspx?fid=247540&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=1
解决方案三:
以你的写法,确实只有第二个文件。并不是你的程序有问题,而在于格式。pdf格式是从后向前看的。一般来讲,每段开头是定义本段的名称和数据等信息。而结尾才是定义本文章的内容排列顺序等总的信息。所以,你的程序处理后的那个文件,再次打开后,pdf阅读器从后向前查找定义,根本找不到第一个文件的那些说明,所以,就不显示。

时间: 2024-09-15 20:13:24

C# 多个PDF文件合并 急!在线等!的相关文章

pdf文件合并教程

  第一步:运行迅捷PDF软件,选择将文件合并为PDF. 第二步:然后就是添加文件到软件中,支持多个PDF文件的批量转换,点击"添加文件"或者将文件直接拖拽到软件中. 第三步:添加完成后点击右下角的"合并软件"即可.

Office Web App2013 在线查看PDF文件

经常会有客户问,在SharePoint中,如何在浏览器中查看与编辑文档,通常给出的解决方案是集成Office Web App. 而在实际应用过程中,客户通常会要求实现PDF文件在线查看,对于PDF文件,office web App微软一直没有提供官方支持.为了实现这个功能,开发人员通常采用如下两种方式: 1.修改SharePoint,使PDF文件默认在浏览器中打开,这种方式,实质上是告诉浏览器,文档由浏览器调用,根据本地文档关联调用本地客户端进行呈现,这种方式就要求客户端安装adobe read

如何在Linux中合并多个pdf文件?

风信网(ithov.com)原创文章:在Linux中进行批量处理pdf文件,我们需要将多个pdf文件合并成一个文件,我们可以使用以下命令来完成: [root@localhost www]#&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=out.pdf ithov1.pdf ithov2.pdf ithov

苹果mac合并pdf文件的方法

要将两个或多个PDF文件合并为一个,只需使用Mac上的预览应用即可. 1.如下所示我们选要合并的pdf文件,如下所示. 2.然后右击,在弹出菜单中我们点击"打开方式"-预览. 3.这样的话就会显示预览就会打开这些PDF,并在侧边栏中以缩略图形式显示,效果如下所示. 4.拖动侧边栏中的第二个PDF缩略图到第一个PDF缩略图中,然后松开.拖动的时候你会在光标上看到一个绿色的图标. 5.这样就合并成功PDF文件中. 6.我们现在可以打开pdf文件看看是不是合并成功了.

PDF文件不能打印怎么办?

  pdf文件不能打印怎么办? 可能原因⒈)如果不是什么重要文件,网络中可以找到的很多的话,建议下载别的类似PDF文件试试,虽然PDF可能会出现以上原作者限制的情况,但并不是很多数,因此如果方便,建议重新查找类似内容PDF文件再打印. 可能原因⒉)如果是该文件很难找,则也是有办法的,不过我们需要借助一款软件:PDFSpliter. PDFSpliter是一款十分热门的软件,主要功能是将多页大PDF,拆分成多个单页小PDF格式,并且可以可设置多个监测文件夹,自动批量转换. 破解pdf文件不能打印的

急急急 iTextSharp合并PDF文件的怎么调整单页方向?

问题描述 用iTextSharp把几个PDF合并成一个PDF,但是这几个PDF文件有横向排版的也有纵向排版的,怎么把这些PDF合成一个统一方向的一个文件.合并代码如下:publicstaticvoidHePDF(stringpdfFolderPath){if(pdfFolderPath!=""||pdfFolderPath!="\"){PdfReaderreader;Documentdocument=newDocument(PageSize.A4.Rotate())

.NET中在线阅读大体积的PDF文件改怎么做?

问题描述 现在客户的需求是400多MB的PDF文件需要在线阅读,并且不能下载,各位兄弟谁有思路或好的示例能够提供下么?万分感谢了,急!! 解决方案 解决方案二:这个和大小有关系吗?使用PDF插件显示呗如果是怕文件太大,加载速度慢可以后台先把PDF转换成图片,然后前台动态加载图片,类似分页查询解决方案三:将PDF每一页分别转成图片,目前有许多免费软件可以用你的.net程序调用(dll调用或者使用exe/Process调用).这类项目从实用角度,主要是解决大数据量需求的问题.而不是小功能的实现问题.

PHP实现在线阅读PDF文件的方法

 本文实例讲述了PHP实现在线阅读PDF文件的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php if(!function_exists('read_pdf')) { function read_pdf($file) { if(strtolower(substr(strrchr($file,'.'),1)) != 'pdf') { echo '文件格式不对.'; return; } if(!file_

Mac上如何使用预览应用合并 PDF 文件

1.选择两个或多个 PDF 进行合并. 2.右键鼠标选择"打开方式"-预览. 3.如果上述步骤操作无误的话,那么预览就会打开这些 PDF,并在侧边栏中以缩略图形式显示. 4.拖动侧边栏中的第二个 PDF 缩略图到第一个 PDF 缩略图中,然后松开.拖动的时候你会在光标上看到一个绿色的图标. 5.预览应用这时候就会将这些 PDF 文件进行合成,刚刚拖拽的 PDF 将会加入到现有的 PDF 文件中. 6.现在你可以打开原来的 PDF 文件,看看合并是否成功.