ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6765|回复: 21

[求助] 请教pdf转图片问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-6-5 13:10 | 显示全部楼层 |阅读模式
之前2003,操作pdf转图片没有问题
excel2010 win7 32位 转图片转不了,网上的老信息是2003和2007可以
不知道2010以上的版本哪个版本支持
以下全都不能用
'com.adobe.acrobat.eps"                      eps
'com.adobe.acrobat.html-3-20"                html, htm
'com.adobe.acrobat.html-4-01-css-1-00"       html, htm
'com.adobe.acrobat.jpeg"                     jpeg, jpg, jpe
'com.adobe.acrobat.jp2k"                     jpf, jpx, jp2, j2k, j2c,jpc
'com.adobe.acrobat.doc"                      doc
'com.adobe.acrobat.png"                      png
'com.adobe.acrobat.ps"                       ps
'com.adobe.acrobat.rtf"                      rtf
'com.adobe.acrobat.accesstext"               txt
'com.adobe.acrobat.plain-text"               txt
'com.adobe.acrobat.tiff"                     tiff, tif
'com.adobe.acrobat.xml-1-00"                 xml


另外一种方式也行不通
    Dim oPres As Presentation'这里出错
    Dim oSh As Shape
   
    Dim sngWidth As Single
    Dim sngHeight As Single
    sngWidth = 612
    sngHeight = 792
   
    Set oPres = Presentations.Add'这里也出错



我需要的是可以搜索pdf文件关键字,并定位到指定页码,并删除其余页面,然后剩下的单页需要保存成图片
现在就是不能保存成图片,不知道哪位大神知道有其他版本可以操作

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-6-5 14:25 | 显示全部楼层
刚发现xp 下vb生成的exe文件可用
win7下无效,难道是win7问题

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-6-5 15:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
看来只能用API+第三方了。。。。。。。。。。。。。。。。。。。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-7-25 18:39 | 显示全部楼层
操作已打开的pdf文件要用objAcroApp.GetActiveDoc()

TA的精华主题

TA的得分主题

发表于 2017-7-25 21:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2017-7-25 21:40 | 显示全部楼层
PDF Cov JPG.rar (56.55 KB, 下载次数: 228)

请看附件,我用excel2013 ,测试了没有问题。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2017-7-25 21:41 | 显示全部楼层
Sub test()

    Dim oaapp As New Acrobat.AcroApp
    Dim oaavd As New Acrobat.AcroAVDoc
    Dim oapdd As Acrobat.AcroPDDoc
    Dim i As Long
    Dim jso As Object

    i = oaapp.Show

    i = oaavd.Open("D:\TEST.pdf", "")

    Set oapdd = oaavd.GetPDDoc()

    Set jso = oapdd.GetJSObject
   
    jso.SaveAs "D:\test-01.jpeg", "com.adobe.acrobat.jpeg"

    i = oaavd.Close(1)

    i = oaapp.Hide
    i = oaapp.Exit

    Set jso = Nothing
    Set oaavd = Nothing
    Set oaapp = Nothing
   
End Sub

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-7-25 22:21 | 显示全部楼层
yyfdh 发表于 2017-7-25 21:41
Sub test()

    Dim oaapp As New Acrobat.AcroApp

objAcroAVDoc.FindText(关键字, 0, 0, 0) '搜索关键字
objAcroAVDoc.ShowTextSelect(),定位文本
objAcroPDDoc.GetNumPages()‘总页数
objAcroPDPage.GetNumber’当前页码
objAVPageView.Goto(要跳转的页码)

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-7-25 22:24 | 显示全部楼层
yyfdh 发表于 2017-7-25 21:41
Sub test()

    Dim oaapp As New Acrobat.AcroApp

CommandString = "C:\Program Files\gs\gs8.64\bin\gswin32c.exe -dFirstPage=" & 起始页 & " -dLastPage=" & 终止页 & " -dSAFER -dEPSCrop -dBATCH -sDEVICE=jpeg64m -dNOPAUSE -r" & 分辨率 & " -dEPSCrop -sDEVICE=jpeg  -sOutputFile=" & 文件输出路径 & "  " & PDF路径
用此工具生成图片即可

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-7-25 22:39 | 显示全部楼层
yyfdh 发表于 2017-7-25 21:41
Sub test()

    Dim oaapp As New Acrobat.AcroApp

DDEExecute lChanNo, "[DocDeletePages(" & PATH & ",1,3)]"'删除页码范围
先从最后页删除,到当前页面
然后再从第一页到第N页,剩下就是想保留页面的范围。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-9-30 02:20 , Processed in 0.052736 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表