这个我的程序查看文件word文档,在运行程序时从FileDialog中选择文件没有显示任何东西,我添加了DocX作为参考,它有什么错误?
<Window x:Class="Wordviewer.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="524" Width="901">
<Grid Background="#FF464966">
<DocumentViewer HorizontalAlignment="Left" Margin="12,41,0,0"
Name="documentViewer1" VerticalAlignment="Top" Height="508" Width="923" BorderBrush="#FFA28D8D" />
<TextBox Height="29" HorizontalAlignment="Left" Margin="12,6,0,0"
Name="FileNameTextBox" VerticalAlignment="Top" Width="730" TextChanged="SelectedFileTextBox_TextChanged" />
<Button Content="Browse" Height="30" HorizontalAlignment="Left" Margin="757,6,0,0"
Name="BrowseButton" VerticalAlignment="Top" Width="178" Click="BrowseButton_Click" FontWeight="Bold">
<Button.BorderBrush>
<LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
<GradientStop Color="Black" Offset="0" />
<GradientStop Color="#FFD0BDBD" Offset="1" />
</LinearGradientBrush>
</Button.BorderBrush>
</Button>
</Grid>
和这个
private void BrowseButton_Click(object sender, RoutedEventArgs e)
{
// Create OpenFileDialog
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
// Set filter for file extension and default file extension
dlg.DefaultExt = ".doc";
dlg.Filter = "Word documents|*.doc;*.docx";
// Display OpenFileDialog by calling ShowDialog method
Nullable<bool> result = dlg.ShowDialog();
// Get the selected file name and display in a TextBox
if (result == true)
{
// Open document
string filename = dlg.FileName;
FileNameTextBox.Text = filename;
var document = DocX.Load(filename);
string contents = document.Text;
// Use the file
}
}
答案 0 :(得分:3)
DocumentViewer
控件无法显示Word文档文件(.doc
,.docx
)。它旨在显示XPS文件,这是一种与PDF类似的概念上不同类型的文档。
(对于初学者来说,Word文档与PDF和XPS文档不同(尽管在打印时看起来相同)因为它们是可编辑的,可回流的,结构化的文档,而PDF和XPS文档基本上只是告诉了打印机要打印的内容(如PostScript) - 将其视为将矢量绘图与光栅图像进行比较,即使它们看起来都相同。)
有很多方法,它们都涉及将Word文档转换为XPS。第一种方法是使用Office Automation加载Word进程并将文档转换为XPS,这需要在系统上安装和使用Word。第二种选择是使用像Aspose或Gem这样的第三方库。
答案 1 :(得分:0)
您实际上有一个选项,您可以使用Office Interop Libraries,打开Word文档,然后将它们保存为XPS,然后您可以查看它。但我认为这有点重。