问题点:
在日常工作是,有需要批量打印.pdf的需求,但是客户提供的是pdf档,在pdf档的最后一页是关于客户公司的信息,如果批量打印的话,会有大量重复无用的页面,只能通过手动设置打印页数,这无疑给工作造成上大量的工作。
解决方法:
step1:
通过网络搜索得到关于“通过查阅读pdf文件格式的标准或者官方的文件格式文档,可以得知,如果用二进制形式打开pdf文件的话,”/Count”后面出现的数字即为总页数。利用这个规则,可以使用如下的vba自定义函数获取pdf文件的总页数”通过他的代码,可以实现。
不过我对VBA也不是特别懂。
代码如下:
Function GetPageNum(sPath As String)
Dim iFN As Integer
iFN = VBA.FreeFile
Dim bFileSize As Long
bFileSize = VBA.FileLen(sPath)
Open sPath For Binary Access Read As iFN
Dim arrResult() As Byte
'读取字节流
arrResult = InputB(bFileSize, iFN)
Dim arrFind() As Byte
'要查找的字节串,"/Count"为pdf总页数的特征字符标识
arrFind = VBA.StrConv("/Count", vbFromUnicode)
'设置查找的起始位置
bPos = 0
bP