CLEAR loAcroApp = CREATEOBJECT("AcroExch.App") loAcroApp.Minimize(.T.) loAcroApp.Show() loAVDoc = CREATEOBJECT("AcroExch.AVDoc") lcPdfFile = "Q:\DEV\HELP\OfficeAutomationVFP.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 = "Advanced" 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