Anotações de texto e adições de imagem ao arquivo PDF usando software gratuito

17

Estou interessado principalmente em anotar um arquivo PDF com texto em uma posição predeterminada. GUIs e utilitários de linha de comando são Ok, mas apenas soluções de software livre, por favor. No entanto, incluí adições de imagens para garantir a integridade.

Para ficar claro, as anotações devem fazer parte do arquivo PDF, caso contrário, não será útil.

Há duas perguntas semelhantes no Ask Ubuntu , mas elas têm dois anos de idade. Estes são Como posso adicionar texto e imagens (por exemplo, uma assinatura) a um PDF? e Como posso editar uma imagem em um arquivo PDF existente?

Eu tentei o Xournal , que funciona. No entanto, acho que seria bom um pequeno tutorial sobre como fazer isso; portanto, você deseja adicionar um pequeno tutorial sobre como usar o Xournal para realizar essas tarefas, adicione uma resposta.

Eu também tentei o updf, que não funcionou para mim, embora esta resposta e esta por exemplo digam que sim. Eu reconstruí o pacote (que é puro Python) no Debian Wheezy, usando as fontes do PPA updf . Parece bastante primitivo e a caixa de diálogo "Salvar como" nem tinha um botão de salvar. Se outras pessoas tiveram experiências diferentes, poste.

Para cada resposta, forneça um breve tutorial com capturas de tela, se apropriado, sobre como você realizou essa tarefa.

Faheem Mitha
fonte
O que havia de errado com o libreoffice?
Goldilocks
@goldilocks Eu não usei. Se funcionar para você, escreva uma resposta.
Faheem Mitha
O Libreoffice 3.5.4 tenta abrir um arquivo PDF como texto aqui. Talvez eu esteja fazendo algo errado.
Faheem Mitha
Editei com êxito um PDF para adicionar cores a diferentes estados no diagrama de estado de um p / b em algum documento no trabalho usando o libreoffice e fiquei bastante impressionado com o resultado (era quase impossível notar qualquer diferença, exceto que a espessura da linha era ligeiramente diferente a poucos lugares).
precisa saber é
@hlovdal Você pode nos dar alguns detalhes de como você fez isso?
Faheem Mitha

Respostas:

12

Os arquivos PDF parecem abrir no LibreOffice Draw. Não fiz nada de especial além de abrir o arquivo da seguinte maneira:

$ libreoffice carcut_01.pdf

Uma vez no LibreOffice Draw, simplesmente anotei o PDF como se fosse um documento / imagem normal. Uma vez feito, cliquei no ícone PDF na barra de ferramentas do Draw para exportar o arquivo como um novo arquivo PDF.

    ss de empate

Este foi o resultado do meu esforço.

    ss de xpdf

Mas o LibreOffice não funciona para mim?

Se você estiver enfrentando um problema com o Draw não conseguir fazer isso (eu estava usando a versão do LibreOffice):

  • Versão: 4.1.4.2
  • ID da compilação: 4.1.4.2-4.fc19

** NOTA: * Você pode estar perdendo este pacote que faz parte do LibreOffice:

$ rpm -aq|grep "libre.*pdf"
libreoffice-pdfimport-4.1.4.2-4.fc19.x86_64

É assim que o pacote se parece em distros baseadas no Red Hat, como o Fedora. Eu diria que no Debian / Ubuntu existe um pacote com o mesmo nome, provavelmente libreoffice-pdfimport.

Alternativas?

Você poderia tentar o Okular .

O Okular permite revisar e anotar seus documentos. As anotações criadas no Okular são salvas automaticamente na pasta de dados local interna de cada usuário. O Okular não altera implicitamente nenhum documento que ele abre.

captura de tela

   ss de okular

O quê mais?

Como mostra a resposta de @ Terdon , você também pode usar o GIMP, juntamente com uma série de outras ferramentas. O @Terdon também teve a gentileza de postar este link em nossa sala de bate-papo, que possui uma lista de outras ferramentas para anotar PDFs e também para visualizá-los.

