C# 打印XPS文档会产生奇怪的符号
我需要将XPS文档直接打印到Windows XP平台上的打印机上。我正在使用Microsoft XPSPrinter(来自C#)。在Windows 7上一切正常,但在WinXP上打印时,我发现: 问题是,在另一个WinXP安装上,打印完全相同的文档“偶尔”工作(是的…-。-),我无法理解是什么导致它工作/中断 一些背景信息:C# 打印XPS文档会产生奇怪的符号,c#,.net,printing,windows-xp,xps,C#,.net,Printing,Windows Xp,Xps,我需要将XPS文档直接打印到Windows XP平台上的打印机上。我正在使用Microsoft XPSPrinter(来自C#)。在Windows 7上一切正常,但在WinXP上打印时,我发现: 问题是,在另一个WinXP安装上,打印完全相同的文档“偶尔”工作(是的…-。-),我无法理解是什么导致它工作/中断 一些背景信息: 我在32位模式下使用.Net 4.0从控制台应用程序打印 XPS文档由IIS web服务器上的Aspose.Words生成 XPS文档将写入一个临时文件,该文件将传递给
- 我在32位模式下使用.Net 4.0从控制台应用程序打印
- XPS文档由IIS web服务器上的Aspose.Words生成
- XPS文档将写入一个临时文件,该文件将传递给PrintTicket
- 使用XPS查看器打开临时文件位置中的XPS文档时,它看起来非常好……因此,至少它已从服务器正确下载并保存到FS
- 总是打印同一个文档:在Win7上工作,偶尔在一个WinXP上工作,从不在另一个WinXP上工作(所以一定有不同的东西…但是什么???想法??)
- 在“工作”XP机上,它也经常打印部分正确,这意味着只有中间的一些符号是错误的 。
- 从ActiveX执行包含打印代码的DLL时始终有效(不要询问)…从ConsoleApplication执行同一DLL时从不在该计算机上有效
- 但我无法执行他的示例应用程序,因为我没有在WinXP系统上安装
XpsPrint.dll
- 字体问题??我使用的是Arial,所以它应该很好,字体应该出现在目标系统上。(还有,为什么要打印…)
尝试了太多东西,我有点不知所措,我还可以尝试什么。非常感谢您提出的任何想法,文档打印如此奇怪的原因可能是什么。是否有任何一台XP机器使用的区域设置/语言不是en US?是否所有的XPS文档都是在同一台IIS服务器上生成的,然后在不同的计算机上打印?两者似乎都有en-US…但我想我发现了问题。需要验证,但目前它似乎正在运行。一旦我确定它能工作,我会发布更新。你是从Windows服务打印的吗?这似乎导致了同样的问题。不,我们正在启动一个控制台应用程序,基本上是将要打印的文件传递给它。它现在似乎起作用了。显然,问题是主控制台应用程序进程终止“太快”…这就像XPS文档的打印后台处理程序没有获得“所有内容”,尽管这听起来很奇怪。我还在调查。到目前为止,它似乎现在工作..我会在几周后发布一个更新,当我确定它的工作预期。