Ver Mensaje Individual
  #9  
Antiguo 27-01-2025
jmbarrio jmbarrio is offline
Miembro
 
Registrado: may 2003
Posts: 102
Reputación: 22
jmbarrio Va por buen camino
Cita:
Empezado por jmbarrio Ver Mensaje
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);  // Agregar el contenido del TMemo
    HtmlContent.Add('    
'
); HtmlContent.Add(''); HtmlContent.Add(''); // Obtener la ruta para guardar el archivo en el almacenamiento del dispositivo FilePath := TPath.Combine(TPath.GetDocumentsPath, 'Ticket1.html'); // Guardar el archivo HTML HtmlContent.SaveToFile(FilePath); // Mensaje opcional de éxito 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); //ANDROID NIVEL DE API 30+
      mWebview.getSettings.setAllowFileAccessFromFileURLs(true); //ANDROID NIVEL DE API 30+
      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.
Responder Con Cita