Если ЧислоВхождений > 0 Тогда
Для к = 0 По ЧислоВхождений - 1 Цикл
Match = Matches.Item(к);
Стр = Число(СтрЗаменить(Match.Value, "Count ", ""));
Если Стр > ВозвращаемоеЗначение Тогда
ВозвращаемоеЗначение = Стр;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Возврат ВозвращаемоеЗначение;
КонецФункции
Если кому-то интересно, в (1) есть ошибка.
Вот так правильно и гораздо быстрее:
Функция ОпределитьКоличествоСтраниц(ПутьКФайлуPDF)
ВозвращаемоеЗначение = 0;
ТД = Новый ТекстовыйДокумент;
ТД.Прочитать(ПутьКФайлуPDF);
КолСтр = ТД.КоличествоСтрок();
//будем использовать регулярные выражения
RegExp = Новый COMОбъект("VBScript.RegExp");
RegExp.Global = Истина;
RegExp.MultiLine = Ложь;
RegExp.Pattern = "Count [0-9]+";
Для к = 0 По ЧислоВхождений - 1 Цикл
Match = Matches.Item(к);
//Сообщить(Match.Value);
Стр = Число(СтрЗаменить(Match.Value, "Count ", ""));
Если Стр > ВозвращаемоеЗначение Тогда
ВозвращаемоеЗначение = Стр;
КонецЕсли;
КонецЦикла;
запуск: pdfinfo.exe file.pdf
запуск с сохранением результата в файл: cmd /c pdfinfo.exe file.pdf > 1.txt
Ну, а файл уже можно читать 1с-кой.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший