在 WPF 中的 RichTextBox 中打开 PDF 文件

发布于 2024-07-20 22:52:45 字数 36 浏览 8 评论 0原文

我可以在 RichTextBox 中打开 PDF 文件吗?

Can I open a PDF file in RichTextBox?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

雨后彩虹 2024-07-27 22:52:45

简短回答:否。

较长回答:否。 RichTextBox 用于显示富文本。 PDF 可以包含任何内容,包括文本,但这不是 RichTextBox 底层的文档模型。 此外,WPF 本身并不处理 PDF。 但是,有第三方控件。

这个问题也有一些可能对您有用的提示,尽管不是使用 RichTextBox。

Short answer: No.

Longer answer: No. A RichTextBox is for displaying rich text. PDFs can contain anything including text, but that's not the document model underlying the RichTextBox. Besides, WPF does not handle PDF natively. There are third-party controls, however.

This question also has some pointers which may be of use to you, albeit not using a RichTextBox.

尘曦 2024-07-27 22:52:45

您需要使用 Acrobat Control for ActiveX 或至少使用 Adob​​e Reader 9 同等版本并用作

using PdfLib;
namespace WindowsFormsApplication1{
public partial class ViewerForm : Form{
    public ViewerForm()
    {
     InitializeComponent();
     PdfLib.AxAcroPDF axAcroPDF1;
     axAcroPDF1.LoadFile(@"C:\Documents and Settings\jcrowe\Desktop\Medical Gas\_0708170240_001.pdf");
     axAcroPDF1.Show(); }

    private void richTextBox1_TextChanged(object sender, EventArgs e)
    {   } } }

You need to use the Acrobat Control for ActiveX or at least the Adobe Reader 9 equivalent and use as

using PdfLib;
namespace WindowsFormsApplication1{
public partial class ViewerForm : Form{
    public ViewerForm()
    {
     InitializeComponent();
     PdfLib.AxAcroPDF axAcroPDF1;
     axAcroPDF1.LoadFile(@"C:\Documents and Settings\jcrowe\Desktop\Medical Gas\_0708170240_001.pdf");
     axAcroPDF1.Show(); }

    private void richTextBox1_TextChanged(object sender, EventArgs e)
    {   } } }
迷途知返 2024-07-27 22:52:45

您可以在几秒钟内编写一个包含 WebBrowser 控件的简单应用程序,只需调用导航方法并为其指定一个指向所需文档的 URL。

XAML:

<Grid>
    <WebBrowser x:Name="Browser"/>
</Grid>

C#:

private void Window1_Loaded(object sender, WindowLoadedArgs args)
{
    Browser.Navigate(new URL("path to document.pdf");
}

注意:我是从内存中编写的,因此请考虑此伪代码,而不是按原样工作的代码。

You can write a simple app in a few seconds containing a WebBrowser control, and just call the navigate method and give it a URL pointing to the document you want.

XAML:

<Grid>
    <WebBrowser x:Name="Browser"/>
</Grid>

C#:

private void Window1_Loaded(object sender, WindowLoadedArgs args)
{
    Browser.Navigate(new URL("path to document.pdf");
}

Note: I am writing from memory so consider this pseudocode rather than something that will work as-is.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文