Carregar html com imagem no WPTools
01/04/2016
0
Estou usando a versão 6 do wptools (com delphi 7) e nela quando um html é carregado pro editor a imagem fica apenas com um quadradinho branco (se for base64 ou uma caixa com X vermelho se for link)
Obrigado por qualquer ajuda!
Raylan Zibel
Post mais votado
Mais Posts
05/04/2016
Raylan Zibel
procedure TForm1.btn1Click(Sender: TObject); var Sl: TStringList; begin dlgOpen1.InitialDir := ExtractFileDir(Application.ExeName); if dlgOpen1.Execute then if FileExists(dlgOpen1.FileName) then begin // a tag width="200px" na tag img faz com que a imagem perca o tamanho ao ser carregada // então modifico essa propriedade pro editor pegar o tamanho normal da imagem // unica solução, até então... Sl := TStringList.Create; Sl.LoadFromFile(dlgOpen1.FileName); Sl.Text := StringReplace(Sl.Text, 'px"', '"', [rfReplaceAll]); Sl.SaveToFile(dlgOpen1.FileName); Sl.Free; // carregando pagina wprchtxtCorpo1.LoadFromFile(dlgOpen1.FileName, True, 'HTML'); end; end; procedure TForm1.wprchtxtCorpo1RequestHTTPImage(RTFData: TWPRTFDataCollection; Reader: TWPCustomTextReader; const LoadPath, URL: string; TextObject: TWPTextObj; var Ok: Boolean); var loadurl: string; jvIMG: TJvImage; Mst: TMemoryStream; IdHTTP1: TIdHTTP; begin { uses JvExExtCtrls, JvImage, frxpngimage, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP; } if pos('http:', lowercase(URL)) > 0 then begin // se for uma url baixo pra MemoryStream loadurl := URL; Mst := TMemoryStream.Create; try IdHTTP1 := TIdHTTP.Create(nil); IdHTTP1.Get(URL, Mst); loadurl := ExtractFilePath(Application.ExeName) + 'tmp\img ' + ExtractFileExt(URL); ForceDirectories(ExtractFileDir(loadurl)); Mst.SaveToFile(loadurl); except end; end else begin // se estiver na pasta corrijo o path loadurl := LoadPath + URL; loadurl := StringReplace(loadurl, '/', '\', [rfReplaceAll]); loadurl := StringReplace(loadurl, '.\', '', [rfReplaceAll]); loadurl := UTF8Decode(loadurl); end; try // carrego imagem pro image pra dar load no TextObj do wpTools jvIMG := TJvImage.Create(nil); jvIMG.AutoSize := True; if FileExists(loadurl) then jvIMG.Picture.LoadFromFile(loadurl) else if Mst <> nil then if Mst.Size > 0 then jvIMG.Picture.Graphic.LoadFromStream(Mst); except end; try // carregando imagem do Graphic do image if jvIMG.Picture.Graphic <> nil then begin TextObject.LoadObjFromGraphic(jvIMG.Picture.Graphic); ok := TRUE; end; except end; // limpando IdHTTP1.Free; Mst.Free; jvIMG.Free; end;
05/04/2016
Raylan Zibel
08/04/2016
Raylan Zibel
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// uses ComObj procedure TForm1.ColarConteudo var WordApp: OleVariant begin try // abro word WordApp := CreateOleObject('Word.Application') // deixo oculto WordApp.Visible := False // inicio documento vazio WordApp.Documents.Add // colo copiado da web WordApp.Selection.PasteAndFormat(wdFormatOriginalFormatting) // seleciono tudo WordApp.Selection.WholeStory // copio novamente WordApp.Selection.Copy // limpo documento wprchtxtCorpo1.ClearBody // colo copiado do word wprchtxtCorpo1.PasteFromClipboard // deleto conteudo selecionado no doc do word WordApp.Selection.Delete // fecho documento sem salvar WordApp.ActiveWindow.Close(wdDoNotSaveChanges) except end try // fecho word WordApp.Quit except end end /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Clique aqui para fazer login e interagir na Comunidade :)