寻找比这里更新、更简单的解决方案:如何计算多个 PDF 文件中的页数?
或者至少解释如何下载和安装 cygwin
答案1
这里有漂亮的 Excel 和 VBA 解决方案:https://www.extendoffice.com/documents/excel/5330-excel-vba-pdf-page-count.html
- 打开您想要获取 Pdf 文件和页码的工作表。
- 按住 ALT + F11 键,将打开 Microsoft Visual Basic for Applications 窗口。
- 单击插入 > 模块,然后在模块窗口中粘贴以下宏。VBA 代码:在工作表中列出所有 Pdf 文件名和页码:
Sub Test()
Dim I As Long
Dim xRg As Range
Dim xStr As String
Dim xFd As FileDialog
Dim xFdItem As Variant
Dim xFileName As String
Dim xFileNum As Long
Dim RegExp As Object
Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
If xFd.Show = -1 Then
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
xFileName = Dir(xFdItem & "*.pdf", vbDirectory)
Set xRg = Range("A1")
Range("A:B").ClearContents
Range("A1:B1").Font.Bold = True
xRg = "File Name"
xRg.Offset(0, 1) = "Pages"
I = 2
xStr = ""
Do While xFileName <> ""
Cells(I, 1) = xFileName
Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "/Type\s*/Page[^s]"
xFileNum = FreeFile
Open (xFdItem & xFileName) For Binary As #xFileNum
xStr = Space(LOF(xFileNum))
Get #xFileNum, , xStr
Close #xFileNum
Cells(I, 2) = RegExp.Execute(xStr).Count
I = I + 1
xFileName = Dir
Loop
Columns("A:B").AutoFit
End If
End Sub
复制
粘贴代码后,按F5键运行此代码,弹出一个浏览窗口,请选择包含您要列出并统计页码的Pdf文件的文件夹,看截图:
然后,单击“确定”按钮,所有 Pdf 文件名和页码都列在当前工作表中,见截图:
答案2
可以使用PDFsam 基础版:
- 免费
- 可在 Microsoft Windows 10、其他一些 Windows 版本、Mac OS X 和 Linux 上运行
- 有便携版本(至少在 Windows 上)
- 可以轻松同时计算多个 PDF 文件的页数: