2009-07-28 8 views
7

Ich muss eine PDF anhängen, die ich im Speicher zu einer E-Mail erstellt habe. Anhänge können einen Stream aufnehmen. Ich glaube also, ich muss ein iTextSharp Document-Objekt in einen Stream konvertieren. Wie kann ich das machen? Ich habe versucht, das Document-Objekt zu einem Stream zu serialisieren, aber es ist nicht als serialisierbar markiert.iTextSharp - Wie konvertiert man Dokument in Byte []

Antwort

17

Hier ein Codebeispiel in Streaming

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(); 
} 
ist