エンドユーザーが PDF ファイルを開くことができるようにする場合、そのファイルがパスワード保護されるかどうかを予測できないことがあります。次のサンプルの方法は、このことをチェックして、それに従ってドキュメントを開く方法を示しています。
PrivateSub _btnOpen_Click(sender AsObject, e AsRoutedEventArgs) Dim dlg = New OpenFileDialog() dlg.Filter = "Pdf files (*.pdf)|*.pdf" If dlg.ShowDialog().Value Then Dim ms = New System.IO.MemoryStream() Using stream = dlg.File.OpenRead() stream.CopyTo(ms) EndUsing LoadProtectedDocument(ms, Nothing) EndIf EndSub
void _btnOpen_Click(object sender, RoutedEventArgs e) { var dlg = new OpenFileDialog(); dlg.Filter = "Pdf files (*.pdf)|*.pdf"; if (dlg.ShowDialog().Value) { var ms = new System.IO.MemoryStream(); using (var stream = dlg.File.OpenRead()) { stream.CopyTo(ms); } LoadProtectedDocument(ms, null); } }