String Silverlight打印字符串值
目前我正在使用silverlight 4,我们正在将基于windows的应用程序转换为silverlight。在基于windows的应用程序中,使用COM打印字符串很容易,但像Silverlight这样的客户端应用程序可以打印字符串值吗 我必须将其转换为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.
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这是你等待的答案吗?我的确切要求在这个问题中定义