2009-07-28 20 views
7

我需要将我在内存中创建的pdf附加到电子邮件中。附件可以流。所以我相信我需要将iTextSharp Document对象转换为流。我怎样才能做到这一点? 我尝试序列化Document对象到一个流,但它不被“标记为可序列化”。iTextSharp - 如何将文档转换为字节[]

回答

17

这里流的样本代码示例

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