gpt4 book ai didi

c# - 在 WPF 中查看 word 文档

转载 作者:行者123 更新时间:2023-11-30 16:09:50 26 4
gpt4 key购买 nike

这是我查看文件 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
}

}

最佳答案

简而言之,你不能。 WPF 中的DocumentViewer 控件无法显示Word 文档文件(.doc.docx)。它旨在显示 XPS 文件,这是一种概念上与 PDF 类似的不同类型的文档。

(对于初学者来说,Word 文档不同于 PDF 和 XPS 文档(尽管打印时看起来一样),因为它们是可编辑的、可重排的、结构化的文档,而 PDF 和 XPS 文档本质上只是告诉打印机打印什么(如 PostScript)- 将其视为将矢量绘图与光栅图像进行比较,即使它们看起来可能相同。)

有很多方法可以解决这个问题,它们都涉及将 Word 文档转换为 XPS。第一种途径是使用 Office Automation 在进程中加载​​ Word 并将文档转换为 XPS,这需要在系统上安装并可用 Word。第二种选择是使用第三方库,如 Aspose 或 Gem。

关于c# - 在 WPF 中查看 word 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26928782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com