VintaSoft Imaging .NET SDK suporta a capacidade de ofuscar a codificação de texto para todos os tipos de fonte.
Qual é o objetivo? Por exemplo, você publica um documento com acesso aberto (ou o fornece a terceiros) e não deseja que o texto do documento seja facilmente extraído por copiar/colar em qualquer visualizador de PDF.
Solução 1: Impedir a extração de texto usando sinalizadores das configurações de segurança do documento PDF; no entanto, a conformidade com as configurações dependerá do aplicativo que o usuário utiliza para visualizar o documento. O texto pode ser facilmente extraído se o visualizador de PDF ignorar as configurações de segurança do documento PDF.
Solução 2: Remover completamente as informações sobre a codificação do texto, misturar os glifos da fonte e os códigos dos símbolos na página. Isso pode ser feito usando a funcionalidade de ofuscação da codificação de texto fornecida no
VintaSoft PDF .NET Plug-in. O mecanismo de ofuscação remove completamente as informações sobre a codificação do texto, mistura os glifos dos símbolos na fonte e na página e duplica fontes e glifos de símbolos. O texto ofuscado dessa forma pode ser extraído usando apenas OCR.
Vamos analisar a ofuscação de um documento PDF simples (
document-without-text-obfuscation.pdf) usando o aplicativo VintaSoft PDF Editor Demo.
O documento contém duas páginas. Quatro frases foram escritas usando três fontes diferentes.
A primeira frase da primeira e da segunda página foi escrita usando a mesma fonte.
O painel de extração de texto e a caixa de diálogo de visualização de fontes mostram que todos os símbolos têm a codificação de texto correta.
A caixa de diálogo de ofuscação de codificação de texto pode ser acessada pelo menu do aplicativo: Text -> Obfuscate Text Encoding -> Settings
Vamos realizar a ofuscação com as configurações padrão e revisar o documento de saída com o texto ofuscado:
document-with-default-text-obfuscation.pdf.
A revisão do documento mostra que as fontes foram completamente alteradas e os glifos foram realocados aleatoriamente. O texto extraído pode ser visualizado no painel de extração de texto.
Como a primeira frase em ambas as páginas foi escrita com a mesma fonte, os símbolos da primeira palavra (destacados em verde) em ambas as páginas são os mesmos:
Você pode pensar: "Vou escrever um programa simples e extrair o texto. Vou criar manualmente uma tabela de mapeamento de caracteres e decodificar o texto." Sim. Isso é possível, especialmente quando há poucas fontes no documento. Por isso, implementamos as configurações de ofuscação, que tornam a decodificação praticamente impossível.
Vamos abrir novamente a caixa de diálogo de ofuscação de codificação de texto e:
- ativar a opção de duplicação de fontes - cada página usará seu próprio conjunto de fontes e os glifos de cada conjunto serão realocados aleatoriamente.
- ativar a opção de duplicação de glifos da fonte - símbolos idênticos na página usarão glifos diferentes dos símbolos na fonte, e o código do glifo será escolhido aleatoriamente.
Depois disso, vamos ofuscar a codificação de texto no documento PDF mais uma vez e revisar o documento PDF de saída com o texto ofuscado:
document-with-strong-text-obfuscation.pdf.
Agora podemos observar que para a letra "e" foram usados glifos diferentes e o texto extraído incluirá símbolos dessa letra com códigos diferentes.
A palavra "Texto" da primeira linha agora está escrita com fontes diferentes. Em cada fonte, é usada sua própria localização aleatória e duplicação de glifos. Agora, os resultados desta extração de palavras da primeira e da segunda página são completamente diferentes: