Preciso obter milhares de trechos de texto de PDFs para uma planilha. Eles são curtos, raramente têm mais de 2 a 3 linhas, mas cada quebra de linha cria uma nova célula, e eu preciso consertá-la manualmente, o que custa muito tempo.
Como eu tenho muitos deles, usar a solução alternativa "colar no Word e fazer uma busca e substituição" é uma perda de tempo demais para mim. Existe uma maneira de que a quebra de linha desapareça na cópia? Talvez haja um visualizador que ofereça um modo de cópia especial para isso, ou tenha um plugin?
Os documentos são artigos científicos. A disposição do texto é bastante linear. Você pode supor que o texto que estou copiando não esteja dentro de uma tabela ou em um flutuador e não seja girado ou algo assim. (Se isso acontecer, acho que vou lidar com isso manualmente). O texto é frequentemente definido em duas colunas, mas não tenho problemas para marcar apenas o texto necessário na sua coluna. Não preciso preservar nenhuma formatação especial. Estou disposto a tentar uma solução que remova todos os caracteres não imprimíveis, por exemplo. Os textos estão em inglês; tudo bem se a solução funcionar apenas em ASCII / retira todos os ASCII não alfanuméricos do texto copiado.
Tenho uma preferência muito forte por uma solução que funcione no Linux, possivelmente algum tipo de plugin Okular. Mas se houver uma solução apenas para Windows, também quero ouvir sobre isso. Eu tenho uma licença para um Acrobat Pro um tanto recente na máquina Windows.
fonte
Respostas:
Eu tive um problema semelhante enquanto trabalhava em um script de texto para fala há um tempo. Meu script tentaria dividir a entrada de texto em partes procurando novas linhas. Com arquivos PDF, isso resultaria em confusão, devido à maneira como cada linha termina com uma nova linha.
Então, o que eu fiz foi compor alguns comandos
sed
etr
considerar apenas as novas linhas que terminam com um ponto final como quebras de linha reais. Não era muito bonito, mas funcionava.Usando esse trecho, escrevi para você um pequeno script que espero que ajude:
Os usos de script
xsel
para analisar o texto atualmente destacado e, em seguida, modifica-lo com osed
etr
de linha de comando que eu mencionei acima. O texto processado é então retornado à área de transferência viaxsel -bi
.Veja como você pode usar o script no seu cenário:
xsel
instalou (sudo apt-get install xsel
no (K) Ubuntu)copy_without_linebreaks
ou algo semelhante e o torne executávelfonte
Isso me incomoda há anos, então descobri uma solução geral (Windows) usando a Autohotkey . O Autohotkey é um software de script leve, gratuito e de código aberto para Windows, para criar teclas de atalho para quase tudo o que se possa imaginar.
Quando Ctrl+ cé pressionado, o código é acionado apenas se a janela ativa for um leitor de PDF, caso contrário, simplesmente copia a seleção especificada como de costume. No caso de um leitor de PDF, ele copia a seleção, remove quebras de linha e espaços duplos e coloca o resultado na área de transferência. Se nada for selecionado, a área de transferência é praticamente intocada.
A única tarefa antes de aplicar esse código é o nome da classe da janela (
ahk_class
) do seu leitor. Eu uso um único leitor de PDF para todos os casos (e suponho que a maioria das pessoas faça isso), FoxitReader, eahk_class
éclassFoxitReader
. Você pode descobrir facilmente a classe do seu próprio software usando oWinGetClass
comando (por exemplo,AcrobatSDIWindow
para o Acrobat Reader).Se você preferir ler PDFs no navegador, essa não é a sua solução. Ou você pode simplesmente remover a
#IfWinActive ahk_class classFoxitReader
linha para que o código sempre seja acionado, mas, nesse caso, o resultado será sempre retirado de quebras de linha e espaços duplos.fonte
Outra coisa que funcionou para mim foi salvar o arquivo pdf como html. Os parágrafos no html permanecem intactos, prontos para copiar e colar. Outros formatos de arquivo também funcionam, como txt ou rtf ... Isso também deve funcionar em sistemas Linux.
fonte
Uma terceira abordagem usando macros é mostrada aqui , mas ainda não tentei. Eu colei as macros aqui para referência futura, a macro 2 é da autora da fonte - "Deborah Savadra" - e a macro 1 do seu leitor "Benjamin":
macro 1:
macro 2:
fonte
Há uma solução do Windows mostrada aqui . É necessário baixar o arquivo "PDF Copy-Paster.exe" e executá-lo antes da ação copiar e colar. Eu tentei e funciona muito bem, exceto que remove todas as quebras de linha. Portanto, se você copiar parágrafos de multiplicação, mais tarde terá apenas um.
Existe uma pergunta relacionada ao SU com uma explicação littlebit, pode ser do interesse de alguém ...
fonte
:-)
)Sei que essa é uma pergunta antiga, mas achei que seria útil respondê-la, porque nenhuma outra solução era tão fácil de usar quanto esta.
Use o aplicativo linux chamado Okular para abrir seu arquivo pdf. Em seguida, selecione Ferramentas-> Ferramenta de seleção de tabela. Em seguida, selecione o texto como estava no formato de tabela. Então Ctrl + C e você está pronto para começar.
fonte
Pergunta real: /ubuntu/1167026/detect-clipboard-copy-paste-event-and-modify-clipboard-contents
O crédito vai para Kenn .
Baseado no roteiro de Glutanimate.
Fonte: https://github.com/SidMan2001/Scripts/tree/master/PDF-Copy-without-Linebreaks-Linux
Remova quebras de linha ao copiar texto de PDF (Linux):
Esse script bash remove quebras de linha ao copiar texto do PDF. Ele funciona para a seleção primária e a área de transferência do linux.
Dependências:
sudo apt-get install xsel
Você pode usar o clipnotify pré-compilado fornecido no repositório ou compilar-se.
Para compilar o clipe, notifique-se:
sudo apt install git build-essential libx11-dev libxtst-dev
git clone https://github.com/cdown/clipnotify.git
cd clipnotify
sudo make
Usar :
chmod +x "copy_without_linebreaks.sh"
.\copy_without_linebreaks.sh
fonte
Se você possui o Acrobat, clique no cursor para que ele pisque no texto. (Não funcionará se você não fizer isso.) Vá para Avançado, Acessibilidade, Adicionar tags. Levará alguns minutos se você tiver um documento grande, mas muito mais rápido do que remover manualmente as quebras. Voila!
fonte
Solução fácil desta página; http://www.iom3.org/news/how-instantly-remove-unwanted-line-breaks-when-copying-pdf
Um pouco fraco, mas depois de colocar os atalhos sob os dedos, é muito mais rápido
fonte
pdftotext
e depois usará o editor de texto que desejar (com regex padrão).