Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Delphi: Сетевое программирование > Скачать файл если нужно что-то там на яве исполнить или на аяксе


Автор: Jiro 19.12.16, 11:03
Собственно нужно научится качать PDF с ресурса, вот пример того что нужно скачать:
http://onlinelibrary.wiley.com/doi/10.1002....tb00206.x/epdf

В html-е прямой ссылки нету, как быть ?

Автор: VisualProg 19.12.16, 12:43
не понял причём тут ява и делфи... и каким раком среди них вообще аякс появился...

По ссылке - можно делать GET запрос сокетом, в результате запроса прекрасно видны ссылки ваши картинки, хотя, как дела обстоят со скроллингом, пока, не знаю. Ну, на худой конец покрутить их js можно.

Автор: ^D^ima 19.12.16, 19:58
там есть кнопка сохранить pdf, значит должна быть прямая ссылка, или я ошибаюсь?

Автор: Jiro 19.12.16, 21:49
VisualProg
Да немного не профильный раздел для темы но, а где тут ещё найдёшь профильный где объяснят как какой запрос исполнить чтоб скачать нужный PDF.
Мне нужен только PDF, as is.
А как крутить js, или даже лучше чем крутить ?
Было бы весьма замечательно пример увидеть.


^D^ima
Сылка должна быть но она выводится видимо через js, в чистом HTML её нету. Я не сильно разбираюсь в js, но кажется где-то видел запуска явовых скриптов из под Delphi,
но всё равно не понятно что запускать и как ... кто бы пояснил что да как.

Автор: ^D^ima 19.12.16, 22:32
Jiro

Ссылка в поле
____________________.PNG (, : 506)
только нужно ее преобразовать до такого вида:
____________________2.PNG (, : 522)
Она уникально каждый раз при открытии страницы

Добавлено
долбанный форум :wall:

Добавлено
на коленке. У меня работает:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    procedure TForm1.Button1Click(Sender: TObject);
    var
    Stream:TMemoryStream;
    S,S2,SIn,SOut:String;
    LIn:Integer;
     
    begin
      memo1.Text:=IdHTTP1.Get('http://onlinelibrary.wiley.com/doi/10.1002/j.1939-4640.1991.tb00206.x/pdf');
      SIn:='<iframe id="pdfDocument" src="';
      SOut:='" width="';
      LIn:=pos(SIn,memo1.Text)+length(SIn);
     
      S:=copy(memo1.Text,LIn,pos(SOut,memo1.Text)-LIn);
     
      S2:=StringReplace(S,';','&',[rfReplaceAll]);
     
     
      try
        Stream:=TMemoryStream.Create;
        IdHTTP1.Get(S2,Stream);
        Stream.SaveToFile('c:\1.pdf');
        Stream.Free;
      except
      on e:Exception do
      Stream.Free;
    end;
     
     
      //ShowMessage(S+'   '+S2);
    end;

Автор: Jiro 20.12.16, 15:51
я http://onlinelibrary.wiley.com/doi/10.1002...1991.tb00206.x/epdf загружал, а надо было без e. спс

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)