Articles in this section
Category / Section

How to silent print the PDF document from WCF service

1 min read

You can silent print the PDF document sent from the WCF service using PDF viewer Windows forms (Syncfusion.PdfViewer.Windows ) reference in web project. Refer to the following code.

 

  public object CreatePDF()
        {
 
            PdfDocument document = new PdfDocument();
 
            //Add a page to the document
 
            PdfPage page = document.Pages.Add();
 
            //Create PDF graphics for the page
 
            PdfGraphics graphics = page.Graphics;
 
            //Set the standard font
 
            PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
 
            //Draw the text
 
            graphics.DrawString("Hello World!!!", font, PdfBrushes.Black, new PointF(0, 0));
 
            //Save the document
                      
            MemoryStream ms = new MemoryStream();
 
            document.Save(ms);
 
            string base64 = Convert.ToBase64String(ms.ToArray());
          
            return base64;
          
        }        

 

Code to send data to silent print the PDF document from client side of the web project.

$.ajax({
            url: "http://localhost:12263/pdfviewer.asmx/CreatePDF",
            type: 'POST',
            crossDomain: true,
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            traditional: true,
            success: function (data) {
                var jsonResult = new Object();
                jsonResult["base64"] = data["d"];
                $.ajax({
                    url: "../api/PdfViewer/PdfViewerPrint",
                    type: 'POST',
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    data: JSON.stringify(jsonResult),
                    crossDomain: true,
                    traditional: true,
                    success: function () {
                        var div = document.getElementById('result');
                        div.innerHTML += 'PDF document is printed';                       
                    }
                });
            }
        });

 

Code to silent print the PDF document using windows reference in Web API controller.

public void PdfViewerPrint(Dictionary<string, string> jsonResult)
        {
            //Initializes the PDF viewer      
 
            PdfViewerControl viewer = new PdfViewerControl();
 
            //Loading the document in PDF viewer control
            if (jsonResult.ContainsKey("base64"))
            {
                var data = jsonResult["base64"];
 
                byte[] byteArray = Convert.FromBase64String(data);
 
                MemoryStream stream = new MemoryStream(byteArray);
 
                viewer.Load(stream);
 
                //Initializes the print dialog box
 
                PrintDialog dialog = new PrintDialog();
 
                dialog.AllowPrintToFile = true;
 
                //Sets the PDF viewer print document to PrintDialog's document
 
                dialog.Document = viewer.PrintDocument;
 
                //Prints the PDF document
 
                dialog.Document.Print();
 
            }            
        }

 

WCF Service: http://www.syncfusion.com/downloads/support/directtrac/general/ze/WCFService-925629626 JavaScript sample: http://www.syncfusion.com/downloads/support/directtrac/general/ze/PdfViewerSample_SilentPrinting1493644954

Note:

  • Run the WCF service or host the service in IIS and provide the URL of the service to Ajax request URL.
  • Then, run the web project to silent print the PDF document.
Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied