Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.08.2012, 14:26   #1
Fastex
Пользователь
 
Регистрация: 02.12.2010
Сообщений: 29
Вопрос Работа с *.PDF в C++ Builder

Основная цель создать справку на основе PDF файла. Суть в том, что бы при клике на кнопку "Справка" с разных мест программы, открывался файл *.pdf на определенной странице. Может быть ориентируясь по закладкам. Пробовал с ActiveX, но что-то там не очень понятно, что и как =\.
Есть какие-то идеи или конкретные примеры ?
Fastex вне форума Ответить с цитированием
Старый 20.08.2012, 17:52   #2
Arishk@
Пользователь
 
Регистрация: 01.09.2010
Сообщений: 47
По умолчанию

Видела в инете один пример
Код:
ShellExecute(GetDesktopWindow(), "open", "c:\\someFolder\\myFile.pdf #page=5"",  NULL, NULL, SW_SHOWNORMAL);
Здесь документ открывается на 5 странице. Правда я не пробовала работает ли это)


Попробовала так, у меня работает, только у меня не билдер)
Код:
string cmd = "\"C:/Program Files/Adobe/Reader 10.0/Reader/AcroRd32.exe\" /A page=5 c:\\file.pdf";
system(cmd.c_str());

Последний раз редактировалось Arishk@; 20.08.2012 в 19:41.
Arishk@ вне форума Ответить с цитированием
Старый 21.08.2012, 08:48   #3
Fastex
Пользователь
 
Регистрация: 02.12.2010
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Arishk@ Посмотреть сообщение
Видела в инете один пример
Код:
ShellExecute(GetDesktopWindow(), "open", "c:\\someFolder\\myFile.pdf #page=5"",  NULL, NULL, SW_SHOWNORMAL);
Здесь документ открывается на 5 странице. Правда я не пробовала работает ли это)


Попробовала так, у меня работает, только у меня не билдер)
Код:
string cmd = "\"C:/Program Files/Adobe/Reader 10.0/Reader/AcroRd32.exe\" /A page=5 c:\\file.pdf";
system(cmd.c_str());
Во! Это - то я и искал ) А какие еще параметры есть типа "/A page=5" ? Где это все найти можно ?
Fastex вне форума Ответить с цитированием
Старый 21.08.2012, 09:43   #4
Arishk@
Пользователь
 
Регистрация: 01.09.2010
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Fastex Посмотреть сообщение
Во! Это - то я и искал ) А какие еще параметры есть типа "/A page=5" ? Где это все найти можно ?
Тоже пробовала найти какие нибудь еще параметры но нашелся только этот пример.
Arishk@ вне форума Ответить с цитированием
Старый 21.08.2012, 10:24   #6
Arishk@
Пользователь
 
Регистрация: 01.09.2010
Сообщений: 47
По умолчанию

О вот и параметры) Особенно интересна 3 ссылка... Короче английский надо учить((
Попробовала в Билдере вылезает консольное окно. Жаль с Shell не прокатило(( Может еще есть способы...
Arishk@ вне форума Ответить с цитированием
Старый 21.08.2012, 10:55   #7
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

ShellExecute вызовет текуюую программу для просмотра PDF, соответственно и параметры будут зависеть от того, что установлено. Вообще, ShellExecute равнозначен как бы щелчку мыши на данном файле в Explorer.
waleri вне форума Ответить с цитированием
Старый 21.08.2012, 11:39   #8
Fastex
Пользователь
 
Регистрация: 02.12.2010
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Arishk@ Посмотреть сообщение
О вот и параметры) Особенно интересна 3 ссылка... Короче английский надо учить((
Попробовала в Билдере вылезает консольное окно. Жаль с Shell не прокатило(( Может еще есть способы...
Английский - не проблема. А в Шеле параметр передается так:
ShellExecute(Handle,"open", "адрес_файла", "параметр_запуска" ,NULL,SW_SHOW);

Последний раз редактировалось Fastex; 21.08.2012 в 11:44.
Fastex вне форума Ответить с цитированием
Старый 21.08.2012, 11:52   #9
Fastex
Пользователь
 
Регистрация: 02.12.2010
Сообщений: 29
По умолчанию

Очень помог, Спасибо!
Fastex вне форума Ответить с цитированием
Старый 21.08.2012, 13:38   #10
Arishk@
Пользователь
 
Регистрация: 01.09.2010
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Fastex Посмотреть сообщение
Английский - не проблема. А в Шеле параметр передается так:
ShellExecute(Handle,"open", "адрес_файла", "параметр_запуска" ,NULL,SW_SHOW);
Странно сегодня работает и с шеллом))
Arishk@ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с pdf VAnj2607 Помощь студентам 1 05.04.2011 14:54
Как открыть файл pdf в c++ Builder? Yokka C++ Builder 1 22.05.2010 01:34
Как открыть файл pdf в Builder c++? Yokka C++ Builder 2 10.05.2010 21:22
работа с pdf D12ongo Microsoft Office Word 2 10.02.2010 20:52
Работа с PDF Mitron Общие вопросы Delphi 1 29.07.2008 18:47