一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

WPF 瀏覽PDF 文件

 xyjackxjw 2013-05-26

WPF 瀏覽PDF 文件

     很長時間沒寫文章感覺手有點生了,前段時間忙的要死公事、家事、私事,事事操心。還好現(xiàn)在有些時間可以繼續(xù)寫博客了。本篇將為大家演示如何在WPF 程序中瀏覽PDF 文件,本例將通過Adobe PDF Reader COM 組件、WinForm 與WPF 集成方面的工具實現(xiàn)PDF 瀏覽功能。

用戶控件

     打開VS2010,新建項目(WpfPDFReader),右鍵項目添加User Control(用戶控件)。因為Adobe PDF Reader COM 組件是不支持WPF的,為此我們需要將它放到WinForm 控件中。所以,在列表中需要選擇User Control,而不是User Control(WPF)。這里我將控件命名為:AdobeReaderControl.cs。完成添加雙擊控件進入設計模式。

AddUserCtl

在工具箱里選擇添加組件,在COM 組件列表中點選“Adobe PDF Reader”。

SelectCom

AcroPDFLib 和AxAcroPDFLib 庫會自動添加到項目中。

Reference

添加成功后會在工具箱里看到下圖所示的控件。

Toolbox

將該COM 控件拖入User Control 。

AddCom

控件默認名稱為:axAcroPDF1,可按需要自行更改。

ComName

Dock屬性設置為“Fill”,這樣可以使控件自動適應窗口尺寸。

Dock

打開控件程序,修改構造函數(shù)。將PDF 文件傳入控件并進行加載。

using System.Windows.Forms;

namespace WpfPDFReader
{
    public partial class AdobeReaderControl : UserControl
    {
        public AdobeReaderControl(string fileName)
        {
            InitializeComponent();

            this.axAcroPDF1.LoadFile(fileName);
        }
    }
}

到此用戶控件就基本完成了,下面開始WPF 部分的開發(fā)。

WPF

由于要將上面的WinForm 控件加載到WPF 程序中,所以先要為WPF 添加WindowsFormsIntegration。

WinForm

     打開XAML 在<Grid> 中添加Button 和WindowsFormsHost 控件,其中Button 用來啟動文件目錄窗口,從中選擇要瀏覽的PDF文件;WindowsFormsHost 則用于嵌入WinForm 控件。

<Window x:Class="WpfPDFReader.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="WPF PDF Reader" Height="350" Width="525">
    <Grid>
        <Button Content="Open File" Click="Button_Click" Width="100" Height="30" 
                VerticalContentAlignment="Center" VerticalAlignment="Top" 
                Margin="0,10,0,0"/>
        <WindowsFormsHost x:Name="winFormHost" Margin="0,46,0,0" />
    </Grid>
</Window>

     下面來完成Button 點擊事件,將通過OpenFileDialog 選擇的PDF 文件路徑及名稱傳入AdobeReaderControl 用戶控件中,并將該控件添加到WindowsFormsHost。

private string openFileName;
private OpenFileDialog openFileDialog;

private void Button_Click(object sender, RoutedEventArgs e)
{
    openFileDialog = new OpenFileDialog();
    openFileDialog.DefaultExt = "pdf";
    openFileDialog.Filter = "pdf files (*.pdf)|*.pdf";

    DialogResult result = openFileDialog.ShowDialog();

    if (result == System.Windows.Forms.DialogResult.OK)
    {
        openFileName = openFileDialog.FileName;

        AdobeReaderControl pdfCtl = new AdobeReaderControl(openFileName);
        winFormHost.Child = pdfCtl;                
    }
    else
    {
        return;
    }
}

F5看下效果,點擊“Open File” 選擇一個PDF ,這樣一個簡單的WPF PDF Reader 就完成了。

Reader

源代碼

WpfPDFReader.zip

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    成人午夜视频在线播放| 在线免费国产一区二区三区 | 少妇淫真视频一区二区| 欧美日韩国产午夜福利| 观看日韩精品在线视频| 老司机精品福利视频在线播放| 亚洲午夜av一区二区| 九九热精彩视频在线免费| 国产日韩欧美在线亚洲| 久久国产青偷人人妻潘金莲| 久久这里只精品免费福利| 国产欧美日产久久婷婷| 韩国日本欧美国产三级| a久久天堂国产毛片精品| 中文字幕人妻综合一区二区| 久久91精品国产亚洲| 91久久精品国产成人| 日本国产欧美精品视频| 亚洲国产婷婷六月丁香| 免费观看一级欧美大片| 视频在线免费观看你懂的| 日韩和欧美的一区二区三区| 精品一区二区三区免费看| 极品少妇一区二区三区精品视频| 日韩欧美一区二区黄色| 日本黄色美女日本黄色| 亚洲中文字幕在线观看四区| 高潮少妇高潮久久精品99| 91超频在线视频中文字幕| 国内精品偷拍视频久久| 欧美国产日产综合精品| 日本精品啪啪一区二区三区 | 亚洲中文字幕日韩在线| 亚洲少妇人妻一区二区| 青青操日老女人的穴穴| 99热九九热这里只有精品| 亚洲欧美日韩中文字幕二欧美 | 丝袜诱惑一区二区三区| 中文字幕日韩欧美理伦片| 亚洲免费视频中文字幕在线观看| 日本女优一色一伦一区二区三区 |