 VB 
.NET -  Protegendo Arquivos do Word e incluindo uma marca d'agua
VB 
.NET -  Protegendo Arquivos do Word e incluindo uma marca d'agua|  | Neste artigo vou mostrar como podemos proteger arquivos do Microsoft Word com senha e também como incluir uma marca d'água usando a biblioteca Spire.Doc for .Net. | 
A biblioteca Spire.Doc for .NET para a plataforma .NET foi projetada especialmente para criar, ler, gravar, converter e imprimir arquivos de documentos do Microsoft Word a partir da plataforma .NET usando as linguagens C# ou VB .NET de forma rápida, simples e com alta qualidade.
Como um componente independente do Word, a Spire.Doc for .NET não precisa que o Microsoft Word esteja instalado na sua máquina, embora ele possa incorporar recursos de criação de documentos Word em aplicativo .NET.
Ela suporta tanto C# como VB .NET e ASP .NET MVC e oferece suporte a Word 97-2003, 2007/2010/2013 tendo a capacidade de converter os arquivos em formatos de arquivos como XML, RTF, XPS, EPUB, EMF, HTML, etc. Além disso a biblioteca suporta a conversão de documentos Word Doc/Docx para PDF usando C# com alta qualidade.
O site oficial pode ser visitado neste link : http://www.e-iceblue.com/Introduce/word-for-net-introduce.html#.Vvwh80e2q9i
A versão gratuita do Free Spire.Doc for .NET pode ser obtida neste link: http://www.e-iceblue.com/Introduce/free-doc-component.html#.VvwhnUe2q9g
A 
biblioteca free Spire.Doc for .NET é uma biblioteca de classes para Word 
totalmente independente que não requer que o Microsoft Office esteja instalado 
no sistema. A Automação Microsoft Office provou ser instável, lenta e não 
escalável para produzir documentos do MS Word. 
A biblioteca free Spire.Doc for .NET é muitas vezes mais rápida que a automação 
do Microsoft Word, além de mais estável e escalável, permitindo que os 
desenvolvedores processem documentos do Word já existentes com suporte a procura 
e substituição, alinhamento, quebra de página, campo de preenchimento, cópia de 
documento, impressão.
A versão gratuita esta limitada a 100 parágrafos e 5 tabelas. Esta limitação é imposta durante a leitura ou gravação de arquivos. Nesta versão, ao converter documentos do word para PDF e XPS arquivos, você pode obter apenas as 3 primeiras página do arquivo PDF.
Mesmo assim, vale a pena conferir alguns dos recursos dessa biblioteca, e no artigo de hoje vamos proteger documentos Word e incluir uma marca d'água para indicar que o documento é confidencial.
Recursos usados:
Nota: Baixe e use a versão Community 2015 do VS ela é grátis e é equivalente a versão Professional.
Criando a solução no VS Community
Abra o VS Community 2015 e clique em New Project;
Selecione a linguagem Visual Basic e o template Windows Forms Application;
Informe o nome Protegendo_DocumentosWord e clique no botão OK;
|  | 
No formulário padrão form1.vb inclua os seguintes controles a partir da ToolBox:
Disponha os controle conforme o leiaute da figura abaixo:
|  | 
incluindo uma referência á biblioteca Spire.Doc for .Net via Nuget:
No menu Tools clique em Nuget Package Manager e a seguir em Manage Nuget Packages for Solution;
Clique em Browse e informe o nome Spire.doc localizando esta biblioteca no repositório;
Marque o projeto e clique no botão Install:

Para instalar a biblioteca usando o Package Manager Console digite o comando no console:


Vemos acima a instalação da versão 5.6.62 em nosso projeto.
Definindo o código do projeto
No início do formulário declare as variáveis objeto que iremos usar no projeto:
Imports
Spire.DocAgora vamos usar os recursos da bilbioteca Spire.Doc for .NET em nosso projeto:
No evento Click do botão btnLocalizar vamos incluir o código abaixo:
|     Private Sub btnLocalizar_Click(sender As Object, e As EventArgs) Handles btnLocalizar.Click
        Dim ofd1 As New OpenFileDialog()
        Dim Arquivo As String = Nothing
        ofd1.Title = "Abrir como"
        ofd1.FileName = "Nome Arquivo"
        ofd1.Filter = "Arquivos Excel (*.docx)|*.docx"
        ofd1.InitialDirectory = "C:\Dados\Word\"Dim dr As DialogResult = ofd1.ShowDialog() Arquivo = ofd1.FileName         If Arquivo Is Nothing Then
            MessageBox.Show("Arquivo Invalido", "", MessageBoxButtons.OK)
        Else
            txtArquivoWord.Text = ofd1.FileName
        End If
    End Sub | 
No evento Click do botão de comando Proteger Documento Word inclua o código abaixo:
|  Private Sub btnProtegerDocumento_Click(sender As Object, e As EventArgs) Handles btnProtegerDocumento.Click
        Try
            Dim document As New Document(txtArquivoWord.Text)            'incluindo uma marca d'água no documento
            Dim txtWatermark As New TextWatermark()
            'atribuindo o texto da marca d'água e a fonte e o leiaute
            txtWatermark.Text = txtTextoMarcaDagua.Text
            txtWatermark.FontSize = 90
            txtWatermark.Layout = WatermarkLayout.Diagonal
            document.Watermark = txtWatermark            'protegendo o documento com senha
            document.Encrypt(txtSenha.Text)
            'salvando o documento
            document.SaveToFile(txtSalvarArquivoWord.Text, FileFormat.Docx)
            MessageBox.Show("Arquivo Word Protegido com sucesso.")
        Catch ex As Exception
            MessageBox.Show("Erro  " + ex.Message)
        End Try
    End Sub | 
Para concluir no evento Click do botão - Abrir Documento Word - inclua o código a seguir:
| Private Sub btnAbrirArquivoWord_Click(sender As Object, e As EventArgs) Handles btnAbrirArquivoWord.Click
        Try
            Dim startInfo As New ProcessStartInfo()
            startInfo.FileName = "WINWORD.EXE"
            startInfo.Arguments = txtSalvarArquivoWord.Text
            Process.Start(startInfo)
        Catch ex As Exception
            MessageBox.Show("Erro  " + ex.Message)
        End Try
 End Sub | 
Agora execute o projeto, selecione um arquivo Word, defina o texto e a senha e clique no botão para proteger o documento.
Após esse processo ao abrir o documento teremos a solicitação da senha e após aberto veremos a marca d'água conforme mostrado abaixo:
|  | 
|  | 
Além de definir uma senha para um documento Word podemos também proteger o documento.
A proteção funciona de forma diferente da atribuição de senha. Na proteção o usuário pode acessar o documento mas tem sua permissão de acesso restrita a realizar apenas algumas tarefas.
A biblioteca Spire.Doc for .NET oferece o método Document.Protect(ProtectionType type, String password) na classe Document. Existem cinco tipos de proteção oferecidas:
Vamos ajustar a nossa interface incluindo dois controles CheckBox no formulário:

Para proteger o documento Word permitindo incluindo a opção de ter o acesso somente leitura podemos usar o código abaixo:
- document.Protect(ProtectionType.AllowOnlyReading, txtSenha.Text)
|  Private Sub btnProtegerDocumento_Click(sender As Object, e As EventArgs) Handles btnProtegerDocumento.Click
        Try
            Dim document As New Document(txtArquivoWord.Text)            'incluindo uma marca d'água no documento
            Dim txtWatermark As New TextWatermark()
            'atribuindo o texto da marca d'água e a fonte e o leiaute
            txtWatermark.Text = txtTextoMarcaDagua.Text
            txtWatermark.FontSize = 90
            txtWatermark.Layout = WatermarkLayout.Diagonal
            document.Watermark = txtWatermark            If chkProtegerSenha.Checked Then
                'protegendo o documento com senha
                document.Encrypt(txtSenha.Text)
            ElseIf chkSomenteLeitura.checked Then
                'protegendo somente leitura
                document.Protect(ProtectionType.AllowOnlyReading, txtSenha.Text)
            Else
                'protegendo o documento com senha
                document.Encrypt(txtSenha.Text)
            End If            'salvando o documento
            document.SaveToFile(txtSalvarArquivoWord.Text, FileFormat.Docx)
            MessageBox.Show("Arquivo Word Protegido com sucesso.")
        Catch ex As Exception
            MessageBox.Show("Erro  " + ex.Message)
        End Try
    End Sub | 
Pegue o projeto completo aqui : Protegendo_DocumentosWord.zip (sem as referências)
  
Ele(o 
anjo), porém, disse-lhes: Não vos assusteis; buscais a Jesus Nazareno, que foi 
crucificado; já ressuscitou, não está aqui; eis aqui o lugar onde o puseram.
Marcos 16:6
| Veja os 
    Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique 
	e confira ! Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? | 
  
    Gostou ?   Compartilhe no Facebook
Compartilhe no Facebook
  
 Compartilhe no Twitter
 
Compartilhe no Twitter
  
  
Referências: