/** * Writes the document to a byte array. */ public byte[] SerializeDoc() { XmlDomWriter xw = new XmlDomWriter(); MemoryStream fout = new MemoryStream(); xw.SetOutput(fout, null); byte[] b = new UTF8Encoding(false).GetBytes(XmpWriter.XPACKET_PI_BEGIN); fout.Write(b, 0, b.Length); fout.Flush(); XmlNodeList xmpmeta = domDocument.GetElementsByTagName("x:xmpmeta"); xw.Write(xmpmeta[0]); fout.Flush(); b = new UTF8Encoding(false).GetBytes(XmpWriter.EXTRASPACE); for (int i = 0; i < 20; i++) { fout.Write(b, 0, b.Length); } b = new UTF8Encoding(false).GetBytes(XmpWriter.XPACKET_PI_END_W); fout.Write(b, 0, b.Length); fout.Close(); return fout.ToArray(); }