|
分享 EXCELvba 封装函数之取得PDF文件尺寸,高X宽的源代码
- Public Function GetPDFPageSize(ByVal filePath As String, ByVal fileName As String, Optional units As String = "I") As String
- '获取PDF页面的宽度和高度
- 'filePath 文件地址
- 'fileName 文件名
- 'unit 单位(I:英寸,C:厘米),默认是I
-
- ' 创建PDF文档对象
- Dim pdDoc As Object
- Set pdDoc = CreateObject("AcroExch.PDDoc")
-
- ' 打开PDF文件
- If pdDoc.Open(filePath & "" & fileName) Then
- ' 获取第一页的PDF页面对象
- Dim page As Object
- Set page = pdDoc.AcquirePage(0)
-
- ' 获取页面尺寸
- Dim pageRect As Object
- Set pageRect = page.GetSize
-
- ' 根据所选单位进行转换
- Dim width As Double, height As Double
- Select Case units
- Case "I" ' 英寸
- width = pageRect.X '/ 72 * 96 ' 将页面宽度转换为英寸
- height = pageRect.y '/ 72 * 96 ' 将页面高度转换为英寸
- Case "C" ' 厘米
- width = pageRect.X '/ 72 * 2.54 ' 将页面宽度转换为厘米
- height = pageRect.y '/ 72 * 2.54 ' 将页面高度转换为厘米
- End Select
-
- ' 关闭PDF页面和文档对象
- ' page.Close
- pdDoc.Close
-
- ' 释放对象资源
- Set pageRect = Nothing
- Set page = Nothing
- Set pdDoc = Nothing
-
- ' 返回页面尺寸
- GetPDFPageSize = width & "x" & height
- End If
- End Function
复制代码
|
评分
-
1
查看全部评分
-
|