Compare dois arquivos PDF página por página. Detecte diferenças visuais com sensibilidade configurável, alinhamento automático e processamento paralelo. Feito para pipelines de CI/CD.
Goroutines e channels orquestram os workers de renderização e comparação sem overhead.
Zero dependências em tempo de execução. Um executável autossuficiente para Linux, macOS e Windows.
O garbage collector do Go mantém o uso de memória mínimo mesmo ao processar centenas de páginas.
Código de máquina nativo. Sem JVM, sem interpretador — inicia em milissegundos e permanece rápido.
Preciso, configurável e rápido.
Renderiza cada página em DPI configurável (150–300+) e compara as imagens pixel a pixel usando um limiar de distância de cor que você define.
Detecta e compensa deslocamentos globais de página automaticamente. Offset de busca e limiar de diff configuráveis para acionar o alinhamento.
Os arquivos A e B sempre são renderizados em paralelo. Configure workers de renderização por arquivo (-rw) e workers de comparação (-j) de forma independente.
Gera um relatório em PDF destacando todas as regiões alteradas. Caminho de saída configurável com -o.
Compare apenas as páginas que precisa. Suporta intervalos como 1-10 ou listas mistas como 1,3,7-12.
Idioma do relatório detectado automaticamente pela variável de ambiente LANG. Suporta inglês, português (pt-br) e espanhol.
pdfcomparer -a ARQUIVO_A -b ARQUIVO_B [opções]
| Flag | Tipo | Descrição |
|---|---|---|
-a | string | Primeiro arquivo PDF (original) |
-b | string | Segundo arquivo PDF (modificado) |
| Flag | Tipo | Descrição |
|---|---|---|
-o |
string | PDF de relatório de saída (padrão: diff_report.pdf) |
-lang |
string | Idioma do relatório: en, pt-br, es (padrão: detectado automaticamente via LANG) |
| Flag | Tipo | Descrição |
|---|---|---|
-t |
float |
Limiar de distância de cor 0.0–1.0 (padrão: 0.05) 0.01 = diferenças muito sutis | 0.10 = apenas diferenças óbvias |
-min-diff-pct |
float |
Diff% mínimo para considerar uma página diferente (padrão: 0.0) Use 3.0 com -align=true para suprimir ruído de anti-aliasing |
-aa-blur |
int |
Raio de desfoque antes da comparação (0 = desativado) 1 = remove anti-aliasing de 1 px | 2 = suprime gradientes até 3 px |
| Flag | Tipo | Descrição |
|---|---|---|
-dpi |
int |
Resolução de renderização (padrão: 150) 150 = rápido, bom para texto | 300 = alta qualidade, detecta diffs em imagens |
-pages |
string | Intervalo de páginas, ex.: "1-10" ou "1,3,7-12" (padrão: todas) |
-rw |
int |
Workers de renderização por arquivo; A e B sempre renderizam em paralelo (padrão: 2) ex.: -rw 4 inicia 4 processos pdftoppm por arquivo (8 no total) |
-j |
int | Workers de comparação (padrão: 4) |
| Flag | Tipo | Descrição |
|---|---|---|
-align |
bool | Auto-alinhar: detecta e compensa deslocamento global quando o diff da página é alto (padrão: true) |
-align-thr |
float | Diff% aproximado acima do qual o alinhamento é tentado (padrão: 3.0) |
-max-offset |
int | Offset máximo em pixels ao alinhar (padrão: 50) |
| Flag | Tipo | Descrição |
|---|---|---|
-machine-id |
— | Imprime o ID de licença desta máquina e sai (envie-o para obter uma licença de uso) |
-license |
string |
Caminho para o arquivo de licença (.lic) Ou defina PDFCOMPARE_LICENSE, ou coloque pdfcompare.lic ao lado do binário |
-license-info |
— | Exibe as informações do licenciado e sai |
Comparação básica
Alta qualidade, primeiras 50 páginas
Paralelismo máximo
Suprimir ruído de anti-aliasing
Obter ID da máquina para licenciamento
Verificar informações da licença
Licença por máquina. Todos os recursos incluídos desde o primeiro dia.
Para adquirir, execute pdfcomparer -machine-id e envie o ID para
[email protected]