Cita:
Empezado por jmbarrio
Buenos días, finalmente he encontrado esta solución por sí le sirve de ayuda a alguien. He pasado el contenido del memo a un fichero HTML y he empleado el código del botón de imprimir html del proyecto de Dani.
Código Delphi [-]HtmlContent := TStringList.Create;
try
HtmlContent.Add('');
HtmlContent.Add('');
HtmlContent.Add('');
HtmlContent.Add(' ');
HtmlContent.Add(' Contenido del Memo');
HtmlContent.Add('');
HtmlContent.Add('');
HtmlContent.Add(' ' );
HtmlContent.Add(Memo1.Lines.Text); HtmlContent.Add(' ');
HtmlContent.Add( '');
HtmlContent.Add( '');
FilePath := TPath.Combine(TPath.GetDocumentsPath, 'Ticket1.html');
HtmlContent.SaveToFile(FilePath);
ShowMessage( 'Archivo HTML guardado en: ' + FilePath);
finally
HtmlContent.Free;
end;
Un saludo.
|
Buenas tardes a tod@s, el código del botón que imprime el html es el siguiente
Código Delphi
[-]procedure ImprimirHTML(URL, NombreTrabajo: string);
begin
CallInUIThread(
procedure
begin
if doWebViewPrint then
begin
OnWebViewListener.NombreTrabajo := NombreTrabajo;
WebClient.SetWebViewListener(OnWebViewListener);
mWebView.setWebViewClient(WebClient);
mWebview.getSettings.setAllowFileAccess(true); mWebview.getSettings.setAllowFileAccessFromFileURLs(true); mWebView.loadUrl(StringToJString(URL));
end;
end);
end;
La impresora imprime en formato A5, si el ticket tiene pocas líneas y cabe en un folio A5 lo imprime sin problemas, pero si tiene muchas lo deja cortado ya que solo imprime una hoja de A5 y deja la impresión cortada.
Dani, ¿sabes si hay que configurar algún parámetro en la unit UImpresion o algo similar?
Muchas gracias por vuestra atención.
Un saludo.