Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как показать и распечатать PDF файл? [D5, D6, NT4, Win2k]


Alex Dobrushin ©   (2002-03-18 14:57:00) 

Кто нибудь сталкивался с подобной проблемой? Показать - вероятно запустить Adobe Acrobat в своем окне и в нем открыть этот файл...Но как это сделать? И как распечатать? Кто расскажет или где можно почитать?
Спасибо.


Alex Dobrushin   (2002-03-22 13:00:00) [1]

to Anatoly Podgoretsky: Сорри, я ни в коем случае не хотел никого обидеть, просто этот метод дествительно не подходит, поскольку мне нужно печатать скажем не все страницы а с 1 по 3. Или можно сделать и ShellExecute подобное?

В обсуждении Song предложил DDE? Подскажите человеку, не разу не использовавшего и неинтересовавшегося этой технологией (мне то есть) как можно сделать через DDE? Где почитать?


Anatoly Podgoretsky   (2002-03-21 20:33:00) [2]

Это хорошо, что поняли, но для распечатки окно не требуется и вполне можно использовать ShellExecute, к тому же это отличается предельной простотой. А вот если показать то другое дело. Для этого подойдут те советы, которые уже надовали, я же отвечал только на вопрос отпечатать, даже если совет не подошел, то ничего страшного.


Alex Dobrushin   (2002-03-21 12:36:00) [3]

Нет, ну если в этом смысле, тогда конечно. Но суть проблемы была как раз запустить Acrobat В ФОРМЕ приложения, а не как отдельное приложение. Прошу прощение за, возможно, неверную формулировку вопроса - "своем" я имел в виду окно вызывающего приложения. По крайней мере пару человек, которые принимали участие в обсуждении, поняли меня правильно:))))


Anatoly Podgoretsky   (2002-03-20 23:18:00) [4]

Alex Dobrushin (20.03.02 13:31)

А вот при этом

"Показать - вероятно запустить Adobe Acrobat в своем окне и в нем открыть этот файл..."

Так вот ShellExecute это и сделает и показ и печать.


Alex Dobrushin   (2002-03-20 13:34:00) [5]

Еще вопросик, где можно достать документацию по вызову функций этого ActiveX? Например, я хочу установить ориентацию страницы, подозреваю, что это функция setLayoutMode(const layoutMode: WideString), а что в параметр указать, понятия не имею...Дайте ссылочку или мне намыльте, у кого есть что-то, плиз


Alex Dobrushin   (2002-03-20 13:31:00) [6]

To Anatoly Podgoretsky: не понял, причем здесь ShellExecute?

LoadFile работает, спасибо, но моя проблема была в другом: почему-то, не знаю почему, но загрузка файла в TPDF ActiveX ВЕШАЕТ приложение, когда приложение запускается из IDE и еще не загружен в памяти процесс Acrobat Reader"a. Когда приложение запускается не из IDE (просто как исполняемый файл), или из IDE, а в памяти уже загружен процесс AR, то все нормально, кто нибудь знает в чем дело?


Anatoly Podgoretsky   (2002-03-19 20:12:00) [7]

Если через ShellExecute то команда print а не open


Макс Черных   (2002-03-19 19:46:00) [8]

Идея одна. Скорее всего не правильно передается параметр
в LoadFile. Нижеприведенный код у меня, например, работает без проблем.

type
TForm1 = class(TForm)
Pdf1: TPdf;
Button1: TButton;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then Pdf1.LoadFile(StringToOlestr(OpenDialog1.FileName));
end;


Alex Dobrushin   (2002-03-19 17:21:00) [9]

Я пробовал, да что-то не выходит. Сделал импорт, разместил этот компонент на форме, и при попытке сделать LoadFile вроде запускается Acrobat, а далее приложение не отвечает. Что бы это значило, есть идеи?


Макс Черных   (2002-03-18 23:10:00) [10]

В состав любогоAcrobatReader входит pdf.ocx
например у меня в папке:
C:\Program Files\Adobe\Acrobat 5.0\Reader\ActiveX

Так что надо просто ипортировать pdf.tlb в IDE
(меню project -> Import type library)
и далее использовать как обычный ActiveX.


Song   (2002-03-18 15:05:00) [11]

DDE?


Наверх

Титульная страница Поиск, карта сайта Написать письмо