Estoy creando un documento de flujo que consta de varios registros. Cada registro contiene dos tablas en la parte superior, y luego un texto enriquecido que estoy sacando de una base de datos. El código que agrega el texto enriquecido se encuentra a continuación (cp.Comentarios contiene el texto etiquetado rtf).flowdocument - insertar texto enriquecido al final crear saltos de párrafo adicionales encima del punto de inserción
Dim tr As TextRange
Dim arr() As Byte
Using ms As New System.IO.MemoryStream
arr = (New System.Text.UTF8Encoding).GetBytes(cp.Comments)
ms.Write(arr, 0, arr.Length)
ms.Seek(0, IO.SeekOrigin.Begin)
tr = New TextRange(fd.ContentEnd, fd.ContentEnd) 'add to end
tr.Load(ms, DataFormats.Rtf)
End Using
El FlowDocument emite la primera de los registros correctamente, pero todos los registros posteriores se representan con una pausa entre la primera y la segunda tabla. Lo que es más extraño es que estoy renderizando las 2 tablas antes de importando el RTF, pero de todos modos el RTF está afectando el espacio entre las tablas.
fd = new FlowDocument
for each cp in SomeCollection
fdtemp = New FlowDocument
CreateFirstTable(cp, fdtemp)
CreateSecondTable(cp, fdtemp)
AddRTF(cp, fdtemp)
FlowDocumentUtils.AddDocument(fdtemp, fd)
next
El problema no es algo relacionado con los datos en el primer elemento de la colección - si digo la prestación saltarse la prestación del primer registro, a continuación, el segundo registro hace bien, pero el resto contiene el espacio extra.
Nota: el problema está definitivamente relacionado con la inserción de texto enriquecido: si hago un comentario de la llamada AddRTF, todas las tablas se procesan correctamente juntas. (Los márgenes de la tabla están todos configurados en (0,0,0,0))
¿Alguien ha visto esto alguna vez?
¿Ha inspeccionado el texto sin formato del FlowDocument? – Paparazzi
¿Terminó encontrando una solución a este problema? –
Nunca lo hice, lo siento. – taglius