C# Documentviewer WPF中的奇怪符号
我正在为我的WPF项目添加一个文档查看器,一切看起来都很完美。但是当我尝试打开另一个xps文件时,documentviewer会在我的文档中放置一些[?]符号 这是我的密码:C# Documentviewer WPF中的奇怪符号,c#,wpf,excel,xps,documentviewer,C#,Wpf,Excel,Xps,Documentviewer,我正在为我的WPF项目添加一个文档查看器,一切看起来都很完美。但是当我尝试打开另一个xps文件时,documentviewer会在我的文档中放置一些[?]符号 这是我的密码: if (xps != null) { xps.Close(); xps = null; } docViewer.Document = null;
if (xps != null)
{
xps.Close();
xps = null;
}
docViewer.Document = null;
Microsoft.Office.Interop.Excel.Application eApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook eWb;
Microsoft.Office.Interop.Excel.Worksheet eWs;
eApp.Visible = false;
eWb = eApp.Workbooks.Open(gekozenProductBestand, false,false, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, true, false, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
eWs = (Microsoft.Office.Interop.Excel.Worksheet)eWb.Worksheets[1];
eWs.PageSetup.Orientation = Microsoft.Office.Interop.Excel.XlPageOrientation.xlLandscape;
eWb.ExportAsFixedFormat(XlFixedFormatType.xlTypeXPS, System.IO.Path.GetTempPath() + "producten", XlFixedFormatQuality.xlQualityStandard, true, true, Type.Missing, Type.Missing, false, Type.Missing);
eApp.DisplayAlerts = false;
eApp.Quit();
xps = new XpsDocument(System.IO.Path.GetTempPath() + "producten.xps", System.IO.FileAccess.Read);
docViewer.Document = xps.GetFixedDocumentSequence();
docViewer.FitToWidth();
eApp.DisplayAlerts = false;
eWs = null;
eWb = null;
eApp.Quit();
eApp = null;
GC.Collect();
最后是一个让我清楚的形象:
这看起来像是字符编码问题。我认为XPS在默认情况下是Unicode的,所以您应该提供它。此外,还应考虑使用命名参数来简化调用代码。第一次加载文档时,所有内容都正常运行,但第二次加载文件时,它会给出那些[?],因此通常不是unicode。我找到了解决方案:当我尝试重新使用创建的xps文件时,我会得到[?]符号。该文件可能没有在内部发布,因此您必须为要显示的每个文档创建一个新文件。(当然,之后删除旧的)。谢谢你的帮助很高兴你把它整理好了。考虑不使用GC.Collect,尽管它看起来像一个字符编码问题。我认为XPS在默认情况下是Unicode的,所以您应该提供它。此外,还应考虑使用命名参数来简化调用代码。第一次加载文档时,所有内容都正常运行,但第二次加载文件时,它会给出那些[?],因此通常不是unicode。我找到了解决方案:当我尝试重新使用创建的xps文件时,我会得到[?]符号。该文件可能没有在内部发布,因此您必须为要显示的每个文档创建一个新文件。(当然,之后删除旧的)。谢谢你的帮助很高兴你把它整理好了。考虑不使用GC.Collect