|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
Как узнать количество страниц PDF-файла из Delphi? Тема уже не новая, но помогите пожалуйста узнать количество страниц PDF-файла без регистрации сторонних dll и т.д. Желательно на "чистом" Delphi. Может у кого есть рабочий вариант функции для чтения последних версий PDF-файлов. Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 00:31 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
SergeyKNP, Спецификация PDF занимает 600 страниц (это без учета шрифтов и кодировок). Длинноватая функция получится, не? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 00:49 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
SergeyKNP, Самый простой вариант, без парсинга всего документа: Читайте с конца файла блок trailer и над ним блок перекрестных ссылок xref. В trailer нужно вытащить значение нода /Root. По его значению(строка в таблице = номер) в таблице перекрестных ссылок берите смещение Root объекта для чтения. Читайте нод объекта между obj/endobj по данному смешению. В нем должна быть ссылка на каталог страниц /Pages. По ее номеру снова из таблицы xref берите смещение, читаете объект по смещению obj/endobj - это будет узел страниц. В нем ищите /Count , его значение и будет количеством страниц в документе. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 02:51 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
_Den_Z_, Ну только вот xref он не всегда над trailer. И формат самого xref не такой уж однозначный.А еще он может в стриме лежать... В общем, веселье только начинается. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 03:02 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
asviridenkov, я давно уже в стандарт заглядывал, сейчас глянул, Адоб рекомендует читать файл с конца после %%EOF искать startxref, после него будет смещение на xref. Насколько помню таблица ссылок не пакуется в стрим. Про Root правда не помню. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 03:23 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
_Den_Z_, Про xref уже правильнее, он ищется именно про startxref. Бывают, правда, совсем кривые документы, где и так не ищется но редко. А вот в стрим xref пакуется, к сожалению. Да еще и в отдельном формате, не таком как обычно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 04:33 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
Ах, да, еще не стоит забывать что xref он не один, это цепочка по которой надо пройти до конца. P.S. Чудный формат, простой и понятный. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 04:35 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
30.04.2021 04:35, asviridenkov пишет: > Ах, да, еще не стоит забывать что xref он не один, это цепочка по которой надо пройти до конца. > P.S. Чудный формат, простой и понятный. это потому, что в него понапихали мультимедийности, гипертекстовости и копирайтности. а пока он был клоном PostScript'а, был вполне прозрачным. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 11:06 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
SergeyKNP, Это если со сторонней DLL: a) https://www.sql.ru/forum/1288541/ PDF.dll from Google Chrome b) PDFium.dll c) Или вот нашёлся маленький проектик на C++ для подсчёта страниц в PDF, больше он ничего не делает хотя там почему-то внизу страницы кусок кода на Delphi, что есть очень странно http://angusj.com/delphitips/pdfpagecount.php ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 11:11 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
Рекомендую бесплатную библиотеку Quick PDF Library Lite , функция PageCount . Библиотеку можно использовать и в виде DLL, и в виде файлов DCU для каждой версии Delphi. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 12:15 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
asviridenkov _Den_Z_, Про xref уже правильнее, он ищется именно про startxref. Бывают, правда, совсем кривые документы, где и так не ищется но редко. И сам ридер читает такие документы где нет точки входа ? Интересно было бы посмотреть такой документ и его версию. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 12:59 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
_Den_Z_, Читает. Я в итоге тоже сделал. startxref там в космос показывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 13:13 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
asviridenkov, Такого не встречал, поэтому и было бы интересно посмотреть. Помню что линейные, после редактирования интерактивных форм могут содержать несколько блоков с %%EOF, и последний не всегда указывает на оригинальный документ. Там еще вроде, где-то размер добавляется, то ли в заголовке, толи в конце , чтобы найти нужную секцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2021, 14:18 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
crossa, "Рекомендую бесплатную библиотеку Quick PDF Library Lite, функция PageCount. Библиотеку можно использовать и в виде DLL, и в виде файлов DCU для каждой версии Delphi." почему-то не приходит ссылка для скачивания, может поделиться кто? Заранее благодарю. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2021, 10:22 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
скачал с https://downloadly.ir/, но в 10.4.1 не компилится :( ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2021, 10:46 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
Пришла ссылка на DebenuPDFLibrary1811 скачал, подключил, скомпилил тестовый проект, но PageCount всё время возвращает 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2021, 11:16 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Может кто знает, что я сделал не так? PDF-1.6 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2021, 11:34 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
Ищи на просторах интернета библиотеку Gnostice PDFtoolkit - это лучшая, полностью нативная, библиотека Дельфи для работы с PDF ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2021, 11:38 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
Если Вы используете полную версию библиотеки (надеюсь, Вы легально ее купили), то нужно вызвать функцию UnlockKey с регистрационным ключом. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2021, 12:29 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
И неплохо бы проверить, загрузился ли PDF-файл (функция LastErrorCode ). Код: pascal 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2021, 12:46 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
defecator, да, всё заработало...СПС!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2021, 13:08 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
Привет всем, Gnostice PDFtoolkit для Delphi 11 пока нет может появились варианты получения количества страниц PDF-файла без особых подпрыгиваний? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2021, 09:04 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
SergeyKNP Привет всем, Gnostice PDFtoolkit для Delphi 11 пока нет может появились варианты получения количества страниц PDF-файла без особых подпрыгиваний? если у тебя есть исходники PDFtoolkit, то перекомпилить под 11-й дельфи труда не представляет никакого ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2021, 16:14 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
defecator, в том то и дело, что исходников нет ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2021, 08:55 |
|
Как узнать количество страниц PDF-файла?
|
|||
---|---|---|---|
#18+
Наверху мой ответ был 22316757 Рекомендую способ через Pdf.dll от Google Chrome, всмысле единственный, который проверял Код: pascal 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2021, 11:24 |
|
|
start [/forum/topic.php?fid=58&startmsg=40067422&tid=2036945]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 154ms |
0 / 0 |