asp.net - todas - ¿Cómo agregar imágenes y texto tanto en el encabezado al generar documentos de Word con Docx dll?
itextsharp c# ejemplos (1)
Obtuve la respuesta a mi problema. En realidad, parece que Docx dll no es compatible con la visualización de imágenes en la tabla debajo del encabezado. Aunque han dado un método para mostrar la imagen en la tabla y también se muestra en sus blogs, pero aún así no pude visualizar la imagen usando la tabla en la sección del encabezado, lo que puedo lograr fácilmente usando un párrafo como en el siguiente código:
// Insert pic and text into the default Header.
Novacode.Paragraph p1 = header_default.InsertParagraph();
p1.Direction = Novacode.Direction.LeftToRight;
p1.AppendPicture(pic1);
Y funciona bien, pero el problema ocurre cuando tiene que mostrar una imagen con texto de encabezado. Porque no estamos usando la tabla para mostrar la imagen, por lo que es difícil alinear correctamente tanto la imagen como el texto del encabezado. Después de probar tantas soluciones y trabajo duro, ya que no encontré ningún soporte ni solución, finalmente encuentro la solución a mi problema. Podemos alinear tanto la imagen del encabezado como el texto del encabezado en una línea sin usar una tabla con la siguiente línea:
p1.Append("Headertext").Bold().Position(30);
Con la ayuda del método Position()
, puede alinear el texto del encabezado y la imagen del encabezado en una línea. Espero que esto también ayude a alguien :).
Estoy usando Docx dll para generar archivo pdf pero no puedo agregar imagen en el encabezado aunque puedo agregar la imagen en la parte de contenido del archivo de Word. Aquí está mi código para eso:
using (Novacode.DocX document = Novacode.DocX.Create(savePath))
{
// Add Header and Footer support to this document.
document.AddHeaders();
document.AddFooters();
// Get the default Header for this document.
Novacode.Header header_default = document.Headers.odd;
// Add an Image to the docx file
string imageName = "LOGO.png";
string url = Request.MapPath("/PDFFolder/" + imageName);
Novacode.Image img = document.AddImage(url);
// Insert a Paragraph into the default Header.
Novacode.Picture pic1 = img.CreatePicture();
Novacode.Paragraph p1 = header_default.InsertParagraph();
header_default.Pictures.Add(pic1);
p1.Append("Some more text").Bold();
// Add a new Paragraph to the document.
Novacode.Paragraph p = document.InsertParagraph();
// Append some text.
p.Append(textword).Font(new myDrawing.FontFamily("Arial"));
// Get the default Footer for this document.
Novacode.Footer footer_default = document.Footers.odd;
// Insert a Paragraph into the default Footer.
Novacode.Paragraph p3 = footer_default.InsertParagraph();
p3.Append("Hello Footer.").Bold();
// Save the document.
document.Save();
}
¡Cualquier ayuda sería genial!