如何在微软Surface应用程序中显示PDF文档?

7
我希望在我的Microsoft Surface应用程序中显示PDF文档。我进行了一些搜索,发现了很多可能性,但是如果在Microsoft Surface中使用,所有这些可能性似乎都有一些小问题。 这种有趣的方法看起来不错,但我不知道如何启用滚动。

enter image description here

任何想法如何在其中启用滚动?

非 Surface 版本可以正常滚动。Surface 版本有什么症状?滚动条无法工作吗?其他控件如“1”旁边的 Page Up Arrow 和 Page Down Arrow 是否可以工作? - Rick Sladkey
@Rick Sladkey Adobe控件内的任何按钮、滚动条或类似物都可以在Surface上正常工作。 - RoflcoptrException
如果滚动条正常工作,你所说的“启用滚动”是什么意思?不用管,你想在文档上用手指滚动。 - Rick Sladkey
@Rick Sladkey 对不起,我的评论中缺少一个“不”字。所有这些东西都是不起作用的。 - RoflcoptrException
3个回答

6

在我们的应用程序中,我们需要展示许多客户提供的PDF内容。我们不直接显示PDF,而是创建图像文件(每页一个)并创建控件以更改页面、滚动、调整大小和显示数据。

缺点有:没有PDF表单或按钮,我不再列举其他。但这些功能本质上是文档中的业务逻辑,应该在应用程序中用多点触摸的替代方案来表示。

有时需要展示大量的文本,但如果可能的话,您应该尽量减少,因为Surface表不是为提供最佳阅读体验而设计的。

编辑:当做出特定手势时,您可以尝试向PDF查看器控件发送窗口消息。据我所知,BING地图控件就是这样使用的。尽管如此,我认为这不会增强用户体验。


1
谢谢这个提示。创建图像并显示主题不是一个坏的解决方案,但是你如何创建这些图像呢? - RoflcoptrException
我问了我的同事:他说有两个选项。一个是使用Acrobat Writer。该选项将边距保存为白色空间。由于这会减少阅读空间,而且可能更适合使用WPF进行设置,因此我们通常不使用此选项。我们使用Photoshop - 但这是因为作为设计机构,这里有很多Mac和Adobe许可证。可以使用Writer和像Paint.Net这样的简单图形程序实现类似的结果。 - Sascha
啊好的,谢谢。但我必须在应用程序中通过编程创建PDF中的图像。 - RoflcoptrException
感谢所有的发帖者。我将接受这个答案,因为我最终通过使用Ghostscript从PDF生成图像,然后使用我自己创建的控件显示这些图像来解决了问题。 - RoflcoptrException

3
你可以尝试这个:http://weblogs.asp.net/israelio/archive/2004/07/20/188664.aspx。但即使你解决了问题,这仍然是一个非常糟糕的用户体验。PDF中的超链接将无法工作,Adobe中的按钮也无法点击,滚动条实际上也无法使用等等。换句话说,你最终会得到一个非常糟糕的Surface应用程序。我强烈建议努力找出如何将内容呈现为本地WPF内容,并使其与WPF和多点触控良好协作。

0

WPF Webbrowser控件存在同样的问题:它没有为接受Surface触摸事件而构建... - Sascha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接