Форум: "Основная";
Текущий архив: 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? Где почитать?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c