我正在为我们的一个应用程序开发一个新的表示组件.我正在构建一个自定义WPF控件,其中只有一个DocumentViewer,并在带有ElementHost的Windows窗体应用程序中托管该CC.我正在使用Visual Studio 2008和C#.
我已经通过XAML对所有内容进行了定制,使其外观和感觉能够完美地融入到我们的应用程序中,但还有一件事......
如果按CTRL + P,则仍会出现打印对话框.我完全失去了如何禁用该功能.使用此CC是为了允许用户启动并查看该站点上安装的系统的手册,但我们不希望它们意外打印(100页).
我希望在我的CakePHP应用程序中包含一个文档查看器,用于上传文档.我想要一个支持Microsoft Word(.DOC和.DOCX),Microsoft PowerPoint(.PPT和.PPTX)和Adobe可移植文档格式(.PDF)的查看器.
我希望我的用户能够查看文档,但不能下载它.Google文档查看器非常棒,但用户只需将URL插入地址栏并下载文档即可.
无论如何,我可以像读取文档一样与用户分享我的文档吗?
您好我有问题,当我只是添加一个<DocumentViewer x:Name="docViewer" />我得到一个工具栏,允许我改变XPS文档的查看模式,如下所示:

但是我该如何以编程方式执行此操作?我找不到任何执行此操作的属性,MSDN和Google对此功能一无所知.然后我发现FlowDocumentReader控件有什么ViewingMode属性,但它无法显示XPS文档.我无法相信这是不可能的,我的意思是默认情况下该功能可用,我只想以编程方式更改它...
在我的c#.net应用程序中,我只想以win形式打开pdf或文档.是否有可能打开Pdf reader or word processor过winform?
我正在使用文档来显示用户控件。这里的一些人帮助了我:如何将用户控件放入文档查看器中?
但用户控件出现在角落里,我想打印它,但更中心一点。
我有一个带有 RichTextBox 和 DocumentViewer 的应用程序(放置在 TabControl 中),我想制作类似“热预览”的内容。我已将DocumentViewer.Document财产绑定到RichTextBox.Document
捆绑:
<DocumentViewer Document="{Binding Document, Converter={StaticResource FlowDocumentToPaginatorConverter}, ElementName=mainRTB, Mode=OneWay}" />
这是转换器代码:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
FlowDocument d = value as FlowDocument;
DocumentPaginator pagin = ((IDocumentPaginatorSource)d).DocumentPaginator;
FixedDocumentSequence result = null;
Size s = new Size(793.700787402, 1122.519685039);
pagin.PageSize = s;
using (MemoryStream ms = new MemoryStream())
{
TextRange tr = new TextRange(d.ContentStart, d.ContentEnd);
tr.Save(ms, DataFormats.XamlPackage);
Package p = Package.Open(ms, FileMode.Create, FileAccess.ReadWrite);
Uri uri = new Uri(@"memorystream://doc.xps"); …Run Code Online (Sandbox Code Playgroud) 在 WPF 中,我在 Frame 控件中有一个 DocumentViewer。DocumentViewer 显示使用 MS Word 生成的 XPS 文档。该文档包含一个目录以帮助浏览文档。
DocumentViewer 允许用户单击这些链接并导航到相应的页面,只要将 DocumentViewer 放置在允许导航的控件(例如框架)中即可。
当用户第一次导航时,DocumentViewer 不会准确跳转到链接位置。离文档越远,跳转位置和实际位置之间的距离就越大。看起来每页有一定的偏差。在第一个链接点击后,导航工作得很好。
当使用框架上的导航按钮向后导航时,一旦加载第一个视图,链接精度就会再次出现。
根据这篇文章,在第一次点击链接后会创建一个新的 DocumentViewer。这似乎创建了一个按预期工作的实例。
为什么初始实例不能准确导航以及如何解决这个问题?
下面截取的代码可用于重现该问题。
窗口内的 XAML:
<Frame>
<Frame.Content>
<DocumentViewer Name="docViewer" />
</Frame.Content>
</Frame>
Run Code Online (Sandbox Code Playgroud)
后面的代码:
public MainWindow()
{
InitializeComponent();
LoadDoc();
}
private void LoadDoc()
{
XpsDocument xpsDoc = new XpsDocument("test.xps", FileAccess.Read);
docViewer.Document = xpsDoc.GetFixedDocumentSequence();
}
Run Code Online (Sandbox Code Playgroud)
test.xps 文档包含一个目录和两章,中间大约有 40 页。导航到第二章时,问题变得清晰(它相差 3 页)。
我有一个广泛的WPF应用程序,我现在想要合并一些报告.我了解如何使用RDLC创建报告但是如何查看它们呢?理想情况下,我想使用DocumentViewer,但我不认为这是受支持的文件类型之一.有些文章建议使用ReportViewer,但我没有将它作为IDE中的控件(VS Pro 2008).
有没有办法将RDLC"转换"为XPS,然后使用DocumentViewer或WPF应用程序查看RDLC报告的最佳方式是什么?
我的资源中有一个简单的流程文档FlowDocument1.xaml:
<FlowDocument xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
ColumnWidth="400" FontSize="14" FontFamily="Georgia">
<Paragraph>
Test
</Paragraph>
</FlowDocument>
Run Code Online (Sandbox Code Playgroud)
我想以格式显示此文档DocumentViewer。我搜索了一个具有路径的属性,但找不到。并且以下引发异常:
<DocumentViewer x:Name="TestViewer" Document="Resources/FlowDocument1.xaml" />
Run Code Online (Sandbox Code Playgroud)
我怎样才能显示FlowDocument1.xaml在DocumentViewer?