VB.NET 拆分、合并PDF工具(PDF批量打印)

2021-02-05 14:09:50 浏览数 (1)

VB.NET 合并PDF工具(PDF批量打印)

有粉丝后台留言想要拆分PDF文档的工具,那么他来了.....

上两期原文

问:为什么要自己做,不使用网上的现成工具?

答:因现在网上99%以上的PDF合并工具都是需要收费,或者要使用收费的破J版,或者是一些网页的在线服务不能上传和合并大批量的文件(这也涉及到文件的安全性)所以想着自己弄一个.

问:这款小工具能为工作解决那些问题?

答:开发这款小工具主要解决的问题是大批量打印PDF文件,平常在工作中我们常常需要打印大批量的PDF文件,我们通常的操作就是使用PDF阅读器,一个个打开然后,然后就是一个个点击打印(这是我知道的方式哈,有更简洁的方式请广大的网友分享一下,让我学习学习),这样就要耗费我们非常多的时间效率低下;我想到的方式就是使用程序一个个批量发送到打印机打印,但这种方式有一个弊端就是不稳定有可能会中断,然后就不知道自己打印到那一份文件了,同时几个人打印也容易被人插进来,导致文件错乱,不好分类;后来我就想到了一个方式就是把PDF一次性合并成一个文件,然后发送到打印机,这样就不怕中断,因它只是一个单一文件,同时打印别人也无法插进来,要等当前单个文件打印完成后别人才能插进来,文件也不会出现错乱,不用可以去分类,这就是开发这个小工具的意义所在.

本期只做上期VB.NET 合并PDF工具(PDF批量打印)的补充,这次新增了批量拆分PDF文档操作,下面看演示

核心代码

代码语言:javascript复制
    Sub Split_all_pdf(datapath As String, outpath As String)
        Try
            Dim input_doc As PdfDocument = PdfReader.Open(datapath, PdfDocumentOpenMode.Import)
            Dim name As String = System.IO.Path.GetFileNameWithoutExtension(datapath)
            Dim idx As Integer = 0
            While idx < input_doc.PageCount
                Dim out_doc As New PdfDocument With {
        .Version = input_doc.Version
      }
                out_doc.Info.Title = String.Format($"{input_doc.Info.Title}_页面{idx   1}")
                out_doc.Info.Creator = input_doc.Info.Creator
                out_doc.AddPage(input_doc.Pages(idx))
                out_doc.Save($"{outpath}{name}_第{idx   1}页.pdf")
                idx  = 1
            End While
        Catch ex As Exception
            Debug.WriteLine(datapath)
        End Try
    End Sub

0 人点赞