Converter imagens de Coloridas para Escala de Cinza usando VSTO

Continuando a série VSTO, criei mais um código que facilitou e muito minha vida…
 
        // Abrir Aplicacao Word
        Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
 
        // Arquivos de Origem
        object filename = "c:arq1.doc";
 
        // Arquivo de Destino
        object newFileName = "c:nomeDoArquivo.pdf";
 
        object missing = System.Type.Missing;
 
        // Abrir documento
        Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(ref filename, ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing);
 
        // Formato para Salvar o Arquivo – Destino  – No caso, PDF
        object formatoArquivo = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;
 
        // Converter Imagens para Escala de Cinza
        doc.Content.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorBlack;
        foreach (Microsoft.Office.Interop.Word.InlineShape shape in doc.Content.InlineShapes)
        {
             shape.PictureFormat.ColorType = Microsoft.Office.Core.MsoPictureColorType.msoPictureGrayscale;                    
        }
 
        // Salvar Arquivo
        doc.SaveAs(ref newFileName, ref formatoArquivo, ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
 
        // Não salvar alterações no arquivo original
        object salvarAlteracoesArqOriginal = false;
        wordApp.Quit(ref salvarAlteracoesArqOriginal, ref missing, ref missing);

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *