C# 在Surface 2上呈现Windows PDF API RT错误
在过去的两个月里,我一直在开发一个使用Windows8.1PDF API的应用程序。它在广泛的设备上运行良好,包括:C# 在Surface 2上呈现Windows PDF API RT错误,c#,.net,pdf,windows-runtime,winrt-xaml,C#,.net,Pdf,Windows Runtime,Winrt Xaml,在过去的两个月里,我一直在开发一个使用Windows8.1PDF API的应用程序。它在广泛的设备上运行良好,包括: 运行8.1 Pro的我的开发PC 运行Windows 8.1 Pro的笔记本电脑(未启用触摸功能) 运行Windows 8.1 Pro的虚拟机 运行Windows 8.1 Enterprise的虚拟机 运行Windows Embedded 8.1 Industry Pro的虚拟机 运行Windows 8.1 Pro的迷你电脑 运行Windows 8.1 Home的三星平板电脑
- 运行8.1 Pro的我的开发PC
- 运行Windows 8.1 Pro的笔记本电脑(未启用触摸功能)
- 运行Windows 8.1 Pro的虚拟机
- 运行Windows 8.1 Enterprise的虚拟机
- 运行Windows Embedded 8.1 Industry Pro的虚拟机
- 运行Windows 8.1 Pro的迷你电脑
- 运行Windows 8.1 Home的三星平板电脑
- DebugOriginal_Surface.png:未缩放时所需的行为。这是我在地面RT设备上得到的李>
- DebugZoom\u Surface.png:缩放时的问题行为。这是我在地面RT设备上得到的李>
- 另一个zoomlevel_Surface.png:进一步缩放时的另一个问题行为。这就是我在网上看到的
- DebugZoomed\u DevMachine.png:缩放时所需的行为。这是我在任何Windows非RT设备上得到的
- DebugOriginal_DevMachine.png:未缩放时所需的行为。这是我在任何Windows非RT设备上得到的
var pdfFile = await StorageFile.GetFileFromPathAsync(NavigationService.Drawing.Path);
_pdfDoc = await PdfDocument.LoadFromFileAsync(pdfFile);
if (_pdfDoc.PageCount > 0)
{
StorageFolder folder = ApplicationData.Current.TemporaryFolder;
StorageFile pngFileOriginal = await folder.CreateFileAsync("DebugOriginal_" + Guid.NewGuid().ToString() + ".png", CreationCollisionOption.ReplaceExisting);
StorageFile pngFileZoomed = await folder.CreateFileAsync("DebugZoomed_" + Guid.NewGuid().ToString() + ".png", CreationCollisionOption.ReplaceExisting);
using (IRandomAccessStream fileStream = await pngFileOriginal.OpenAsync(FileAccessMode.ReadWrite))
{
await _pdfDoc.GetPage(0).RenderToStreamAsync(fileStream);
await fileStream.FlushAsync();
}
using (IRandomAccessStream fileStream = await pngFileZoomed.OpenAsync(FileAccessMode.ReadWrite))
{
await _pdfDoc.GetPage(0).RenderToStreamAsync(fileStream, new PdfPageRenderOptions { DestinationWidth = 2000 });
await fileStream.FlushAsync();
}
}
这是API的问题还是我的问题
编辑
微软的PDF API示例()在Surface 2 RT设备上也做了同样的事情
编辑2
错误出现在Surface 2 RT上,而不是Surface 1 RT上。这显然是硬件问题。这是关于设备DPI的API的错误。减少DPI/分辨率可以解决此问题。他们正在进行修复。此问题的修复程序已发布,Windows可能会更新,可在上获得。您的意思是包括图像链接吗?这并没有帮助,但乍一看似乎是显示驱动程序问题。显示驱动程序可能会影响PDF渲染API?此外,它是一个全新的表面2完全更新。还没有接触过任何驱动程序,但Microsoft是否会确保在windows更新时推送驱动程序?如果没有,甚至可以更新RT设备上的驱动程序吗?当然,任何渲染,包括缩放,都可能受到显示驱动程序故障的影响。事实上,它只发生在特定的设备上,这让我认为它与显示有关。我不知道你的代码是如何导致的。同样需要注意的是,它是我们尝试应用程序的唯一ARM/RT设备。该错误在Windows 8.1 Update 1中仍处于活动状态,你知道他们是否仍在处理它吗?你知道关于这个问题是否有Microsoft Connect的链接吗?@StrAbZ它已被修复。看看沙鲁·古普塔的回答。这个名字似乎很熟悉。。。但上次我看到它时,它以@microsoft.com结尾;)