private void WriteJobTicket() { string filename = _PrintDataBasename + ".ticket.xml"; PrintTicket ticket = this.GetPrintTicket(); if (!File.Exists(filename)) { using (Stream ticketstream = File.Create(filename)) { ticket.SaveTo(ticketstream); } } #if DEBUG try /* #@$%^& thing gives an IO exception, but doesn't say what happened. #@&^%$ */ { File.SetCreationTime(filename, this.CreateTime); File.SetLastWriteTime(filename, this.CreateTime); } catch { } #endif Util.WindowsIdentityStore.SetFileAccess(filename, this.Username); }
GeneratePrintTicketResource( ContentType contentType, PrintTicket printTicket ) { IXpsOMPrintTicketResource printTicketResource = null; XpsPrintStream printTicketXpsStream = XpsPrintStream.CreateXpsPrintStream(); printTicket.SaveTo(printTicketXpsStream); IStream printTicketStream = printTicketXpsStream.GetManagedIStream(); Uri printTicketUri = _xpsManager.GeneratePrintTicketUri(contentType); try { IOpcPartUri printTicketPart = GenerateIOpcPartUri(printTicketUri); printTicketResource = _xpsOMFactory.CreatePrintTicketResource(printTicketStream, printTicketPart); } catch (COMException) { Invalidate(); throw new PrintingCanceledException(); } return(printTicketResource); }
public void WritePrintTicket(XpsPartBase relatedPart, PackagePart metroPart, PrintTicket printTicket) { Stream stream; if (relatedPart == null) { throw new ArgumentNullException("relatedPart"); } if (metroPart == null) { throw new ArgumentNullException("metroPart"); } if (printTicket == null) { throw new ArgumentNullException("printTicket"); } Uri partUri = this.GeneratePrintTicketUri(relatedPart); PackagePart part = this.GeneratePart(XpsS0Markup.PrintTicketContentType, partUri); string uriString = MakeRelativePath(metroPart.Uri, part.Uri); metroPart.CreateRelationship(new Uri(uriString, UriKind.Relative), TargetMode.Internal, XpsS0Markup.PrintTicketRelationshipName); if (this._metroPackage.FileOpenAccess == FileAccess.Write) { stream = part.GetStream(FileMode.Create); } else { stream = part.GetStream(FileMode.OpenOrCreate); } printTicket.SaveTo(stream); stream.Close(); }