×

Loading...
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。

source code

string[] sourceFilesPath = new string[] {
@"C:\source\1.pdf",
@"C:\source\2.pdf",
@"C:\source\3.pdf"};
string mergedFilePath = @"C:\merge\merge123.pdf";

using (Document document = new Document(PageSize.A4, 0, 0, 0, 0)) {
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(mergedFilePath, FileMode.Create));
PdfReader.unethicalreading = true;
document.Open();
sourceFilesPath
.Select(file => new PdfReader(file))
.SelectMany(reader =>
Enumerable.Range(1, reader.NumberOfPages).Select(page => writer.GetImportedPage(reader, page)))
.ToList().ForEach(page => document.Add(iTextSharp.text.Image.GetInstance(page)));
}
Report

Replies, comments and Discussions:

  • 工作学习 / 学科技术 / 请教PDF高手:一、如何将三张PDF files合并到一份PDF file里?二、如何将一份PDF file里的三页分拆成三张独立的PDF file?先谢谢啦! +1
    如题
    • 一、如何将三张PDF files合并到一份PDF file里?File Explorer 里,选多个 PDF 文件,鼠标右键,找 Combine Files in Acrobat。 +1
      • 已在网上找到免费的软件做好了,谢谢!!
    • 二、如何将一份PDF file里的三页分拆成三张独立的PDF file?Tools --> Pages --> Split Document。 +1
    • 需要Adobe Pro.,
      • 就是木有Adobe Pro啊
    • ios本身就可以。
    • 要是会写程序的话,用个PDF的库,也就几行的事儿 +1
      • 好么,为了转个 PDF,还得现学 coding。 +1
        • 7,十几年前和PDF死磕过,那时候的巅峰时期,我用notepad就能把这事儿办了。 +1
          • 现在如果不用任何编程工具软件/套件,完全只用notepad来编程的才是真正的牛人吧?
            • 呃,PDF文件就是一个文本文件呀。
              • 也可能是个伪文本文件,其实只是个图片..... +1
                • 那也是个文本文件,你试试看呗。
                  • 俺说的是源/原始文件的格式,而看到的是文本还是图片,用软件可以随便转换的.....
                    • 对呀,你用文本编辑器打开pdf看看呗。
      • 呵呵,楼主要是会写程序还来问这个问题么?逻辑呀逻辑..... +1
        • 呃,我被不只一个“程序员”问过……
          • 半路出家的或伪程序员......至少悟性不适合干这行.....
      • 对,是这么回事,我底下随手写的那个合并程序,核心代码就5行,不知道还有没有更少的?
    • 如果以后不再需要对内容编辑,可将PDF文件当作一个图片来处理,随便找个图形处理软件来合并/分解,然后另存为pdf格式就完事了......
      • 嗯,我刚才打了一个类似办法,发完发现楼主问题已经解决,就删了。 +1
        • 那不但是懒人最简单的方法,也是值得推荐给非挨踢人士的方法,所以俺还是发了.....
    • 租Adobe Pro吧,
    • Google 一下 pdf merger,有free online tool +2
    • 打印。选存为PDF。想分几页就打几张。 +3
      • 👍 +2
      • 这个只能拆分,怎么合并呢? +1
    • 这个免费网站,贼贼好用。 +1
      Select multiple PDF files and merge them in seconds. Merge & combine PDF files online, easily and free.
      • 好呀。谢谢。 +2
    • 这个用c#+linqpad+iText很容易,我待会把截图放上来,你跟着一步一步做就好,懂coding最好,不懂也没关系,改2个参数就好
    • 拖进去和拖出来不就行了吗?mac user
    • c#+linqpad+iText 合并pdf files, 实际也就5,6行程序,非常简单,自己把source, merge替换成你要的pdf文件就好

       

      • source code
        string[] sourceFilesPath = new string[] {
        @"C:\source\1.pdf",
        @"C:\source\2.pdf",
        @"C:\source\3.pdf"};
        string mergedFilePath = @"C:\merge\merge123.pdf";

        using (Document document = new Document(PageSize.A4, 0, 0, 0, 0)) {
        PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(mergedFilePath, FileMode.Create));
        PdfReader.unethicalreading = true;
        document.Open();
        sourceFilesPath
        .Select(file => new PdfReader(file))
        .SelectMany(reader =>
        Enumerable.Range(1, reader.NumberOfPages).Select(page => writer.GetImportedPage(reader, page)))
        .ToList().ForEach(page => document.Add(iTextSharp.text.Image.GetInstance(page)));
        }
      • 这个程序稍微改改可以很灵活的合并,比如合并1,3,5页,or 2,4,6页,倒着合并,正着合并,任意条件合并;只要简单加一行.where(), OrderBy() 判断条件就好;ok, good luck
      • 这个可是砖家呀...... +1
        Sorry, not verify yet. Thanks lot anyway.
        • 多谢多谢,这属于举手之劳;我一会儿写一个GUI程序吧,其实合并、拆分pdf文件这个功能用的人不少,苦于没有Adobe Pro到处求救,我写完了大家随便下载,需要啥功能随时提,我心情好了就加 +1
          • 谢谢啦!届时一定要实用一下。挺实用的一个功能。
            • 好,其实界面设计要比核心代码设计麻烦的多,要考虑如何布置才能让人用的舒服,我先出个我的想像版,然后大家在集思广益 +1
            • 嗯,基本写完了,测了一下,挺好用,很灵活,我待会新开一贴让大家下载试用
    • windows store里的免费的xodo 有着超强的pdf处理功能,你说的都能实现。