我有一个WPF应用程序,其中GUI向用户显示应用程序的几个不同方面,对应用程序的每个部分使用不同的tab
。我现在希望添加从应用程序中的一个选项卡上加载和查看文档的功能。
我在选项卡中添加了一个DocumentViewer
,当我运行应用程序时,可以看到它显示在GUI中,但我不确定如何让DocumentViewer
加载/显示文档,而且似乎找不到任何方法调用/标记来实现这一点。
我用来将DocumentViewer
添加到应用程序中的XAML标记是:
<TabItem Header="Document Viewer">
<StackPanel>
<DocumentViewer x:Name="docViewer" Height="643" Margin="0,0,-0.4,0"/>
<DocumentViewer x:Name="documentViewer" Height="1" Margin="0,0,-0.4,0" RenderTransformOrigin="0.5,0.5">
<DocumentViewer.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</DocumentViewer.RenderTransform>
</DocumentViewer>
</StackPanel>
</TabItem>
我如何将这个DocumentViewer
指向位于我的计算机上的PDF(或.doc,或任何其他文件)文件,以便它将在我的应用程序窗口中加载和显示该文档?
3条答案
按热度按时间i34xakig1#
类似的问题here.wpf没有提供一个基类,如果你想解决这个问题,你可以使用System. Diagnostics.Process.Start(@“filename.pdf”)在它自己的应用程序中打开PDF;
您也可以访问其他选项的链接。
bvhaajcl2#
GemBox库可以将文件转换为
XpsDocument
对象,您可以将其分配给DocumentViewer
控件。例如,下面是如何使用GemBox.pdf执行for PDF:
以及带有GemBox的for DOC。文档:
注意,在这两种情况下,
XpsDocument
对象必须保持被引用,这样DocumentViewer
才能访问它的资源,否则,GC将收集/释放XpsDocument
,DocumentViewer
将不再工作。pqwbnv8z3#
我建议使用一个免费的PDF库的c#。
http://www.e-iceblue.com/Introduce/free-pdf-component.html#.V0RVLfmLRpg 就是一个很好的例子!
要查看PDF格式的WPF转换单页图像,并表明这是一个很好的解决方案。