Existe uma maneira melhor de editar um PDF?

24

Eu tive que imprimir recentemente alguns PDFs para enviar a alguém, mas queria redigir (ocultar) alguns pequenos pedaços de texto.

Uma rápida pesquisa no google não encontrou nenhuma ferramenta para esse fim específico, então voltei ao imagemagick & gimp:

  • convert document.pdf document.png
  • gimp document-0.png
  • (use o pincel para ocultar o texto)
  • imprimir página editada do gimp
  • imprimir páginas restantes de xpdf

O problema dessa estratégia é que o processo de conversão (de PDF para PNG ou qualquer outro formato) perde qualidade. Tentei editar o PDF no gimp, mas não funcionou imediatamente.

Existe uma ferramenta específica que permita a redação dessa maneira? (Nem precisa ser uma redação "real" - não estou enviando uma cópia eletrônica para que a redação "falsa" funcione porque a cópia impressa não pode ser invadida para revelar o texto subjacente.)

Ou existe algum truque para editar PDFs no gimp?

bstpierre
fonte
1
O PDF é escalável, o PNG é um gráfico de varredura, provavelmente o motivo pelo qual há perda de qualidade no processo de conversão. Converta para um formato escalável, como SVG.
Anônimo
@ Anonymous: Boa idéia, mas não utilizável. O arquivo SVG resultante é enorme; Eu tive que MATAR o visualizador depois de 30 minutos e um GiB ou mais de consumo de memória.
bstpierre

Respostas:

15

(originalmente eu recomendei o Okular, mas não funcionou como eu esperava)

1. Edite o documento em um editor de vetores

Consegui abrir um arquivo PDF no Inkscape , desenhar um retângulo sobre um pedaço de texto e imprimi-lo. O Inkscape é um editor de vetores, portanto não há rasterização envolvida. Algumas fontes pareciam erradas - provavelmente porque o documento foi criado na máquina Windows com fontes ausentes na minha.

Observe que qualquer método que não envolva rasterização só é aceitável se você quiser imprimir o documento editado em papel e não distribuí-lo eletronicamente, pois o texto ainda pode ser recuperado sob apagões.

2. Aumente a resolução de rasterização ao abrir em um editor de bitmap

Em relação à "perda de qualidade" ao abrir a página no Gimp : você pode abrir diretamente um arquivo PDF no Gimp. Será rasterizado no processo. A quantidade de perda de qualidade no processo é uma questão de resolução que você escolhe ao importar - 300 dpi deve fornecer uma qualidade muito decente (o padrão é 100).

Você também pode obter bons resultados com o convertcomando do ImageMagick, se pedir para aumentar a resolução:

convert -density 300x300 ...
Sergey
fonte
1
+1 e aceito! Obrigado por sugerir o inkscape, ele fez um trabalho razoável (não perfeito - perdeu alguns objetos gráficos (sem importância para mim)) - mas muito razoável). E a dica converttambém foi boa: o encantamento que usei foi convert -density 300x300e não há perda de qualidade.
bstpierre
1 para mencionar GIMP pode lidar com pdfs muito bem
don.joey
8
Aviso para a população em geral: os métodos de edição aqui que envolvem a retenção de texto sugerido aqui (por exemplo, todos os que evitam rasterização) não são seguros. O texto ainda pode ser selecionado em blecautes ou lido na origem do arquivo. Veja por exemplo freerepublic.com/focus/f-news/2706743/posts e hackaday.com/2008/08/01/exposing-poorly-redacted-pdfs
naught101
Embora a pergunta original seja feita apenas sobre o envio de cópia impressa, para a qual métodos não radicalizantes são aceitáveis, a redução de votos, já que essa resposta não avisa claramente o risco de segurança ao distribuir o resultado eletronicamente.
Jesse Glick #
4
@ JesseGlick: em vez de me "punir" por não abordar um caso de uso que nem sequer foi mencionado na pergunta original, você poderia ter acabado de editar a resposta. Isso seria mais benéfico para os futuros visitantes.
Sergey
10

Basicamente, o que você está tentando fazer é destacar / anotar um PDF, mas com alguma flexibilidade em relação à opacidade e cor do marcador (você mencionou que não precisa censurar / remover algo, apenas redigir). Você já viu as respostas aqui: Como destacar ou anotar PDFs?

Uma das respostas mais bem avaliadas recomenda o Xournal , que não foi mencionado aqui e seria minha arma de escolha. É uma ferramenta que permite fazer anotações manuscritas, mas possui recursos extras que permitem anotar um PDF. Por padrão, ele salva suas anotações como um arquivo separado, mas também permite exportar o PDF anotado como um novo PDF. Isso deve manter o layout, as fontes etc.

Com o Xournal, você escolheria "Anotar PDF" e, em seguida, usaria um marcador preto sólido para mascarar as partes que deseja editar e "Exportar para PDF".

Existem algumas histórias na internet sugerindo que o Xournal rasteriza o texto no PDF exportado (obrigado por apontar isso, MHC). Isso não parece ser verdade: com anotações simples, o texto permanece selecionável e pesquisável e o tamanho do arquivo não aumenta muito (aumentou de 205 kb para 220 kb no exemplo abaixo).

Para instalar, execute em um terminal: sudo apt-get install xournalou apenas selecione-o no Software Center

Interface Xournal PDF exportado resultante

Tomas
fonte
O Xournal é bom, mas você deve saber que ele só pode exportar PDFs rasterizados, o que significa que todas as informações de texto e vetor são perdidas no processo. Se você pode lidar com isso, o Xournal é a aplicação de sua escolha.
Glutanimate
1
Obrigado pelo feedback, @MHC. O Xournal não rasteriza; consulte a resposta revisada para obter mais informações.
Tomas
3
Eu apenas tentei por mim mesmo e você está absolutamente certo. Desculpe pela confusão. Fazia um tempo desde que eu usei o Xournal e de alguma forma fiquei com a impressão de que os documentos exportados não eram PDFs verdadeiros. Obrigado por esclarecer isso!
Glutanimate
1
Isso funciona bem, mas não consegui encontrar uma maneira limpa de redigir informações. Eu tive que usar a ferramenta de desenho para rabiscar, que parece muito bagunçada e carece do profissionalismo que eu gostaria. Caso contrário, localize com a exportação rasterizando o conteúdo para que ele não possa ser selecionado e descoberto.
flickerfly
Para redação real, que substitui dados textuais por imagens, combine esta resposta com @ balu's que usa o convertcomando ImageMajick .
Colan
6

Você pode usar o Okular.

sudo apt-get install okular
  1. Abra o pdf com Okular.
  2. Pressione F6.
  3. Pressione 8.
  4. Destaque o texto que você deseja editar.
  5. Clique com o botão direito do mouse no texto, selecione Propriedades, selecione "Tipo" como "Destaque", pressione Ok.
  6. Imprima o arquivo em um pdf.
eharvey
fonte
4
Talvez mencione como tornar o destaque preto.
equaeghe
1
O Okular pode ser redigido com qualquer cor (preto) dessas funções: realce do texto, linha à mão livre e links de polígonos com preenchimento interno. Você pode salvar a configuração como sua própria ferramenta de anotação personalizada. Facilmente usá-lo repetidamente. Então, quando você imprimir o arquivo em pdf, deverá "forçar a rasterização" para garantir que a redação não seja reversível. Okular versão 1.1.3
shadowbq 23/03
É preto por padrão, funciona com a versão mais recente do Okular. Obrigado!
TheFrack
5

Como faço para editar muitos arquivos PDF todos os dias, por isso passo muito tempo pensando em como fazê-lo da melhor maneira.

Para mim, a melhor maneira é dividir o PDF em um arquivo PDF de uma página, ao lado de editar com o GIMP, ao lado de combiná-lo. Eu não uso o imagemagick em todos os arquivos (eu não uso), por isso não perco a camada de texto em todas as páginas, mas apenas nas edições. Não carregue o arquivo PDF inteiro de uma vez, pois isso causa exaustão de memória.

Dividir PDF em arquivos de 1 página

Divida facilmente arquivos PDF em PDF de 1 página, usando esta função do bash (coloque-o em ~ / .bashrc):

function pdf_split(){
    for file in "$@"; do
        if [ "${file##*.}" != "pdf" ]; then
            echo "Skip $file because it's not PDF file";
            continue
        fi; 
        pages=$(pdfinfo "$file" | grep "Pages" | awk '{print $2}') 
        echo "Detect $pages in $file";
        filename="${file%.*}";
        unset Outfile;
        for i in $(seq 1 "$pages"); do
            pdftk "$file" cat "$i" output "$filename-$i.pdf";
            Outfile[$i]="$filename-$i.pdf";
        done;
    done;
};

Agora você pode entrar split_pdf file.pdfpara obter muitos arquivos PDF.

Redigir arquivos

Mas agora você precisa editar todos esses arquivos. Você pode fazer isso com gimp original-filename-*.pdf. Sugiro configurar o atalho no GIMP (Janela principal-> Editar-> Atalho) para substituir o arquivo (eu uso CTRL + R), desfocar o filtro (por exemplo, CTRL + D), fechar o arquivo (por exemplo, CTRL + W) e sair do GIMP ( por exemplo, CTRL + Q). Lembre-se de não carregar no GIMP muitos arquivos de uma só vez, mas sim o GIMP quando você carregar após abrir, para que você possa usar gimp original-filename-*.pdfmilhares de arquivos com segurança.

Combinar arquivos

Você pode combinar arquivos facilmente com: pdftk originam-filename-*.pdf cat output "new-file-anon.pdf";

Conecte tudo junto

Essas operações são muito repetitivas e chatas, então eu conecto tudo em um script:

function pdf_redact(){
    for file in "$@"; do
        if [ "${file##*.}" != "pdf" ]; then
            echo "Skip $file because it's not PDF file";
            continue
        fi; 
        pages=$(pdfinfo "$file" | grep "Pages" | awk '{print $2}') 
        echo "Detect $pages in $file";
        filename="${file%.*}";
        unset Outfile;
        for i in $(seq 1 "$pages"); do
            pdftk "$file" cat "$i" output "$filename-$i.pdf";
            Outfile[$i]="$filename-$i.pdf";
        done;
        gimp "${Outfile[@]}";
        pdftk "${Outfile[@]}" cat output "$filename-anon.pdf";
        rm "${Outfile[@]}";

    read -p "Do you want open output file? " -n 1 -r
    echo    
    if [[ $REPLY =~ ^[Yy]$ ]]
    then
            evince "$filename-anon.pdf";
    fi

    read -p "Do you want upload output file to Scribd.com? " -n 1 -r
    echo 
    if [[ $REPLY =~ ^[Yy]$ ]]
    then
        scribd_up "$filename-anon.pdf";
    fi
    done;
};

A versão mais recente desse script está sempre acessível em: http://dostep.jawne.info.pl/it/bashrc

Lembre-se de fechar o GIMP (CTRL + Q) depois de toda a redação para continuar o script.

Além disso, eu abri arquivos editados (gosto de ler para verificar se todos) e carregava no Scribd com meu outro script - scribd_up , para que agora eu possa editar muitos arquivos PDF com muita eficiência.

Adam Dobrawy
fonte
2

Abra o PDF com a ferramenta gratuita PDF-Xchange PDF Viewer . Oculte o texto a ser redigido usando retângulos pretos. Impressão. Isso proporcionará uma redação "falsa" fácil e de alta qualidade.

MetaEd
fonte
Isso parece ser uma ferramenta win32. Deixe-me saber se eu perdi o link para a porta linux ...
bstpierre
3
O visualizador portátil gratuito de PDF-Xchange funcionará com o wine.
Sabacon 27/10/11
Obrigado, isso funcionou perfeitamente para mim com vinho. As soluções inkscape e gimp são realmente úteis apenas para redações de página única.
Gearoid Murphy
2

Use o LibreOffice Draw para a edição rápida que você está procurando. Após concluir, você pode salvá-lo no formato LibreOffice Draw ou exportá-lo novamente para o formato PDF ( File> Export as PDF)

insira a descrição da imagem aqui

Para poder importar arquivos PDF para o LibreOffice Draw, você deve primeiro instalar o pacote libreoffice-pdfimport.

Instale-o através do Ubuntu Software Center ( libreoffice-pdfimport Instale libreoffice-pdfimport ) ou através de um terminal com sudo apt-get install libreoffice-pdfimport.

Bruno Pereira
fonte
2

Você também pode tentar esta ferramenta: https://launchpad.net/updf

Aqui está (mas de qualquer maneira, o texto é selecionável):

insira a descrição da imagem aqui

Franzlorenzon
fonte
1
O uPDF é excelente, pois preserva o PDF original e seu texto e conteúdo svg. No entanto, parece ter alguns problemas com os níveis de compactação. Os PDFs editados têm um tamanho cerca de 3-4x maior que o original. Obrigado por postar isso, no entanto. Eu não estava ciente de uPDF.
Glutanimate
Sim, eu sei que tem alguns problemas, é um pouco difícil. Esperemos que versões mais recentes irá corrigir esses problemas ... :)
franzlorenzon
Como mencionado, o uPDF tem muitos bugs (e nem desfaz / refaz), mas tudo ainda correu bem no meu caso, então obrigado!
balu
2

Lembro-me de uma vez em que eu e um colega tivemos que encontrar uma maneira de editar alguns pdf. Acabamos usando o Gimp. Vou comentar os detalhes ... abrimos o pdf diretamente com o gimp (em um terminal)

gimp the_file.pdf

Quando você terminar de editar, não salvamos as alterações, em vez disso, imprimimos em arquivo pdf ... Isso parecia funcionar bem.

maniat1k
fonte
Por qualquer motivo, o gimp se recusa a permitir que eu faça edições no arquivo. Eu tive que converter convertprimeiro com o imagemagick e depois editar o arquivo convertido. (Veja resposta aceita.)
bstpierre
ok, a solução do inkscape é válida. Mas repito para você: O Gimp pode editar arquivos PDF diretamente. = D
maniat1k 28/10/11
O Gimp parece funcionar com a maioria dos arquivos PDF, mas o arquivo que eu estava usando ontem à noite não funcionou corretamente. O Inkscape manipulou esse arquivo corretamente.
bstpierre
2

O PDF Studio é um software não-aberto e é um software que requer compra.

Em termos desta pergunta, a partir da versão 8, ele possui um recurso de edição manual. Os usuários podem selecionar um objeto de texto e editá-lo. O conteúdo é removido do PDF e substituído por um retângulo preto.

Na versão 9, no terceiro trimestre de 2013, anotações de redação e gravação também estarão disponíveis para imagens e formas.

Lilou
fonte
4
De acordo com o FAQ , você deve divulgar sua afiliação ao produto que está promovendo.
precisa saber é o seguinte
Mesmo que seja mais um anúncio promocional do que uma resposta, devo dizer que o PDFstudio é realmente um ótimo software. Pode ser um pouco caro demais, mas certamente é o melhor pacote de edição de PDF para Linux disponível no mercado. Tente pelo menos experimentar a versão de teste .
Glutanimate
2