slm
fonte
1
Notas específicas do Debian: Estou no Wheezy, mas usei o backport do libreoffice, atualmente 1:4.1.4-2. Eu instalei libreoffice, mas tive que adicionar libreoffice-pdfimport, pois isso não é puxado por libreoffice. Sem isso, não funciona. Clique no T na barra inferior para inserir texto. A tentativa de substituir o PDF existente falha aqui. Além disso, a saída resultante parece muito baixa em comparação com o original - um PDF gerado a partir da saída LaTeX. Isso pode (e provavelmente funciona) com o Libreoffice chiado. Eu não me incomodei em verificar.
Faheem Mitha
Eu tentei a opção de edição do Okular. Esta é a opção Revisar em Ferramentas. No entanto, ele não aparece em nenhum visualizador de PDF e, portanto, claramente não faz parte do PDF, o que o torna inútil.
Faheem Mitha 20/09/2015
Consegui abrir um PDF no LibreOffice Draw, desenhar um retângulo e exportar de volta para PDF. No entanto, o PDF (originalmente produzido a partir do Docbook) tinha um índice clicável - o layout era levemente bagunçado e os itens não podiam mais ser clicados para pular.
Oskar Berggren
8

Como você deseja sobrepor o texto em uma posição predeterminada, pode pdftkfazer isso.

Você precisa de dois arquivos PDF. Um é o arquivo PDF que você deseja carimbar com o texto. O outro arquivo PDF é o texto que você deseja carimbar. O segundo deve ter um plano de fundo transparente. Você pode fazer isso facilmente com, digamos, LibreOffice Draw e imprimir em pdf usando cups-pdf. Exportar para PDF - mesmo se você não selecionar PDF1 / A - criará um fundo opaco.

Então você faz:

pdftk input.pdf stamp overlay.pdf output stamped.pdf

Se você deseja sobreposições diferentes em páginas diferentes, crie uma sobreposição de várias páginas.pdf (a página de sobreposição 1 vai na página de entrada 1, a página de sobreposição 2 na página de entrada 2 etc.) e depois:

pdftk input.pdf multistamp overlay.pdf output stamped.pdf

Como as capturas de tela são populares, eis a aparência da entrada e dos resultados. Obviamente, o input.pdf foi criado com a ferramenta smiley do LibreOffice:

Captura de tela


Como criar um PDF com CUPS-PDF

O CUPS-PDF é um driver de impressão para o CUPS que cria arquivos PDF a partir de trabalhos de impressão. Para usá-lo, você deve estar usando o CUPS. Instale o cups-pdfpacote (requerido pelo menos no Debian). Visite a interface administrativa do CUPS em http://localhost:631/admine clique em 'Adicionar impressora'. Você deve ver "CUPS-PDF (Impressora virtual de PDF)" como uma opção. Selecione, pressione continuar. Preencha os nomes da fila, etc, e continue novamente. Se solicitado para um PPD, está sob genérico.

Depois de adicionar essa impressora, ela pode ser totalmente configurada /etc/cups/cups-pdf.conf.

Para usá-lo, imprima normalmente, mas selecione-o como a impressora, em vez da sua impressora normal. O arquivo PDF será inserido $HOME/PDFpor padrão.

derobert
fonte
O CUPS pode solicitar autenticação ao adicionar uma impressora, o usuário precisa ser adicionado ao grupo necessário ( syspor padrão)
aksh1618
6

O Okular pode fazer anotações em PDFs, a partir da versão no Debian 8 (Jessie). Esta é a versão:

okular --version
Qt: 4.8.6
KDE Development Platform: 4.14.2
Okular: 0.20.2

Aqui está como funciona:

Para detalhes, consulte a página de referência de anotação no manual do Okular .

Para citar essa página:

Desde o Okular 0.15, você também pode salvar anotações diretamente em arquivos PDF. Esse recurso estará disponível apenas se o Okular tiver sido construído com a versão 0.20 ou posterior da biblioteca de renderização do Poppler.

Primeiro, você precisa anotar o PDF. Você pode fazer isso através do menu ou pressionando uma tecla. Você pode encontrar as ferramentas sob Tools->Reviewou pressionando a tecla F6.

Isso exibirá um menu à esquerda, com uma variedade de opções.

insira a descrição da imagem aqui

Provavelmente, a melhor opção para anotações embutidas é "Nota embutida". Siga as instruções no link para salvar a nota. Conforme observado no link, a cor do plano de fundo, a fonte e outros recursos da nota podem ser personalizados. Consulte também Alterar e salvar a configuração da anotação em pdf no Okular? .

Por padrão, as informações da anotação são armazenadas em arquivos xml localizados em

~/.kde/share/apps/okular/docdata

ou mais geralmente, no local

$(kde4-config --localprefix)/share/apps/okular/docdata/

Para salvar a anotação no arquivo PDF, conforme desejado, salve as anotações novamente no arquivo usando Save As.

A anotação é vista por xpdf e evince (que lança o aviso "AVISO **: anotação não implementada: POPPLER_ANNOT_FREE_TEXT. É um problema conhecido e pode ser implementado no futuro.", Mas ainda mostra a anotação), mas não por acroread(9.5 .5) ou o plug-in PDF de Chromium(45.0.2454.85). Também imprime Ok usando gtklp, um front end do CUPS.


Mais algumas dicas:

  • O recurso Revisão pode ser adicionado à barra de ferramentas: Configurações - Configurar barras de ferramentas - altere em Barra de ferramentas: Barra de ferramentas principal okular_part - filtre as ações disponíveis pesquisando "Revisão" e adicione-as às ações atuais à direita.

insira a descrição da imagem aqui

  • As opções de anotações podem ser editadas, novas variantes podem ser adicionadas: clique com o botão direito do mouse nos botões Revisar e selecione "Configurar anotações"

insira a descrição da imagem aqui

Faheem Mitha
fonte
3

Você também pode usar gimp:

$ gimp foo.pdf

                                                      insira a descrição da imagem aqui

Clique em "Importar":

                                          insira a descrição da imagem aqui

Brinque com ele:

                                           insira a descrição da imagem aqui

Salve isso:

   !insira a descrição da imagem aqui

terdon
fonte
... mas você perde todas as informações de vetor.
wchargin
2

Uma boa opção para anotação é o TeX, especificamente o LaTeX em conjunto com o pacote LaTeX pdfpagese o pacote de desenho TikZ.

Um script de exemplo segue. Essa é a sobreposição do documento de duas páginas text.pdf. O comando \includepdfdo pdfpagespacote é chamado com a pagecommandopção de incluir a primeira página do pdf, juntamente com algum texto sobreposto usando o TikZ. A segunda página é incluída usando \includepdf, mas sem nenhuma anotação.

Este é um método extremamente poderoso, mas simples, porque utiliza toda a potência do TeX e TikZ.

Se você não conhece o TeX / LaTeX, pode testá-lo copiando este script, chamando-o (digamos) example.tex, alterando text.pdfpara qualquer PDF de 2 páginas que você possui. Então apenas corra

pdflatex example.tex

certificando-se que example.texe text.pdfestão no mesmo nível de diretório.

Se você deseja gerar um pdf de 2 páginas para teste, uma maneira simples de fazer é chamar groff.

echo .bp | groff -T pdf > text.pdf

.bpsignifica quebra de página e cria um PDF em branco de duas páginas. Este comando é cortesia de James Lowden .

\documentclass[a4paper]{article}
\usepackage{pdfpages}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\begin{document}

\includepdf[pagecommand=
{\begin{tikzpicture}[remember picture, overlay]
    \node at (2,2.0){\large{\textbf{PLEASE WRITE EMAIL ADDRESS:}}};
    \draw[thick,latex-] (current page footer area.south east) -- +(-3.4cm,-2.2cm)
    node[pos=1,anchor=east] (a) {\large\textbf{{CONTINUED ON NEXT PAGE}}};
  \end{tikzpicture}}
,pages=1]{text.pdf}
\includepdf[pages=2]{text.pdf}

\end{document}

É útil colocar uma grade de coordenadas sobre a página ao fazer isso, para facilitar o posicionamento. Veja, por exemplo, as receitas dadas nas respostas à Grade com coordenadas de todos os lados? e a resposta original do Loop Space vinculada à pergunta.

Aqui está uma imagem do resultado:

Página de exemplo

Faheem Mitha
fonte