
Como remover metadados internos de arquivos PDF usando .Net Core e iTextsharp
Olá Pessoal!
Gostaria de compartilhar com vocês um ConsoleApp em .Net Core que desenvolvi e me ajudou bastante na remoção de metadados de arquivos PDF! Mas pra que raios vou usar um negócio desses?! Antes vamos falar um pouco sobre metadados 😀
É bom lembrar que nossos arquivos não possuem apenas as “propriedades Windows” (ou como em qualquer outro SO), como Name, Title, Owner, etc; arquivos como o formato PDF também armazenam metadados próprios internamente e estes podem ser gerados dentro da própria ferramenta que os originou – seja ela um Adobe Photoshop, Lightroom, ou até mesmo uma ferramenta do pacote Microsoft Office.
Segue abaixo um arquivo PDF com metadados, e quais os “propriedades Windows” são exibidas:
Os metadados internos do arquivo podem ser verificados através do PowerMeta:
Ou melhor, no pacote do PowerMeta (que na verdade corresponde a um script powershell para análise de sites, download e verificação de metadados através da ferramenta exiftool.exe) voce pode usar apenas o exiftool para verificar individualmente o arquivo, como fizemos logo acima.
Observe que temos listado aqui o Author, Producer, XMP Toolkit, e uma séria de outros metadados que podem variar de ferramenta para ferramenta que produzem tais arquivos, e também do tipo e extensão do arquivo (assim como formatos de música que armazenam dados como álbum, duração, etc; ou formatos de imagem que armazenam informações da câmera, localização da foto, etc).
Mas o ponto principal é: certas ferramentas expõem dados sensíveis como metadados, e isto pode se tornar um problema do ponto de vista de segurança da informação quando estamos falando principalmente de arquivos PDF, que são largamento expostos ou distribuídos.
Para resolver este problema, podemos usar um bom e velho console app com a lib iTextSharp:
https://gist.github.com/gambin/7a92febb6cf315b415fcc38755c1f7a4
Pronto, voce já pode ter um arquivo com metadados limpos de maneira simples e fácil, executando o código diretamente no seu Visual Studio Code, uma vez que estamos falando de um projeto .Net Core 🙂
E agora os nossos metadados no arquivo são:
Simples não?
Espero que tenham gostado e até o próximo post 😀
Obs.: aproveitem para ler o paper do Sílvio Meira sobre transformação digital disponível no link abaixo, está excelente 🙂