Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > Форум Форум программистов > Форум C++ > Форум C++ Builder
Восстановить пароль Регистрация

Ответ Создать новую тему
 
14.03.2014, 09:10   #1
kevolk75
Новичок
Регистрация: 03.03.2013
Сообщений: 17
Репутация: 0 (0)
Узнать количество страниц в документах с расширением *.pdf и *.tif / C++ Builder

Приветствую всех форумчан!

Собственно, вопрос в сабже. Существуют ли какие-либо способы это узнать? В данный момент пока разбираюсь с pdf, копаюсь в библиотеке AcroPDF, но ничего дельного не нашёл. Может быть, как-то это можно сделать через OLE?

Пожалуйста, подскажите. Заранее благодарю.

Добавлено через 1 час 9 минут
Да, забыл уточнить - это нужно сделать в C++ Builder 6.
14.03.2014, 09:10
AdAgent
Объявления
14.03.2014, 23:50   #2
Avazart
Форумчанин
Регистрация: 10.12.2010
Сообщений: 14,895
Репутация: 4797 (3804)
Записей в блоге: 16
Лучшие ответы: 102
Узнать количество страниц в документах с расширением *.pdf и *.tif

Разбором самого файла - это раз, второй через COM
Другие темы раздела
из DBGrid в Word C++ Builder
HELP!!! .... как передать из DBGrid единственную выбранную запись (из большого списка базы данных) в Word ? Если просто из ComboBox, то понятно..., здесь же не могу разобраться... .... и сразу на эту же тему - как убрать границы из таблицы в Word-е (я не смог прикрутить код VB к Builder)?
C++ Builder Вероятность появления каждого символа в Memo
Помогите! Как подсчитать вероятность появления каждого символа в Memo. Я текстовый файл записываю в Memo, и нужно подсчитать вероятность появления каждого символа там, и вывести в Memo2 "Символ - Вероятность". Напривер Символ "a" - p(i)=0.5 . Помогите решить проблему.
17.03.2014, 04:05  [ТС]   #3
kevolk75
Новичок
Регистрация: 03.03.2013
Сообщений: 17
Репутация: 0 (0)
Узнать количество страниц в документах с расширением *.pdf и *.tif

Avazart, а что вы подразумеваете под разбором самого файла? И можно где-нибудь посмотреть примеры разбора подобных задач?
И ещё один вопрос - через SDK это возможно сделать? А то я прочитал на него документацию и там прямо есть функция получения количества страниц документа pdf.
Заранее благодарю за помощь.
17.03.2014, 04:18   #4
Avazart
Форумчанин
Регистрация: 10.12.2010
Сообщений: 14,895
Репутация: 4797 (3804)
Записей в блоге: 16
Лучшие ответы: 102
Узнать количество страниц в документах с расширением *.pdf и *.tif

Согласно формату файла.
Примерное описание- http://el-izdanie.narod.ru/gl3/3-2.htm
Старая тема- Кодконвертера файла rtf в pdf
17.03.2014, 04:18
AdAgent
Объявления
03.04.2014, 09:57  [ТС]   #5
kevolk75
Новичок
Регистрация: 03.03.2013
Сообщений: 17
Репутация: 0 (0)
Узнать количество страниц в документах с расширением *.pdf и *.tif

Avazart, спасибо большое за подсказку по PDF, по нему получилось! Хочу задать ещё вопрос - где можно более подробно изучить COM для разбора tiff? Я нашёл, например, эти ссылки:

http://www.blong.com/Conferences/Bor...++COM/3190.htm
http://www.rsdn.ru/article/com/introcom.xml

А где ещё можно прочитать про COM? Просто почитал данные темы и не совсем понятно - как и куда что подключать, какие настройки выбирать при настройке COM-объекта и т.п.
Заранее благодарю за помощь!
03.04.2014, 10:35   #6
Avazart
Форумчанин
Регистрация: 10.12.2010
Сообщений: 14,895
Репутация: 4797 (3804)
Записей в блоге: 16
Лучшие ответы: 102
Узнать количество страниц в документах с расширением *.pdf и *.tif

Про tiff не знаю, думаю для него можно найти использовать библиотеку без COM
03.04.2014, 12:52   #7
raxp
Модератор
Регистрация: 28.12.2010
Сообщений: 13,802
Репутация: 7450 (4552)
Записей в блоге: 330
Лучшие ответы: 193
Узнать количество страниц в документах с расширением *.pdf и *.tif

