Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Вниз

Как показать и распечатать 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? Где почитать?




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.066 c
3-49              boogier               2002-03-07 14:33  2002.04.01  
Как избежать ошибки при выпонении запроса SQL


3-26              Санька                2002-03-05 13:28  2002.04.01  
Господа, помогите с чтением данных из Excel


3-32              Bill                  2002-03-06 10:51  2002.04.01  
Как программно отсортировать базу данных


14-308            UGH|B1ADE             2002-02-17 20:42  2002.04.01  
Хелп плиззз !SOS!


3-31              KMM                   2002-03-05 11:07  2002.04.01  
Уважаемые Мастера, помогите с