Вопрос

Я знаю о нескольких инструментах / библиотеках, которые могут это сделать, но я хочу знать, возможно ли это, просто открыв файл в виде текстового файла и выполнив поиск по ключевому слову.

Это было полезно?

Решение

Посмотри на это: http://www.freevbcode.com/showcode.asp?id=8153.
Редактировать: не работа, может быть слишком стар
Нашел это:

public static int GetNoOfPagesPDF(string FileName)
        {
            int result = 0;
            FileStream fs = new FileStream(FileName, FileMode.Open, FileAccess.Read);
            StreamReader r = new StreamReader(fs);
            string pdfText = r.ReadToEnd();
            System.Text.RegularExpressions.Regex regx = new Regex(@"/Type\s*/Page[^s]");
            System.Text.RegularExpressions.MatchCollection matches = regx.Matches(pdfText);
            result = matches.Count;
            return result;
        }

PS: проверено! Оно работает.посмотреть здесь источник

Другие советы

[Править:на основе отредактированного вопроса]

Это возможно путем чтения его как текстового файла и некоторого минимального синтаксического анализа.

Если вы сами читаете PDF-файл, то вам нужно будет выполнить синтаксический анализ.Каждая страница в формате PDF представлена объектом page.

Ниже приводится краткое описание спецификации pdf для обозначения страниц и ссылка на спецификацию pdf.

Утилиты XPDF (называемый XPDF-Utils на Debian) включает в себя приложение, называемое pdfinfo. Он распечатает количество страниц в файле, среди других данных.

http://www.linuxquestions.org/questions/programming-9/how-to-find-pdf-page-count-699113/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top