Для TIFF можно OLE-интерфейс MODI из MDIVWCTL.DLL:

Код Delphi
1
2
3
4
5
6
7
var doc :IDocument;
begin
  CoInitialize(nil);
  doc := tdocument.Create(nil);
  doc.create1(tifpath);
 
// doc.Images.Count - искомое количество страниц в многостраничном документе
04.04.2014, 07:47  [ТС]   #8
kevolk75
Новичок
Регистрация: 03.03.2013
Сообщений: 17
Репутация: 0 (0)
Узнать количество страниц в документах с расширением *.pdf и *.tif

raxp, спасибо за направление мысли, я начал использовать этот интерфейс и вроде уже первые ростки появились (по крайней мере, код стал уже выполняться ). Но возник такой вопрос. Вот мой код, где я считываю количество страниц:

Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
WideString file, fN, dN;
int kolvo = 0;
 
for (int i=0; i < ListView1->Items->Count; i++)
{
dN = ListView1->Items->Item[i]->SubItems->Strings[0];
fN = ListView1->Items->Item[i]->Caption;
file = dN+"\\"+fN;
 
try
{
IDocument *doc;
doc->Create(file);//указывает здесь на ошибку!
ListView1->Items->Item[i]->SubItems->Add(doc->Images->Count);
kolvo = kolvo + doc->Images->Count;
doc->Close(0);
}
catch (...)
{
ShowMessage("Ошибка! Не удалось считать количество страниц");
ListView1->Items->Item[i]->SubItems->
Add("Не удалось считать количество страниц!");
}
 
}
Компиляция в порядке проходит, но когда я нажимаю кнопку именно считывания tiff-файлов, он выдаёт ошибку Access Violation. Как это можно исправить? Или где-то есть ошибка в коде? MODI_TLB.h прописан, CoInitialize не помогает (происходит то же самое).
Заранее благодарю за помощь.
04.04.2014, 09:59   #9
raxp
Модератор
Регистрация: 28.12.2010
Сообщений: 13,802
Репутация: 7450 (4552)
Записей в блоге: 330
Лучшие ответы: 193
Узнать количество страниц в документах с расширением *.pdf и *.tif

MODI интерфейс должен быть зарегистрирован в системе.
04.04.2014, 10:23  [ТС]   #10
kevolk75
Новичок
Регистрация: 03.03.2013
Сообщений: 17
Репутация: 0 (0)
Узнать количество страниц в документах с расширением *.pdf и *.tif / C++ Builder

raxp, а что значит "зарегистрирован"? Где об этом можно почитать, узнать, как это сделать? А то впервые с подобными вопросами сталкиваюсь, пока не совсем понимаю эту технологию.
Заранее благодарю за помощь.
04.04.2014, 10:23
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
Visual Basic .NET: Как получить количество страниц в документе PDF
kak iz biblioteka pdf reader (Axdpdf) shitat countpage in.vbnet
Visual Basic .NET Sohib 04.06.2014 12:27
Софт: Как распечатать диапазон страниц многостраничного .tif?
Собственно сабж. Имеем многостраничный tif. Печатаю через стандартный просмотр изображений и факсов, и диспетчер рисунков office 2010. В интерфейсе нет меню выбора печати диапазона. Приходится перегонять tif в pdf через акробат проф и там уже выбирать печатаемый диапазон. Но это не удобно,...
Софт: Графические редакторы philko 23.01.2013 10:27
C#: Парсинг PDF в TIF: без Lock программа работает быстрее, но возникает ошибка
Добрый день, подскажите пожалуйста решение проблемы... Делаю прогу для парсинга PDF в TIF использую библиотеку ABCPDF if (ThreadOrNot == true) { try { Parallel.For(0, pdfdoc.PageCount, n => ...
C# .NET Ikaro 04.12.2012 16:45
VBA: Как узнать количество страниц в документе?
Подскажите пожалуйста, 1. как узнать количество страниц в документе, 2. как увеличить документ на одну страницу 3. начать печатать текст с новой страницы. Заранее благодарна.
VBA loginova 15.05.2008 17:18
VBA: Как узнать количество страниц в документе Word?
Как узнать количество страниц в документе Word?
VBA Fag2000@Ok.ru 03.02.2008 15:16
Опции темы

Текущее время: 01:33. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.