Verifique com o ghostscript se um PDF possui objetos transparentes
-
21-12-2019 - |
Pergunta
PDFs podem definir transparência em diversas partes (veja, por exemplo, aqui):
Como atributos de estilo gráfico:
- preencher opacidade (
/ca
) ou opacidades de traçado (/CA
) abaixo de um valor de 1,0 - definição de uma máscara suave (
\SMask
)
ou com a definição de um grupo de páginas de transparência (/S /Transparency
).
A seguir grep
expressão é uma verificação rápida (e suja) disso:
grep -aE -e '/[Cc][Aa] +0?\.[0-9]' -e '/SMask' -e '/S /Transparency' *.pdf
É possível verificar se existem objetos transparentes com gs
?
Solução
Acredito que pdf_info.ps (gs/toolbin) lhe dirá isso.O Ghostscript quer saber antecipadamente se uma página usa transparência ou não, pois pode fazer otimizações de desempenho e memória se souber que não há transparência.
Observe que um grande número de arquivos PDF circulando declaram transparência 'falsa', onde a transparência acaba sendo 100% opaca :-(
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow