2009-07-28 45 views
7

Tengo que adjuntar un pdf que he creado en la memoria a un correo electrónico. Los archivos adjuntos pueden tomar una secuencia. Así que creo que necesito convertir un objeto de documento iTextSharp a la transmisión. ¿Cómo puedo hacer eso? Intenté serializar el objeto Document en una secuencia pero no está "marcado como serializable".iTextSharp - Cómo convertir el documento a byte []

Respuesta

17

Aquí está un ejemplo de código

using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) 
{ 
    //creating a sample Document 
    iTextSharp.text.Document doc = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4, 30f, 30f, 30f, 30f); 
    iTextSharp.text.pdf.PdfWriter writer = iTextSharp.text.pdf.PdfWriter.GetInstance(doc, ms); 
    doc.Open(); 
    doc.Add(new iTextSharp.text.Chunk("hello world")); 
    doc.Close(); 
    byte[] result = ms.ToArray(); 
}