前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VB.NET 拆分、合并PDF工具(PDF批量打印)

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

作者头像
一线编程
发布2021-02-05 14:09:50
1.5K0
发布2021-02-05 14:09:50
举报
文章被收录于专栏:办公魔盒办公魔盒

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 办公魔盒 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档