<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' gd:etag='W/&quot;CEICR3c8eCp7ImA9WhJbEEs.&quot;'><id>tag:blogger.com,1999:blog-7200165380955076427</id><updated>2012-09-19T19:19:26.970+05:30</updated><category term='Windows Presntation Foundation'/><category term='Printing Visuals'/><category term='screen shot'/><category term='Printing in WPF'/><category term='WPF'/><category term='Print Visual'/><title>WPF Codes</title><subtitle type='html'>Here, you can find complex codes of Windows Presentation Foundation (WPF) in Visual Studio 2010</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wpdfcodes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200165380955076427/posts/default?redirect=false&amp;v=2'/><link rel='alternate' type='text/html' href='http://wpdfcodes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>siva krishna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-ygD2hzOrEkw/AAAAAAAAAAI/AAAAAAAAAAA/ShAy6UPpAb4/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry gd:etag='W/&quot;D0AEQnc7eSp7ImA9WhJUFkw.&quot;'><id>tag:blogger.com,1999:blog-7200165380955076427.post-6787431407225529223</id><published>2012-09-14T14:41:00.001+05:30</published><updated>2012-09-14T15:11:43.901+05:30</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2012-09-14T15:11:43.901+05:30</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='screen shot'/><title>Screen Shot using WPF</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h2 style="text-align: left;"&gt;
&lt;span style="color: #38761d; font-family: Courier New, Courier, monospace;"&gt;Screen shot using WPF&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;span style="color: #38761d; font-family: Courier New, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d; font-family: Courier New, Courier, monospace;"&gt;Hello friends..!&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #38761d; font-family: Courier New, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: #38761d; font-family: Courier New, Courier, monospace;"&gt;Here you can get the code for creating a screen shot and saving the same by using Windows Presentation Foundation (WPF)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #38761d; font-family: Courier New, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: #38761d; font-family: Courier New, Courier, monospace;"&gt;Here is the link for source code..!&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #38761d; font-family: Courier New, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="https://groups.google.com/forum/#!topic/wpf-codes/jdCXK6GyE7M"&gt;https://groups.google.com/forum/#!topic/wpf-codes/jdCXK6GyE7M&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200165380955076427-6787431407225529223?l=wpdfcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wpdfcodes.blogspot.com/feeds/6787431407225529223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wpdfcodes.blogspot.com/2012/09/screen-shot-using-wpf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200165380955076427/posts/default/6787431407225529223?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200165380955076427/posts/default/6787431407225529223?v=2'/><link rel='alternate' type='text/html' href='http://wpdfcodes.blogspot.com/2012/09/screen-shot-using-wpf.html' title='Screen Shot using WPF'/><author><name>siva krishna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-ygD2hzOrEkw/AAAAAAAAAAI/AAAAAAAAAAA/ShAy6UPpAb4/s512-c/photo.jpg'/></author><thr:total>0</thr:total><georss:featurename>Magarpatta city, Hadapsar, Pune, Maharashtra, India</georss:featurename><georss:point>18.5158057 73.9271644</georss:point><georss:box>18.5082767 73.91729389999999 18.523334700000003 73.9370349</georss:box></entry><entry gd:etag='W/&quot;A08MRXY9fSp7ImA9WhJUFU8.&quot;'><id>tag:blogger.com,1999:blog-7200165380955076427.post-3374600247069732330</id><published>2012-09-13T15:21:00.000+05:30</published><updated>2012-09-13T15:21:24.865+05:30</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2012-09-13T15:21:24.865+05:30</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='Printing in WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='Printing Visuals'/><category scheme='http://www.blogger.com/atom/ns#' term='Print Visual'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Presntation Foundation'/><title>Print more than one Visual (list of visuals) into a single document in WPF</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h2 style="text-align: left;"&gt;
&lt;span style="color: #38761d; font-family: Courier New, Courier, monospace; font-size: x-large;"&gt;Print list of visuals in WPF&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;span style="color: #274e13; font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: #274e13; font-family: 'Courier New', Courier, monospace;"&gt;Visual is the Class in System.Windows.Media&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #274e13; font-family: Courier New, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #274e13; font-family: Courier New, Courier, monospace;"&gt;PrinterSettings is the Class in System.Drawing&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #274e13; font-family: Courier New, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-family: Courier New, Courier, monospace;"&gt;PrintServer,&amp;nbsp;PrintQueue&amp;nbsp;and&amp;nbsp;EnumeratedPrintQueueTypes are&lt;/span&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;the Classes in System.Printing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="color: #274e13;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-family: Courier New, Courier, monospace;"&gt;XpsDocumentWriter and&amp;nbsp;VisualsToXpsDocument&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Courier New, Courier, monospace;"&gt;are&lt;/span&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;the Classes in System.Windows.Xps&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #660000; font-family: Courier New, Courier, monospace;"&gt;So, before applying this code, you need to add following assembly references:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #660000; font-family: Courier New, Courier, monospace;"&gt;-&amp;gt; System.Windows.Media&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #660000; font-family: Courier New, Courier, monospace;"&gt;-&amp;gt; System.Windows.Xps&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #660000; font-family: Courier New, Courier, monospace;"&gt;-&amp;gt; System.Windows.Drawing&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #660000; font-family: Courier New, Courier, monospace;"&gt;-&amp;gt; System.Printing&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #660000; font-family: Courier New, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: #660000; font-family: Courier New, Courier, monospace;"&gt;* This code can also used to fit the visual to the page&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #660000; font-family: Courier New, Courier, monospace;"&gt;* If you select the PDF Xchange for printing, all visuals will get saved into a single pdf file with each visual on each page.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d; font-family: Courier New, Courier, monospace;"&gt;&amp;nbsp; //Create local variables&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;&amp;nbsp; private int m_visualsCount;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; private ObservableCollection&amp;lt;Visual&amp;gt; m_listVisuals = new ObservableCollection&amp;lt;Visual&amp;gt;();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; //Define and initiate PrintDialog which is necessary for printing&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; //PrintDialog is in System.Windows.Controls&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; PrintDialog printDialog = new PrintDialog();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; //Pass list of visuals through your constructor&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; public Constructor(ObservableCollection&amp;lt;Visual&amp;gt; listVisuals)&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; {&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; InitializeComponent();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #0b5394;"&gt;&amp;nbsp; &amp;nbsp; m_visualsCount = listVisuals.Count; &amp;nbsp;&lt;/span&gt;&lt;span style="color: #38761d;"&gt;//Calculate number of visuals and assign to local variable&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #0b5394;"&gt;&amp;nbsp; &amp;nbsp; m_listVisuals = listVisuals; &lt;/span&gt;&lt;span style="color: #38761d;"&gt;//Assign all visuals in the list to local variable&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; //Define and initiate PrinterSettings and get the default printer name&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; var printersettings = new PrinterSettings();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; string st = printersettings.PrinterName;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; //Now get all the installed printers on your system into a ComboBox (it can be any other element as well)&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; foreach (string str in PrinterSettings.InstalledPrinters)&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; combo.Items.Add(str);&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; //Default selection of printer in ComboBox&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;lt; PrinterSettings.InstalledPrinters.Count; i++)&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; if (PrinterSettings.InstalledPrinters[i].Equals(st))&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; combo.SelectedIndex = i;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; //Now initiate the PrintServer and get Print Queues&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; var server = new PrintServer();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; var queues = server.GetPrintQueues(new[] { EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections});&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; //Set the status of selected printer(just to display on GUI)&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; foreach (var queue in queues)&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;if(st.Equals(queue.FullName))&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="background-color: #f1c232;"&gt;sp.Text(any textbox in Xaml code)&lt;/span&gt;&amp;nbsp;= queue.QueueStatus.ToString();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; //To show the number of pages to be printed&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="background-color: #f1c232;"&gt;pagesCount.Text(&lt;/span&gt;&lt;span style="background-color: #ffd966;"&gt;any textbox in Xaml code&lt;/span&gt;&lt;span style="background-color: #f1c232;"&gt;)&lt;/span&gt; = m_visualsCount.ToString();&lt;/div&gt;
&lt;/span&gt;&lt;span style="font-family: Courier New, Courier, monospace;"&gt;&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: #fff2cc; color: #38761d;"&gt;&amp;nbsp; //When the printing is initiated&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; private void buttonDone_Click(object sender, RoutedEventArgs e)&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; //Get the printer, server and queue that are currently selected&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; string str = PrinterSettings.InstalledPrinters[combo.SelectedIndex];&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; var server = new PrintServer();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; var queues = server.GetPrintQueues(new[] { EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections });&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; Find the selected printer for printing&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; foreach (var queue in queues)&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; if (str.Equals(queue.FullName))&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Get an XpsDocumentWriter for the default print queue&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; XpsDocumentWriter xpsdw = PrintQueue.CreateXpsDocumentWriter(queue);&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VisualsToXpsDocument vtxd = (VisualsToXpsDocument)xpsdw.CreateVisualsCollator();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Begin the batchwrite&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vtxd.BeginBatchWrite();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Scale and Write all visuals&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int count = 0; count &amp;lt; m_visualsCount; count++)&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (m_listVisuals[count] != null)&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Scale the visual&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Visual scaledVisual = ScaleVisual(m_listVisuals[count], queue);&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //get selected printer capabilities&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PrintCapabilities capabilities = printDialog.PrintQueue.GetPrintCapabilities(printDialog.PrintTicket);&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //get scale of the print wrt to screen of WPF visual&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; double scale = Math.Min(capabilities.PageImageableArea.ExtentWidth / this.ActualWidth,&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; capabilities.PageImageableArea.ExtentHeight / this.ActualHeight);&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Transform the Visual to scale&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.LayoutTransform = new ScaleTransform(scale, scale);&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //get the size of the printer page&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Size sz = new Size(capabilities.PageImageableArea.ExtentWidth, capabilities.PageImageableArea.ExtentHeight);&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //update the layout of the visual to the printer page size.&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Measure(sz);&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Arrange(new Rect(new Point(capabilities.PageImageableArea.OriginWidth, capabilities.PageImageableArea.OriginHeight), sz));&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Now write the visual to printer to fit on the one page.&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vtxd.Write(scaledVisual);&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Mark the end of the batch operation.&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vtxd.EndBatchWrite();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Close();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; //Setting the properties of Selected Printer&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; private void combo_SelectionChanged(object sender, SelectionChangedEventArgs e)&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; {&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; string st = combo.SelectedValue.ToString();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; var server = new PrintServer();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; var queues = server.GetPrintQueues(new[] { EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections });&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; foreach (var queue in queues)&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; if (st.Equals(queue.FullName))&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sp.Text = queue.QueueStatus.ToString();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printDialog.PrintQueue = queue;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printDialog.PrintTicket = queue.UserPrintTicket;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; }&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; //We should able to scale the visual so it fits within the page.&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; private Visual ScaleVisual(Visual visual, PrintQueue printQueue)&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; {&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; ContainerVisual root = new ContainerVisual();&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; //An inch is 96 DIPs, use this to scale up sizes given in inches.&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; double inch = 96;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; //Calculate our margins.&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; double xMargin = 1.25 * inch;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; double yMargin = 1 * inch;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; //Get the current print ticket from which the paper size can be obtained.&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; PrintTicket printTicket = printQueue.UserPrintTicket;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; //Retrieve the dimensions of the target page.&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; double pageWidth = printTicket.PageMediaSize.Width.Value;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; double pageHeight = printTicket.PageMediaSize.Height.Value;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; double xScale = (pageWidth - xMargin * 2) / pageWidth;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; double yScale = (pageHeight - yMargin * 2) / pageHeight;&lt;/div&gt;
&lt;div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; //Add the visual to ContainerVisual(root)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #0b5394;"&gt;&amp;nbsp; &amp;nbsp; root.Children.Add(visual);&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; root.Transform = new MatrixTransform(xScale, 0, 0, yScale, xMargin, yMargin);&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; &amp;nbsp; return root;&lt;/div&gt;
&lt;div style="color: #0b5394;"&gt;
&amp;nbsp; }&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200165380955076427-3374600247069732330?l=wpdfcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wpdfcodes.blogspot.com/feeds/3374600247069732330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wpdfcodes.blogspot.com/2012/09/print-more-than-one-visual-list-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200165380955076427/posts/default/3374600247069732330?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200165380955076427/posts/default/3374600247069732330?v=2'/><link rel='alternate' type='text/html' href='http://wpdfcodes.blogspot.com/2012/09/print-more-than-one-visual-list-of.html' title='Print more than one Visual (list of visuals) into a single document in WPF'/><author><name>siva krishna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-ygD2hzOrEkw/AAAAAAAAAAI/AAAAAAAAAAA/ShAy6UPpAb4/s512-c/photo.jpg'/></author><thr:total>0</thr:total><georss:featurename>Magarpatta city, Hadapsar, Pune, Maharashtra, India</georss:featurename><georss:point>18.5158057 73.9271644</georss:point><georss:box>18.508277200000002 73.91729389999999 18.5233342 73.9370349</georss:box></entry></feed>