C#.net PrintTicket XML格式不正确(使用徽章打印机)

时间:2017-08-04 11:37:26

标签: c# .net printing printdialog

使用.NET 3.5和4.5我能够使用PrintDialog.PrintVisual()在中心打印一个带有红色矩形的简单画布。这些打印作业被发送到CutePDF和标准打印机,它们都可以正常工作。

但是,我现在正在尝试将相同的打印作业发送到Javelin卡片打印机,当测试项目设置为.NET 3.5时,它可以工作但是如果我更高(4 / 4.5)它会抛出一个例外。例外情况如下:

  

其他信息:PrintTicket XML格式不正确。参数   http://schemas.microsoft.com/windows/2003/08/printing/printschemakeywords:PageMediaSizeMediaSizeHeight   引用,但未定义   http://schemas.microsoft.com/windows/2003/08/printing/printschemakeywords:PageMediaSizeMediaSizeHeight%20is%20referenced%2c%20but%20not%20defined   。 AAA

我需要在.NET 4.5中使用它,所以让我们关注它。所以,接下来我创建了两个PrintDialog对象,PrintDialog1由我自己创建告诉它使用哪个打印机,PrintDialog2使用Show()方法,所以我可以从对话框中选择打印机。 PrintDialog1抛出相同的异常。 PrintDialog2工作正常。

(我按照msdn:https://msdn.microsoft.com/en-us/library/system.printing.printticket(v=vs.110).aspx上显示的方式创建了PrintQueue和PrintTicket)

如果我将PrintDialog1的PrintTicket设置为PrintDialog2,那么它可以正常工作:

PrintDialog1.PrintTicket = PrintDialog2.PrintTicket;

但是我在打印过程中无法显示对话框,因此无法访问正常工作 PrintTicket。我将它们并排比较,唯一明显的区别是Collat​​ion和PageMediaSize,我将它们设置为与PrintDialog2.PrintTicket相同的值,但它仍然抛出异常。

关于发生了什么的任何想法?非常感谢任何帮助!

0 个答案:

没有答案