String Silverlight打印字符串值

String Silverlight打印字符串值,string,silverlight,printing,client,String,Silverlight,Printing,Client,目前我正在使用silverlight 4,我们正在将基于windows的应用程序转换为silverlight。在基于windows的应用程序中,使用COM打印字符串很容易,但像Silverlight这样的客户端应用程序可以打印字符串值吗 我必须将其转换为Silverlight: Dim PD As New print对话框 PD.UseEXDialog=True PD.PrinterSettings=新系统.Drawing.Printing.PrinterSettings 如果(Windows.

目前我正在使用silverlight 4,我们正在将基于windows的应用程序转换为silverlight。在基于windows的应用程序中,使用COM打印字符串很容易,但像Silverlight这样的客户端应用程序可以打印字符串值吗

我必须将其转换为Silverlight:

Dim PD As New print对话框
PD.UseEXDialog=True
PD.PrinterSettings=新系统.Drawing.Printing.PrinterSettings
如果(Windows.Forms.DialogResult.OK=PD.ShowDialog()),则
ZPLZebra.RawPrinterHelper.SendstringTopPrinter(PD.PrinterSettings.PrinterName,*********.ToString())
如果结束
编辑1:

     public static bool SendBytesToPrinter(string szPrinterName, IntPtr pBytes, int dwCount)
    {
        IntPtr hPrinter = new IntPtr(0);
        DOCINFOA di = new DOCINFOA();
        bool flag = false;
        di.pDocName = "My C#.NET RAW Document";
        di.pDataType = "RAW";
        if (OpenPrinter(szPrinterName, out hPrinter, 0L))
        {
            if (StartDocPrinter(hPrinter, 1, di))
            {
                if (StartPagePrinter(hPrinter))
                {
                    int dwWritten = 0;
                    flag = WritePrinter(hPrinter, pBytes, dwCount, out dwWritten);
                    EndPagePrinter(hPrinter);
                }
                EndDocPrinter(hPrinter);
            }
            ClosePrinter(hPrinter);
        }
        if (!flag)
        {
            Marshal.GetLastWin32Error();
        }
        return flag;
    }

    public static bool SendStringToPrinter(string szPrinterName, string szString)
    {
        int length = szString.Length;
        IntPtr pBytes = Marshal.StringToCoTaskMemAnsi(szString);
        SendBytesToPrinter(szPrinterName, pBytes, length);
        Marshal.FreeCoTaskMem(pBytes);
        return true;
    }
Ref:(这是我的确切要求)

您可以使用方法并在PageVisual中发送带有文本块的网格吗

C#中的示例代码

//
///要打印的文本。
/// 
私有字符串_textToPrint;
/// 
///方法打印文本。
/// 
///要打印的文本
///可选文档名。
public void SendStringToPrinter(string textToPrint,string documentName=“我的文档”)
{
//在私有属性中设置打印内容
_textToPrint=textToPrint;
//创建一个新的打印对话框
PrintDocument pd=新的PrintDocument();
//捕获打印事件
pd.PrintPage+=onPrintPage;
//启动打印请求
pd.打印(文件名);
}
/// 
///打印时调用。
/// 
/// 
/// 
在PrintPage上无效(对象发送者,PrintPageEventArgs e)
{
//创建一个UI元素(包含textblock的简单网格)。
var grid=new grid();
grid.Children.Add(新文本块()
{
Text=\u textToPrint
});
//添加网格以打印视觉效果。
e、 PageVisual=网格;
}
您可以拨打:

SendStringToPrinter(*******.ToString());

谢谢你的回复,打印文档只需要打印文件,我们无法将原始文本发送到打印机。我需要将字符串值发送到打印机,而不是像文件一样的图像或文档。我添加了代码来说明答案:D这是你等待的答案吗?我的确切要求在这个问题中定义