Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Generar desde un RTF -> PDF (https://www.clubdelphi.com/foros/showthread.php?t=83405)

darkamerico 14-06-2013 17:48:53

Generar desde un RTF -> PDF
 
Saludos amigos, estoy intentando crear una funcion que realice esta tarea, para ello hago los siguientes pasos:

1. Leo el archivo RTF y lo almaceno en un componente TRxRichEdit creado en tiempo de ejecucion para no usar la alternativa visual.
2. Ese RTF lo cambio a texto plano usando las propiedades del TRxRichEdit.
3. El Texto Plano lo uso como insumo para generar el PDF (para lo cual estoy usando la libreria VisLib).

La funcion que uso es la siguiente:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
a: TRxRichEdit;
p: TForm;
contenido: TMemoryStream;
begin
  contenido:=TMemoryStream.Create;
  p := TForm.Create(nil);
  a := TRxRichEdit.Create(p);
  a.Parent := p;
  a.Lines.LoadFromFile('doc1.rtf');
  a.PlainText := True;
  a.Lines.SaveToStream(contenido);
  VPDF1.FileName:='salida.pdf';
  VPDF1.BeginDoc;                                          // Create PDF file
  VPDF1.CurrentPage.TextOut(10, 10, 0, a.Text); // Print text
  VPDF1.EndDoc;
  a.Free;
  p.Free;
end;

Debido a que los textos en el archivo RTF son documentos, ellos tienen saltos de carro para separar los parrafos.

Por ejemplo si tengo el texto:
/////////////////////////////////////////
Rioja, 24 de Octubre del 2012

Señor Alamiro Rojas Valverde

Estimado Señor: ...
/////////////////////////////////////////

A la hora de Generar el PDF se ve lo siguiente:

Rioja, 24 de Octubre del 2012Señor Alamiro Rojas ValverdeEstimado Señor: ...

Es decir no toma en cuenta los saltos de carro. Por eso estaba intentando cargar los datos a un TMemoryStream, pero me kede en esa parte.

Agradezco las ideas que puedan aportarse en este tema.

Un Abrazo.

Americo


La franja horaria es GMT +2. Ahora son las 16:18:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi