Converter um PDF colorido em branco / preto

3

No Debian Sid, eu tenho um PDF com fundo azul e fonte amarela. Eu pesquisei muito no Super User, mas não encontrei nada útil para mim.

Eu tentei converter o PDF em escala de cinza com:

gs -o grayscale.pdf -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -sProcessColorModel=DeviceGray -dCompatibilityLevel=1.4 colored.pdf

O problema é que eu obtenho um PDF com fontes brancas e fundo cinza escuro, então não consigo imprimir.

Depois disso, tentei:

convert -density 96x96 gs2.pdf -density 96x96 -negate -compress zip inv.pdf

Eu tenho um PDF com fontes pretas (e está tudo bem) e fundo cinza (e isso não está bem).

O que posso fazer para obter um PDF com fundo branco e fontes pretas?

    
por polslinux 17.10.2012 / 09:54

1 resposta

4

ADVERTÊNCIA GERAL !!! trabalhar em uma cópia do seu arquivo !!!

(assim você pode ter uma segunda chance se cometer erros)

vetor O fundo PDF (que significa imagem raster ) em arquivos pdf pode ser facilmente alterado em algumas etapas (veja também minha resposta stackoverflow que agora vou estender e melhorar

  • VERIFICAÇÃO PRELIMINAR :

abra o seu arquivo pdf com um editor capaz de mostrar a estrutura interna do pdf, como

notepad ++

  • link (versão portátil em um arquivo zip funciona bem com vinho no Linux ou você pode usar o vim também)

e verifique se você pode ver snippets de código como

1.000 1.000 0.000 rg (it means yellow)

0.000 0.000 1.000 rg (it means blue if your blue is the pure blue having RGB triplet 0, 0, 255, otherwise read the rest of answer to identify the right triplet into pdf code)

e assim por diante ...

(trecho de código pode mudar, por exemplo, em pdf produzido pelo openoffice recurso interno de exportação de pdf, os mesmos snippepts de código estão nas seguintes formas:

0 0 0 rg (it means *black*)
1 1 1 rg (it means *white*)

e assim por diante ...

se você conseguir ver esses snippets de código, poderá começar a mudar valores, caso contrário, você precisa descomprimir fluxos de texto

você pode executar essa tarefa com

pdftk

link

pdftk file.pdf output uncompressed.pdf uncompress

e recompress depois de terminar as alterações

pdftk uncompressed.pdf output recompressed.pdf compress

agora, se você vir esses snippets de código, poderá alterar os valores

PASSO 1 (para edição em pdf) -

a primeira coisa que você precisa é encontrar a equivalência correta entre RGB valores de cor do texto e do fundo e a representação interna do pdf das mesmas cores

você pode usar separadores de cores gratuitos como esses

para identificar os valores de rgb de texto e cores de fundo

depois de ter esses valores, você precisa converter em pdf interno especial representação

para fazer isso, lembre-se dessa proporção:

1: 255 = x: cor selecionada

por exemplo: digamos que você tenha esse trio de caracteres RGB: 30,144,255

parasaberosvalorescorrespondentesempdfparainserirnosnippetdecódigomudeacordofundodopdf,vocêfaz:(vocêpodeusaro link para computar com precisão)

1:255=x:30 = 30/255 = 0.117 (approximated to first three decimals)

1:255=x:144 = 144/255 = 0.564 (approximated to first three decimals)

1:255=x:255 = 255/255 = 1

Assim, o trio inteiro em pdf, correspondendo a RGB 30,144,255 , será:

0,117 0,564 1,000

# PASSO 2 (para edição em pdf)

procuramos 0,117 0,564 1.000 no arquivo pdf com o notepad ++ ( wrap around e corresponde a apenas uma palavra precisava ser verificada) e encontramos a pdf representação de fundo e podemos mudar de azul para, digamos, branco

1.000 1.000 1.000

ou

1 1 1

mas, como você escreveu sobre fundo azul , para ser mais preciso, criei um exemplo de pdf com fundo azul ( pure blue 0 , 0,255 RGB - se youe blue tiver tonalidade diferente, modifique conforme necessário minhas dicas) e texto amarelo

desde que sabemos que 0,000 0,000 1,000 rg significa azul , procuramos por isso e podemos mudar de 0.000 0.000 1.000 rg, para 1.000 1.000 1.000 rg (branco) MAS ...

ao mesmo tempo, você também altera o texto de amarelo para preto

procurando 1.000 1.000 0.000 (texto amarelo) e mudar para preto 0.000 0.000 0.000

e agora temos um PDF de vetor com o texto preto e o fundo branco

por favor, lembre-se de

    • compress again this pdf you mmodified if you uncompressed with pdftk
    • repair
pdftk file.pdf output fixed.pdf

existe outra maneira, a partir do postscript, para executar a mesma tarefa, mas como você já tem o arquivo pdf , converter para o postscript para executar a tarefa semelhante seria uma etapa supérflua

dê um feedback, por favor, e fique à vontade para perguntar mais

    
por 17.10.2012 / 12:09

Tags