| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2608 人关注过本帖
标题:各位好,打开PDF文档,另存为TXT文件,可以用vfp代码来实现吗。tks!
只看楼主 加入收藏
jjoojj
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2014-8-12
结帖率:16.67%
收藏
已结贴  问题点数:20 回复次数:15 
各位好,打开PDF文档,另存为TXT文件,可以用vfp代码来实现吗。tks!
各位好,打开PDF文档,另存为TXT文件,可以用vfp代码来实现吗。tks!
2017-04-14 08:36
红星二锅头
Rank: 8Rank: 8
等 级:贵宾
威 望:46
帖 子:491
专家分:754
注 册:2016-8-25
收藏
得分:0 
如果你有 Adobe Acrobat 5.0+ 的,你可以 Adobe PDF 自动化,核心代码是:

oApp = Createobject("AcroExch.App")
oAvDoc = Createobject("AcroExch.AVDoc")
oDoc = Createobject("AcroExch.PDDoc")

团队红星二锅头,队长王猛,领队李冲,顾问杨伟,副队张挺,外联马彪,内勤韩秀,人事顾闯,财务赵魁,后勤周强
2017-04-14 10:38
红星二锅头
Rank: 8Rank: 8
等 级:贵宾
威 望:46
帖 子:491
专家分:754
注 册:2016-8-25
收藏
得分:0 
如果你是 Adobe Acrobat 5.0  以下的版本,你只能用 PDF2Text/Html 等第三方工具转化

[此贴子已经被作者于2017-4-14 10:40编辑过]


团队红星二锅头,队长王猛,领队李冲,顾问杨伟,副队张挺,外联马彪,内勤韩秀,人事顾闯,财务赵魁,后勤周强
2017-04-14 10:38
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
以下是引用红星二锅头在2017-4-14 10:38:25的发言:

如果你有 Adobe Acrobat 5.0+ 的,你可以 Adobe PDF 自动化,核心代码是:

oApp = Createobject("AcroExch.App")
oAvDoc = Createobject("AcroExch.AVDoc")
oDoc = Createobject("AcroExch.PDDoc")


项目创建后,打开 和 另存为… 代码如何写?我也需要。谢谢!

只求每天有一丁点儿的进步就可以了
2017-04-14 14:56
红星二锅头
Rank: 8Rank: 8
等 级:贵宾
威 望:46
帖 子:491
专家分:754
注 册:2016-8-25
收藏
得分:20 
afile = Getfile('pdf')
If Empty(afile)
    Return
Endif

oApp = Createobject("AcroExch.App")
oAvDoc = Createobject("AcroExch.AVDoc")
oDoc = Createobject("AcroExch.PDDoc")

oAvDoc.Open(afile,  "")  && 打开
oAvDoc.Save(lcFileName, lnFlag)  && 保存
oAvDoc.SaveAs(lcFileName, lnType, lnFlag)  && 另存为
oAvDoc.Close()  && 关闭

我是 V1.3 版的,没法测试,记得应该是这样子的
有个 Adobe Acrobat API 手册,官网上可以找得到

团队红星二锅头,队长王猛,领队李冲,顾问杨伟,副队张挺,外联马彪,内勤韩秀,人事顾闯,财务赵魁,后勤周强
2017-04-14 16:02
红星二锅头
Rank: 8Rank: 8
等 级:贵宾
威 望:46
帖 子:491
专家分:754
注 册:2016-8-25
收藏(1)
得分:0 
这个是我以前收藏的代码,提取 PDF 中的关键字,储存到游标中,
直接代开 PDF 文件,不需要另存为 TXT 文件。
需要下载 Adobe SDK 包

Clear
loAcroApp = Createobject("AcroExch.App")
loAcroApp.Minimize(.T.)
loAcroApp.Show()
loAVDoc = Createobject("AcroExch.AVDoc")
lcPdfFile = "D:\MyPath\MyVFP.pdf"
loAVDoc.Open(lcPdfFile, "PDF")
loAvPage = loAVDoc.GetAVPageView()
loPDDoc = loAVDoc.GetPDDoc()
* # of pages in the PDF
lnNumPages = loPDDoc.GetNumPages()

loAVDoc.ClearSelection()

Create Cursor crsTextFound ( PageNum I, Offset I)

llCaseSensitive  = .T.
llWholeWordsOnly = .T.
* Start search from the beginning (Page 0)
llReset = .T.
lcSearchFor = "这里是你要搜索的字符串/Key"

llTextFound = loAVDoc.FindText(lcSearchFor, llCaseSensitive, llWholeWordsOnly, llReset)
* Start search on the current page
llReset = .F.
lnCount = 0
lnPageNum = 0

Do While llTextFound
    lnOffset = 0
    lnPageNum = loAvPage.GetPageNum()
    Insert Into crsTextFound  Values (lnPageNum, lnOffset)
    lnCount = lnCount + 1
    If lnPageNum+1 >= lnNumPages
        Exit
    Endif
    loAVPage.Goto(lnPageNum+1)
    llTextFound = loAVDoc.FindText(lcSearchFor, llCaseSensitive, llWholeWordsOnly, llReset)
    Wait Window Nowait "Page " + Transform(lnPageNum+1) + " of " + Transform(lnNumPages)
Enddo

loAcroApp.Restore(.T.)

If Reccount() > 0
    * Move to the first page where text has been found
    Go Top
    loAVPage.Goto(crsTextFound.PageNum)
    llTextFound = loAVDoc.FindText(lcSearchFor, llCaseSensitive, llWholeWordsOnly, llReset)
Endif

loAvPage = Null

* Close Acrobat, if necessary
* loPDDoc.Close()
* loPDDoc = Null
* loAVDoc.Close(.T.)
* loAVDoc = Null

* Exit acrobat
* loAcroApp.Exit()

Wait Clear
Return

团队红星二锅头,队长王猛,领队李冲,顾问杨伟,副队张挺,外联马彪,内勤韩秀,人事顾闯,财务赵魁,后勤周强
2017-04-14 16:42
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
作记号备用,谢谢二锅头。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2017-04-14 19:42
hyswcyh
Rank: 8Rank: 8
等 级:贵宾
威 望:20
帖 子:391
专家分:896
注 册:2004-11-23
收藏
得分:0 
没用过,收藏!
2017-04-15 08:41
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1738
专家分:3329
注 册:2012-2-29
收藏
得分:0 
谢谢分享!
2017-04-15 18:31
jjoojj
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2014-8-12
收藏
得分:0 
回复 6楼 红星二锅头
运行后后提示:找不到ACROEXCH.APP类定义,怎么办,请帮忙。tks!
红星二锅头,你好:能不能帮帮忙啊。tks!


[此贴子已经被作者于2017-4-18 12:13编辑过]

2017-04-17 11:12
快速回复:各位好,打开PDF文档,另存为TXT文件,可以用vfp代码来实现吗。tks!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031451 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved