Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.01;
Скачать: CL | DM;

Вниз

Как показать и распечатать PDF файл?   Найти похожие ветки 

 
Alex Dobrushin   (2002-03-18 14:57) [0]

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


 
Song ©   (2002-03-18 15:05) [1]

DDE?


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

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

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


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

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


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

Идея одна. Скорее всего не правильно передается параметр
в 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;


 
Anatoly Podgoretsky ©   (2002-03-19 20:12) [5]

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


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

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

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



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

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


 
Anatoly Podgoretsky ©   (2002-03-20 23:18) [8]

Alex Dobrushin (20.03.02 13:31)

А вот при этом

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

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


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

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


 
Anatoly Podgoretsky ©   (2002-03-21 20:33) [10]

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


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

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

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



Страницы: 1 вся ветка

Текущий архив: 2002.04.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
1-92
D'Aron
2002-03-21 10:17
2002.04.01
Delphi3->Delphi6


1-237
Linux
2002-03-20 20:25
2002.04.01
Как вставить ссылку на форму.


3-23
amamed_3071
2002-03-05 08:17
2002.04.01
Error Time Out expected Помогите


1-177
Сатир
2002-03-19 18:01
2002.04.01
Получение списка установленных компонент


3-51
pm
2002-03-07 14:26
2002.04.01
Скопировать строку в таблицу