diff --git a/PrintPreview.png b/PrintPreview.png
new file mode 100644
index 0000000..2c68c69
Binary files /dev/null and b/PrintPreview.png differ
diff --git a/README.md b/README.md
index 6cb8c5a..bd6e08a 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,92 @@
-# How to print wpf treegrid with pdfviewercontrol?
-This sample illustrates how to print wpf treegrid with pdfviewercontrol
+# How to Print WPF TreeGrid with PdfViewerControl?
+
+This sample illustrates how to print [WPF TreeGrid](https://www.syncfusion.com/wpf-controls/treegrid) (SfTreeGrid) with [PdfViewerControl](https://help.syncfusion.com/wpf/pdf-viewer/printing-pdf-files).
+
+The printing feature can be achieved by exporting the **TreeGrid** to PDF and printing the exported PDF using the **PdfViewerControl**.
+
+``` c#
+var options = new TreeGridPdfExportingOptions();
+FileStream fileStream = new FileStream("Sample.pdf", FileMode.Create);
+var document = treeGrid.ExportToPdf(options);
+MemoryStream stream = new MemoryStream();
+document.Save(stream);
+PdfViewerControl pdfViewer = new PdfViewerControl();
+pdfViewer.Load(stream);
+Window window = new Window();
+window.Content = pdfViewer;
+window.Loaded += Window_Loaded;
+window.Show();
+
+private void Window_Loaded(object sender, RoutedEventArgs e)
+{
+ var toolbar = pdfViewer.Template.FindName("PART_Toolbar", pdfViewer) as DocumentToolbar;
+ // Get an instance of the open and save file buttons using its template name.
+ Button openButton = (Button)toolbar.Template.FindName("PART_ButtonOpen", toolbar);
+ Button saveButton = (Button)toolbar.Template.FindName("PART_ButtonSave", toolbar);
+
+ // Set visibility of the button to collapsed.
+ openButton.Visibility = System.Windows.Visibility.Collapsed;
+ saveButton.Visibility = Visibility.Collapsed;
+}
+```
+
+
+
+### Print Parent and Expanded Child Nodes:
+
+You can print only the parent and expanded child nodes by overriding the [ExportNodesToPdf](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.TreeGrid.Converter.TreeGridToPdfConverter.html#Syncfusion_UI_Xaml_TreeGrid_Converter_TreeGridToPdfConverter_ExportNodesToPdf_Syncfusion_UI_Xaml_TreeGrid_SfTreeGrid_Syncfusion_UI_Xaml_TreeGrid_TreeNodes_Syncfusion_Pdf_Grid_PdfGrid_Syncfusion_UI_Xaml_TreeGrid_Converter_TreeGridPdfExportingOptions_) method of the [TreeGridToPdfConverter](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.TreeGrid.Converter.TreeGridToPdfConverter.html) class.
+
+``` csharp
+var options = new TreeGridPdfExportingOptions();
+options.AllowIndentColumn = true;
+options.FitAllColumnsInOnePage = true;
+var document = treeGrid.ExportToPdf(options, true);
+PdfViewerControl pdfViewer = new PdfViewerControl();
+MemoryStream stream = new MemoryStream();
+document.Save(stream);
+PdfLoadedDocument ldoc = new PdfLoadedDocument(stream);
+pdfViewer.Load(ldoc);
+// If you want to show the pdf viewer window, enable the following line.
+MainWindow pdfPage = new MainWindow();
+pdfPage.Content = pdfViewer;
+pdfPage.Show();
+pdfViewer.Print(true);
+
+public class TreeGridCustomPdfConverter : TreeGridToPdfConverter
+{
+ internal bool _excludeNonExpandedNodes;
+
+ public TreeGridCustomPdfConverter(bool excludeNonExpandedNodes) :base()
+ {
+ _excludeNonExpandedNodes = excludeNonExpandedNodes;
+ }
+
+ ///
+ /// ExportNodes to PDF
+ ///
+ ///
+ ///
+ ///
+ ///
+ protected override void ExportNodesToPdf(SfTreeGrid treeGrid, TreeNodes nodes, PdfGrid pdfGrid, TreeGridPdfExportingOptions pdfExportingOptions)
+ {
+ if (!_excludeNonExpandedNodes)
+ {
+ base.ExportNodesToPdf(treeGrid, nodes, pdfGrid, pdfExportingOptions);
+ }
+ else
+ {
+ for (int i = 0; i < nodes.Count; i++)
+ {
+ TreeNode node = nodes[i];
+ ExportNodeToPdf(treeGrid, node, pdfGrid, pdfExportingOptions);
+ if (node.IsExpanded && node.HasChildNodes)
+ {
+ node.PopulateChildNodes();
+ ExportNodesToPdf(treeGrid, node.ChildNodes, pdfGrid, pdfExportingOptions);
+ }
+ }
+ }
+ }
+}
+```
\ No newline at end of file