【发布时间】:2017-12-26 11:51:09
【问题描述】:
我正在使用以下代码在应用程序启动路径中将打印的文档另存为 XPS:
PrintDocument pd = new PrintDocument();
pd = PreparePrintDocument();
pd.PrinterSettings.PrintFileName = Application.StartupPath+"\\backup.xps";
pd.PrinterSettings.PrintToFile = true;
pd.PrinterSettings.PrinterName = "Microsoft XPS Document Writer";
pd.Print();
pd.Dispose();
这在某些 PC 上运行良好,但在其他一些 PC 中会出现以下错误:
“试图读取或写入受保护的内存。这通常是 指示其他内存已损坏。”
当我将默认打印机设置为 XPS 时,代码适用于所有系统,但当我将其更改为网络打印机时,错误再次出现。
【问题讨论】:
-
您可以发布用于保存 XPS 文件的代码吗?我认为问题可能在那里......
-
我在问题中添加的
-
上面的代码在某些系统中可以正常工作。但在某些系统中只会出现错误
-
@Isma 您提供的答案稍作修改。谢谢
-
在您的回答中,我添加了这一行 pd.DefaultPageSettings.PrinterSettings.PrinterName ="Microsoft XPS Document Writer" 以及将打印机名称设置为 XPS