Example #1
0
        /// <summary>
        /// Render visual to printer.
        /// </summary>
        private void Render(Visual visual, string uri)
        {
            if (visual == null)
            {
                throw new ArgumentNullException("visual");
            }

            int dpiX = _jobTicket.PageResolution.ResolutionX;
            int dpiY = _jobTicket.PageResolution.ResolutionY;

            if (dpiX < 0)
            {
                dpiX = 600;
            }

            if (dpiY < 0)
            {
                dpiY = 600;
            }

            AssertPositive(dpiX, "PageResolution.ResolutionX");
            AssertPositive(dpiY, "PageResolution.ResolutionY");

            int sizeX = (int)(_jobTicket.PageMediaSize.MediaSizeX * dpiX);
            int sizeY = (int)(_jobTicket.PageMediaSize.MediaSizeY * dpiY);

            AssertPositive(sizeX, "PageCanvasSizeCap.CanvasSizeX");
            AssertPositive(sizeY, "PageCanvasSizeCap.CanvasSizeY");

            if (IsPremium())
            {
                VisualTreeFlattener.SaveAsXml(visual, _writer, new ContainerFixedXamlDesigner(_eDocJob, uri));
            }
        }
Example #2
0
        static int vipID; // = 0;

        static void SerializeVisual(Visual visual, double width, double height, String filename)
        {
            FileStream    stream = new FileStream(filename, FileMode.Create, FileAccess.ReadWrite);
            XmlTextWriter writer = new System.Xml.XmlTextWriter(stream, System.Text.Encoding.UTF8);

            writer.Formatting  = System.Xml.Formatting.Indented;
            writer.Indentation = 4;
            writer.WriteStartElement("FixedDocument");
            writer.WriteAttributeString("xmlns", "http://schemas.microsoft.com/winfx/2006/xaml/presentation");
            writer.WriteAttributeString("xmlns:x", "http://schemas.microsoft.com/winfx/2006/xaml");

            writer.WriteStartElement("PageContent");
            writer.WriteStartElement("FixedPage");
            writer.WriteAttributeString("Width", width.ToString(CultureInfo.InvariantCulture));
            writer.WriteAttributeString("Height", height.ToString(CultureInfo.InvariantCulture));
            writer.WriteAttributeString("Background", "White");
            writer.WriteStartElement("Canvas");

            System.IO.StringWriter resString = new StringWriter(CultureInfo.InvariantCulture);

            System.Xml.XmlTextWriter resWriter = new System.Xml.XmlTextWriter(resString);
            resWriter.Formatting  = System.Xml.Formatting.Indented;
            resWriter.Indentation = 4;

            System.IO.StringWriter bodyString = new StringWriter(CultureInfo.InvariantCulture);

            System.Xml.XmlTextWriter bodyWriter = new System.Xml.XmlTextWriter(bodyString);
            bodyWriter.Formatting  = System.Xml.Formatting.Indented;
            bodyWriter.Indentation = 4;

            VisualTreeFlattener.SaveAsXml(visual, resWriter, bodyWriter, filename);

            resWriter.Close();
            bodyWriter.Close();

            writer.Flush();
            writer.WriteRaw(resString.ToString());
            writer.WriteRaw(bodyString.ToString());

            writer.WriteEndElement();
            writer.WriteEndElement();
            writer.WriteEndElement();

            writer.WriteEndElement(); // FixedDocument
            writer.Close();
            stream.Close();
        }
Example #3
0
 /// <summary>
 /// Serialize a visual to fixed (S0) XAML
 /// </summary>
 /// <param name="visual"></param>
 /// <param name="writer"></param>
 static internal void SaveAsXml(Visual visual, System.Xml.XmlWriter writer)
 {
     VisualTreeFlattener.SaveAsXml(visual, writer, new FixedXamlDesigner());
 }