HTML para PDF

09/10/2009

0

Bom dia pessoal,

Alguem conhece alguma DLL ou algum EXE que pegue um arquivo HTML e converta para PDF.

Se possivel alguma DLL que receba um string com um endereço do arquivo HTML e gere um arquivo PDF.

Se não for pedir demais, hehehe, que seja FREE.

Muito obrigado.

MDV
Marcos Dias Vendramini
marcosvendramini.webng.com


Responder

Posts

09/10/2009

Facc

Não sei se isso te ajuda, mas existe akelas impressoras virtuais que faz isso

Uma, que uso, é a PDFCreator.


Responder

09/10/2009

Mdv

Insfelizmente não serve, pediram para não usar essas impressoras porque teriam que instalar no cliente.

Por esse motivo eu precisaria de uma DLL ou de um EXE que eu possa chamar para que o mesmo converta.


Responder

09/10/2009

Steve_narancic

Vc poderia usar a api do windows, abrindo o html com o navegador passando por parâmetro o comando ´print´ ao invés de print, acho que é uma solução bem pratica, e vai te evitar varias dores de cabeça, ja que todos micros tem navegador instalado....
ShellExecute(handle, ´print´, ´c:\teste.htm´, nil, nil, SW_SHOWNORMAL);



Responder

09/10/2009

Steve_narancic

Vc poderia usar a api do windows, abrindo o html com o navegador passando por parâmetro o comando ´print´ ao invés de print, acho que é uma solução bem pratica, e vai te evitar varias dores de cabeça, ja que todos micros tem navegador instalado....
ShellExecute(handle, ´print´, ´c:\teste.htm´, nil, nil, SW_SHOWNORMAL);


Viajei, não me liguei que vc queria converter em pdf....


Responder

12/10/2009

Mdv

UP


Responder

02/09/2021

Wellington Verzola

Bom dia pessoal,

Alguem conhece alguma DLL ou algum EXE que pegue um arquivo HTML e converta para PDF.

Se possivel alguma DLL que receba um string com um endereço do arquivo HTML e gere um arquivo PDF.

Se não for pedir demais, hehehe, que seja FREE.

Muito obrigado.

MDV
Marcos Dias Vendramini
marcosvendramini.webng.com




Use isso.

class function FactureUtils.ShellExecuteAndWait(const Operacao, NomeArquivo, Parametros, Diretorio: string; TipoExibicao: Word; Aguardar: Boolean; Landscape: Boolean): Longint;
const
  MSG_CONVERSOR = 'Não foi possível converter o arquivo para PDF pois o conversor ''wkhtmltopdf.exe'' não foi encontrado na pasta do sistema.';
var
  OperacaoFoiExecutada: Boolean;
  Info: TShellExecuteInfo;
  parametrosTemp: string;
begin
  if not FileExists(NomeArquivo) then raise Exception.Create(MSG_CONVERSOR);
  FillChar(Info, SizeOf(Info), Chr(0));
  Info.cbSize := SizeOf(Info);
  Info.fMask  := SEE_MASK_NOCLOSEPROCESS;
  Info.lpVerb := PChar(Operacao);
  Info.lpFile := PChar(NomeArquivo);
  if Landscape then parametrosTemp := ' -O landscape ' + Parametros else parametrosTemp := Parametros;
  Info.lpParameters    := PChar(parametrosTemp);
  Info.lpDirectory     := PChar(Diretorio);
  Info.nShow           := TipoExibicao;
  OperacaoFoiExecutada := Boolean(ShellExecuteEx(@Info));
  if OperacaoFoiExecutada then begin
    if Aguardar then begin
      while WaitForSingleObject(Info.hProcess, 100) = WAIT_TIMEOUT do Application.ProcessMessages;
      OperacaoFoiExecutada := GetExitCodeProcess(Info.hProcess, DWORD(Result));
    end
    else begin
      Result := 0;
    end;
  end;
  if not OperacaoFoiExecutada then begin
    Result := -1;
    raise Exception.Create(MSG_CONVERSOR);
  end;
end;


E use esse executável - wkhtmltopdf.exe
você acha ele aqui.
https://wkhtmltopdf.org/downloads.html
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar