打开pdf文档,查找到指定字符串,然后插入书签
以下代码先设置一个待查找字符串,用findtext方法查找,然后用createchild方法插入书签。代码的运行环境为Win81,Word2010 VBA,Acrobat Pro DC,在本机测试成功。
使用到的主要方法为AVDocFindText和BookMarkcreateChild。
AVDocFindText有4个参数:
szText,要查找的字符串
bCaseSensitive,是否区分大小写,正数为区分,0为不区分
bWholeWordsOnly,是否匹配整个单词,正数为匹配,0为不匹配
bReset,查找开始的位置,正数则从第一页开始,0则从当前页开始
BookMarkcreateChild有3个参数
cName,用户在导航面板中看到的书签的名称。
cExpr,单击书签时要执行的表达式,为JavaScript
nIndex,(可选)在书签的子数组中,创建新子书签的基于0的索引。默认值为0。
Sub Pdf添加书签()
'为某书添加书签
Dim App As New AcrobatAcroApp
Dim PDoc As New AcrobatAcroPDDoc, AVDoc As New AcrobatAcroAVDoc
Dim Jso As Object
Dim BMark As Object '不能声明为AcrobatAcroPDBookmark,否则createchild方法不可用。
Dim PFile As String, WordTF As String, PageNum As Long
PFile = "F:\指定文件pdf" '要插入书签的pdf文件
WordTF = "要查找的"
If PDocOpen(PFile) Then
Set Jso = PDocGetJSObject
Set AVDoc = PDocOpenAVDoc("") '获得一个可见文档
JsobookmarkrootRemove '移除原有的所有书签
End If
If AVDocFindText(WordTF, 0, 0, 1) Then '从第一页开始,如果找到了字符串WordTF一次
PageNum = AVDocGetAVPageViewGetPageNum '获得当前页码
Set BMark = Jsobookmarkroot '设置书签根对象
BMarkcreateChild WordTF, "thispageNum=" & PageNum, 0 '创建一个书签
PDocSave 1, PFile
End If
PDocClose
AppCloseAllDocs
AppHide
AppExit
Set AVDoc = Nothing
Set PDoc = Nothing
Set App = Nothing
Set BMark = Nothing
Set Jso = Nothing
End Sub
先获取读取文件的权限,再遍历文件夹及子文件夹,直到结束就可以了。
private void getAllFiles(File root,ArrayList<File> results){
File files[] = rootlistFiles();
if(files != null){
for (File f : files){
if(fisDirectory()){
getAllFiles(f,results);
}
else{
String name = fgetName();
String extension
= namesubstring(namelastIndexOf(""));
if(extensionEqual("pdf")){
resultsadd(f);
}
}
}
}
}
1、首先双击打开PDF应用。
2、如图点击红圈里的“合并文件”,轻轻点击鼠标左键打开。
3、点击后出现如下图的d屏。
4、选中要计算页数的文件。
5、将文件拖拽到步骤四的d屏里。如图所示。
6、拖拽完成后点击红圈里的“下一步”。
7、点击“创建”。
8、最后就会看到已经在提取文件并计算了,左下角红圈里是计算后的页数显示,计算完成后选择右上角的“X”退出不保存即可。
你是想获得MATLAB画这张图的数据?不是吧?这图是MATLAB根据矩阵数据生成的图,出来后就没有数据了,已经是了呀!
建议你如果想要一张这样的,你完全可以自己模拟一下数据figure出来,否则你只有找到PDF文档中的源代码或者原始数据了,希望对你有帮助
以上就是关于如何用VBA实现打开PDF并查询数据,获取页码,或是提取该页面为新文件全部的内容,包括:如何用VBA实现打开PDF并查询数据,获取页码,或是提取该页面为新文件、android开发,想要获取手机内的所有pdf文件,该怎么做、vba如何批量获取pdf页数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)