Como muitas soluções aqui recomendam redigir / desmaiar por meio de anotações (que deixam o conteúdo original em pdf), recomendo rasterizar o pdf posteriormente para remover realmente o conteúdo original. (Não seja esse cara .)

Aqui está uma maneira de fazer o que, ao mesmo tempo, mantém a qualidade e o tamanho do arquivo baixos (pelo menos no meu caso de várias páginas em preto / branco):

$  convert -quality 100 -density 180 -compress zip notreallyredacted.pdf trulyredacted.pdf

Nota: convertprecisa do ImageMagick.

Nota 2: convertnão preserva o conteúdo dos formulários que você pode ter preenchido. Para não se perder, convém imprimir o documento "em um arquivo" em algo como evinceprimeiro (ou em qualquer aplicativo que você preencheu o formulário) e depois rasterizá-lo.

balu
fonte
Apenas adicionei a correção de permissões. Esta resposta deve ser combinada com a do Xournal.
Colan
1

A melhor maneira de encontrar isso é usar http://www.pdfescape.com . Você pode fazer anotações, adicionar texto e imagens, desenhar um retângulo "esmaecido" ao redor do material que deseja editar e pode fazer o download e salvá-lo rapidamente. Também funciona muito bem com documentos de várias páginas, algo com o qual muitas outras soluções não funcionam bem. Por exemplo, se você abrir um documento com várias páginas no Gimp ou no Inkscape, poderá abrir apenas uma página por vez. O processo é muito mais rápido no PDFescape. Todo o processo para redigir um documento de 2 páginas leva menos de um minuto.

user184478
fonte
1
Não limpa verdadeiramente os dados que você pintou. (Ainda posso procurá-lo e ele será "destacado" abaixo).
Frank Nocke 25/10
1

Se você não quer se lembrar do encantamento correto, convertpode usar o pdf-redact-tools , um shell script que automatiza o processo de explodir um PDF em imagens PNG e juntá-las após a redação (usando uma ferramenta de sua escolha, por exemplo, gimp ) É conventiently apt-get instalável .

kynan
fonte
0

Existem vários editores para editar documentos PDF diretamente, como pdfedit, ou convertê-los em outros formatos vetoriais que podem ser melhor suportados, como pstoedit. No entanto, eu não recomendaria o uso de nenhum deles, pois o risco de fazer algo estúpido, como pintar o texto com preto e deixar os vetores no lugar é fácil, tornando a redação trivial para desfazer.

Ir o vetor para a rota de bitmap é a maneira mais segura, de preferência a rota de 1 bit, para evitar possíveis problemas com canais alfa ou diferenças de cores que possam deixar o texto legível.

Se possível, você deve sempre redigir o documento original e simplesmente remover as informações, não a tinta no PDF, pois mesmo o kerning e o espaçamento do texto ao redor do texto redigido podem ser descartados.

Grumbel
fonte
Entendo os problemas da redação corretamente, mas obrigado por tomar o cuidado de apontá-los para quem vier depois. No meu caso, o PDF em si é descartável - tudo o que estou procurando é uma cópia impressa. (O PDF será excluído assim que eu tiver uma cópia impressa.) FWIW, pdfeditnão funcionou: quando desenhei um retângulo preto sobre o texto em questão, ele colocou o resto da página em branco, deixando-me um documento que consiste em um único retângulo preto.
bstpierre
0

Eu adiciono à lista: Krita . Não houve perda de qualidade, porque ao importar PDF você pode definir dpi (defina-o como 300, como disse o @Sergey). Após a edição, clique em "Exportar como PDF". Por fim, acho o Krita mais intuitivo que o Gimp, depois de ter sido um usuário de longa data do Photoshop.

jmjr
fonte
-1

Se estiver usando o LibreOffice para criar um arquivo PDF, abra o documento no LibreOffice, realce o texto a ser editado, clique com o botão direito do mouse e selecione o caractere, selecione Plano de fundo e clique em preto. Exporte para PDF.

Dave
fonte