(решено) PDF на входе, VBScript возвращает кол-во страниц

Программирование на Active Server Pages и VBScript.
Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

(решено) PDF на входе, VBScript возвращает кол-во страниц

Сообщение Adam Smith » 05.10.2022 (Ср) 15:03

Данный VBScript получает на вход путь\имя PDF-файла и должен вернуть кол-во страниц в этом PDF-файле.
Код: Выделить всё
Option Explicit
Dim oFSO, oFile, sPDF, sText, aResult, lTmp1, lTmp2, iMax

sPDF = WScript.Arguments(0)
Set oFSO = CreateObject("Scripting.FileSystemObject")
With oFSO
'быстрый поиск
   Set oFile = .OpenTextFile(sPDF, 1, False, 0)
   For lTmp2 = 0 To 12
      sText = oFile.Readline()
      lTmp1 = InStr(sText, "/N ")
      If lTmp1 > 0 Then Exit For
   Next
If lTmp1 > 0 Then
   sText = Right(sText, Len(sText) - (lTmp1 + 2))
   lTmp2 = InStr(sText, "/") - 1
   If lTmp2 > 0 Then sText = Left(sText, lTmp2)
   iMax = CInt(sText)

'медленный поиск
Else
   Set oFile = Nothing: Set oFile = .OpenTextFile (sPDF, 1, False, 0)
   Do Until oFile.AtEndOfStream
      sText = oFile.Readline()
      aResult=Split(sText, "/Count ")
   For lTmp1 = 1 To UBound(aResult)
      lTmp2 = Instr(aResult(lTmp1), vbCr) - 1
      If lTmp2 < 0 Or lTmp2 > Instr(aResult(lTmp1), "/") - 1 Then lTmp2 = Instr(aResult(lTmp1), "/") - 1
      If lTmp2 > 0 Then sText = Trim(Left(aResult(lTmp1), lTmp2)) Else sText = Trim(aResult(lTmp1))
      If IsNumeric(sText) Then lTmp2 = CInt(sText) Else lTmp2 = 0
      If iMax < lTmp2 Then iMax = lTmp2
   Next
   Loop
End If
   If iMax = 0 Then iMax = 2022
   MsgBox iMax
   WScript.Quit iMax
End With

Из командной строки он запускается нормально с аргументом командной строки
wscript d:\Basic\Background\GetMaxPage.vbs d:\Basic\PDFы\Eff_hack.pdf

Мне нужно запускать его из программы(VB6) и каким-то малозатратным образом организовать обратную связь, чтобы получить результат, длинное целое.
Естественно выполнение скрипта никак не должно "подвешивать" мою основную программу. Пожалуйста подскажите как это сделать наилучшим образом.
Последний раз редактировалось Adam Smith 11.10.2022 (Вт) 16:17, всего редактировалось 4 раз(а).

Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

Re: PDF на входе VBScript'a как организовать из него фидбэк?

Сообщение Adam Smith » 05.10.2022 (Ср) 16:20

Пробую WSH: обмен данными и объектами между скриптами — 2

Апдейт 10.10.2022
Кажется всё гораздо проще: WScript.Quit iMax
Возвращаю кол-во страниц в качестве ExitCode


Вернуться в ASP и VBScript

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

    TopList