| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 
							- using Newtonsoft.Json.Linq;
 
- using PTMedicalInsurance.Forms;
 
- using PTMedicalInsurance.Helper;
 
- using Spire.Pdf;
 
- using Spire.Pdf.Print;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Drawing;
 
- using System.Drawing.Printing;
 
- using System.IO;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using System.Windows.Forms;
 
- namespace PTMedicalInsurance.Business
 
- {
 
-     class LocalSettleBillPrintProcess : AbstractProcess
 
-     {
 
-         public override CallResult Process(JObject joInParam)
 
-         {
 
-             string errMsg = "";
 
-             string insuAdmObj = JsonHelper.getDestValue(joInParam, "insuAdmObj");
 
-             JObject joInsuAdmObj = JObject.Parse(insuAdmObj);
 
-             JObject joRtn = invoker.invokeCenterService(TradeEnum.PrintSettlementList, joInsuAdmObj);
 
-             if (JsonHelper.parseCenterRtnValue(joRtn, out errMsg) != 0)
 
-             {
 
-                 return Exception("读卡失败:", errMsg);
 
-             }
 
-             else
 
-             {
 
-                 // 仅有一个report映射到output节点
 
-                 string reportData = JsonHelper.getDestValue(joRtn, "output");
 
-                 if (!string.IsNullOrEmpty(reportData))
 
-                 {
 
-                     PrintBase64Pdf(reportData);
 
-                 }
 
-                 return IrisReturn("打印成功",joRtn);
 
-             }
 
-         }
 
-         public void PrintBase64Pdf(string base64Pdf)
 
-         {
 
-             string pdfFile = System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\bill.pdf";
 
-             byte[] bytes = Convert.FromBase64String(base64Pdf);
 
-             try
 
-             {
 
-                 using (PdfDocument doc = new PdfDocument())
 
-                 {
 
-                     File.WriteAllBytes(pdfFile, bytes);
 
-                     doc.LoadFromFile(pdfFile);
 
-                     PrintersForm printers = new PrintersForm();
 
-                     if (printers.ShowDialog() == DialogResult.OK)
 
-                     {
 
-                         PdfPrintSettings settings = new PdfPrintSettings();
 
-                         settings.PrinterName = printers.PrinterName;
 
-                         settings.Landscape = printers.Landscape;
 
-                         doc.Print(settings);
 
-                     }
 
-                    
 
-                 }
 
-             }
 
-             finally
 
-             {
 
-                 if (File.Exists(pdfFile))
 
-                 {
 
-                     File.Delete(pdfFile);
 
-                 }
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |