C# -  Protegendo Arquivos do Word e incluindo uma marca d'água


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.

A biblioteca Spire.Doc 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 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.

Nota : Veja o artigo para VB .NET em : VB .NET -  Protegendo Arquivos do Word e incluindo uma marca d'agua

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 C# 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:

No início do formulário declare as variáveis objeto que iremos usar no projeto:

using System;
using
System.Windows.Forms;
using
System.Diagnostics;
using
Spire.Doc;
using
Spire.Doc.Documents;

Agora vamos usar os recursos da biblioteca Spire.Doc for .NET em nosso projeto:

No evento Click do botão btnLocalizar vamos incluir o código abaixo:

   private void btnLocalizar_Click(object sender, EventArgs e)
   {
            OpenFileDialog ofd1 = new OpenFileDialog();
            string Arquivo = null;
            ofd1.Title = "Abrir como";
            ofd1.FileName = "Nome Arquivo";
            ofd1.Filter = "Arquivos Excel (*.docx)|*.docx";
            ofd1.InitialDirectory = "C:\\Dados\\Word\\";
            DialogResult dr = ofd1.ShowDialog();
            Arquivo = ofd1.FileName;
            if (Arquivo == null)
            {
                MessageBox.Show("Arquivo Invalido", "", MessageBoxButtons.OK);
            }
            else
            {
                txtArquivoWord.Text = ofd1.FileName;
            }
   }

No evento Click do botão de comando Proteger Documento Word inclua o código abaixo:

        private void btnProtegerDocumento_Click(object sender, EventArgs e)
        {
            try
            {
                Document document = new Document(txtArquivoWord.Text);                
                //incluindo uma marca d'água no documento
                TextWatermark txtWatermark = 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 (Exception ex)
            {
                MessageBox.Show("Erro  " + ex.Message);
            }
        }

Para concluir no evento Click do botão - Abrir Documento Word -  inclua o código a seguir:

private void btnAbrirArquivoWord_Click(object sender, EventArgs e)
        {
            try
            { 
                ProcessStartInfo startInfo = new ProcessStartInfo();
                startInfo.FileName = "WINWORD.EXE";
                startInfo.Arguments = txtSalvarArquivoWord.Text;
                Process.Start(startInfo);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro  " + ex.Message);
            }
        }

 

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:

Pegue o projeto completo aqui :  Protegendo_DocumentosWord.zip (sem as referências)

(Disse Jesus aos fariseus) Hipócritas, bem profetizou Isaías a vosso respeito, dizendo:
Este povo se aproxima de mim com a sua boca e me honra com os seus lábios, mas o seu coração está longe de mim.
Mas, em vão me adoram, ensinando doutrinas que são preceitos dos homens.

Mateus 15:7-9

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 Twitter

 

Referências:


José Carlos Macoratti