Подсчет страниц в PDF-файле [закрыт]
-
27-09-2019 - |
Вопрос
Я знаю о нескольких инструментах / библиотеках, которые могут это сделать, но я хочу знать, возможно ли это, просто открыв файл в виде текстового файла и выполнив поиск по ключевому слову.
Решение
Посмотри на это: 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/