public virtual int SaveAsXps(string fileName) { object doc; if (Draft == null) return -1; FileInfo fileInfo = new FileInfo(fileName); SavableDocument sav = new SavableDocument(Draft); doc = sav.CloneDoc(); //using (FileStream file = fileInfo.OpenRead()) //{ // System.Windows.Markup.ParserContext context = new System.Windows.Markup.ParserContext(); // context.BaseUri = new Uri(fileInfo.FullName, UriKind.Absolute); // //doc = System.Windows.Markup.XamlReader.Load(file, context); //} if (!(doc is IDocumentPaginatorSource)) { Console.WriteLine("DocumentPaginatorSource expected"); return -1; } File.Delete(fileName); using (Package container = Package.Open(fileName, FileMode.Create)) { using (XpsDocument xpsDoc = new XpsDocument(container, CompressionOption.Maximum)) { XpsSerializationManager rsm = new XpsSerializationManager(new XpsPackagingPolicy(xpsDoc), false); DocumentPaginator paginator = ((IDocumentPaginatorSource)doc).DocumentPaginator; // 8 inch x 6 inch, with half inch margin paginator = new DocumentPaginatorWrapper(paginator, new Size(595*1.33, 842*1.3), new Size(48, 48)); rsm.SaveAsXaml(paginator); } } return 0; }
public virtual void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("Title", this.title); info.AddValue("OutputID", outputID); info.AddValue("Subject", subject); info.AddValue("Author2", author2); info.AddValue("Author3", author3); info.AddValue("Author4", author4); info.AddValue("AdditionalInfo", additionalInfo); info.AddValue("PagesClaimed", pagesClaimed); info.AddValue("PageBegin", pageBegin); info.AddValue("PageEnd", pageEnd); info.AddValue("AuthorID",authorID); SavableDocument xamlDoc = new SavableDocument(this.Draft); info.AddValue("FloDoc", xamlDoc); }
public override void GetObjectData(SerializationInfo info, StreamingContext context) { int curNo = ChapterNumber -1; info.AddValue("Title"+curNo.ToString(), this.title); info.AddValue("PagesClaimed" + curNo.ToString(), pagesClaimed); info.AddValue("PageBegin" + curNo.ToString(), pageBegin); info.AddValue("PageEnd" + curNo.ToString(), pageEnd); SavableDocument xamlDoc = new SavableDocument(this.Draft); info.AddValue("FloDoc" + curNo.ToString(), xamlDoc); }