Respostas:
Curiosamente, existem casos de uso "legítimos" para isso, principalmente pessoas com baixa visão. O Acrobat e outros leitores podem substituir as cores para exibição (por exemplo, Ctrl-I no Evince e através do menu Acessibilidade no Acrobat Reader X), mas estranhamente não para impressão. O que você pode fazer, no entanto, é usar o conversor pdf2ps do GhostScript (ou um driver de impressora PS falso que apenas grava o arquivo) para obter um arquivo postscript e depois editá-lo colocando
{1 exch sub} settransfer
como a primeira linha do arquivo e, em seguida, imprimindo esse arquivo PostScript. Dessa forma, você obtém uma renderização mais fiel do documento do que faria se convertesse o PDF em uma imagem e a invertesse.
pdf2ps
e ps2pdf
eu posso exportar o pdf original para um arquivo pdf invertido. Estou curioso sobre o que a linha proposta faz e se é possível "reverter" de volta às cores originais.
Existe uma maneira fácil e técnica .
A maneira técnica é que, se você tiver o Ghostscript instalado e a .../bin
pasta adicionada ao PATH, poderá inverter as cores do seu PDF chamando algo semelhante ao seguinte na linha de comando:
gswin64 -o C:/outputfile.pdf -sDEVICE=pdfwrite -c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" -f C:/inputfile.pdf
Observe que gswin64
(localizado na .../bin
pasta) pode ser chamado gswin32
se você baixou a versão de 32 bits ou algo totalmente diferente se você estiver em um sistema * nix em vez do Windows e que obviamente deve substituir C:/outputfile.pdf
e C:/inputfile.pdf
pelos caminhos reais do seu arquivo de entrada e local do arquivo de saída pretendido. Também tome cuidado para que, na minha experiência, às vezes possa haver algum problema se você tiver espaços nos diretórios de caminho, mesmo se colocar aspas em torno deles.
Também vale a pena notar que algumas versões do Ghostscript podem falhar nisso, a menos que você coloque a {1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer
linha em um .ps
arquivo separado e apenas adicione o .ps
arquivo ao seu comando.
(Esta é realmente apenas uma versão mais detalhada da Mateen Ulhaq
resposta acima)
A maneira mais fácil é que, se você não pode se incomodar em executar qualquer uma das opções acima, pode usar o site InvertPDF.com que fará tudo isso (além de um pouco mais) por você. Este é o meu próprio site, e me deparei com esse tópico enquanto tentava construí-lo. Espero que essa resposta torne mais fácil para a próxima pessoa tentar obter algo semelhante ou criar seu próprio script offline.
De acordo com esta página , você pode conseguir isso com o ImageMagick. No entanto, o PDF será convertido em imagens antes de ser invertido. Se a qualidade não for suficiente por causa disso, você poderá ajustar o número de DPI.
convert -density 300 -negate "input.pdf[1-999]" output.pdf
Substitua 300
pelo DPI desejado e 1-999
pelo intervalo de páginas desejado.
NOTA : Este comando é para uma versão mais antiga do ImageMagick e você precisará garantir que os utilitários herdados estejam instalados.
No Acrobat Reader X
Editar-> Preferências-> acessibilidade Selecione: Substituir cores do documento Selecione: Cor personalizada
Defina as opções restantes de acordo com a preferência pessoal.
Nota: Isso não altera o documento, apenas sua visão e a forma como ele é impresso.
Nenhuma das soluções postadas anteriormente funcionou para mim, então escrevi esse script simples do bash. Depende pdftk
e awk
. Basta copiar o código em um arquivo e torná-lo executável. Em seguida, execute-o como:
$ /path/to/this_script.sh /path/to/mypdf.pdf
O script:
#!/bin/bash
pdftk "$1" output - uncompress | \
awk '
/^1 1 1 / {
sub(/1 1 1 /,"0 0 0 ",$0);
print;
next;
}
/^0 0 0 / {
sub(/0 0 0 /,"1 1 1 ",$0);
print;
next;
}
{ print }' | \
pdftk - output "${1/%.pdf/_inverted.pdf}" compress
Esse script funciona para mim, mas sua milhagem pode variar. Em particular, às vezes as cores são listadas no formulário em 1.000 1.000 1.000
vez de 1 1 1
. O script pode ser facilmente modificado conforme necessário. Se desejar, também podem ser adicionadas conversões de cores adicionais.
Se você deseja uma escala de cinza mais agradável e não tem problema em converter seu documento em imagens, jogue-o em um arquivo .bat e simplesmente arraste seu PDF para o arquivo .bat.
"C:\Program Files\gs\gs9.20\bin\gswin64c" -o inverted.pdf -sDEVICE=pdfwrite -c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" -f %1
convert -brightness-contrast 3,-18 -compress lzw -density 300 -colorspace Gray inverted.pdf output.pdf
Requer que o Ghostscript seja instalado para o primeiro comando (especifique o caminho correto). Requer que o ImageMagick com utilitários legados seja instalado para o segundo comando.
Muitos sugeriram o uso do método Editar-> Preferências-> Acessibilidade , mas, infelizmente, não funcionou para mim. Depois de testar e brincar com a configuração do PDF, consegui o que queria!
Isso deve fazer o truque!
Nota importante!
Eu sugeriria imprimir este arquivo em um PDF do que diretamente. Especialmente se você pretende imprimir várias páginas em uma página, pois o espaço em branco também ficará preto!
Por fim, se você deseja imprimir o documento como outro PDF, em Dimensionamento e manuseio de páginas , clique em Ajustar e marque as duas caixas - " Escolha o tamanho do papel quando necessário " e Use tamanho de papel personalizado quando necessário . (Para evitar espaços em branco indesejados)
Espero que esta ajuda!