Saya perlu mendapatkan ribuan potongan teks dari PDF ke spreadsheet. Mereka pendek, jarang lebih dari 2-3 baris, tetapi setiap jeda baris membuat sel baru, dan saya harus memperbaikinya secara manual, yang menghabiskan banyak waktu.
Karena saya memiliki begitu banyak dari mereka, menggunakan solusi "tempelkan ke Word dan temukan-dan-ganti" terlalu menyita waktu bagi saya. Apakah ada cara untuk menghilangkan garis putus pada salinan? Mungkin ada pemirsa yang menawarkan mode salin khusus untuk ini, atau memiliki plugin?
Dokumen-dokumen tersebut adalah artikel ilmiah. Pengaturan teksnya cukup linier. Anda dapat mengasumsikan bahwa teks yang saya salin tidak ada di dalam tabel atau float, dan tidak diputar atau apa pun. (Jika hal seperti itu terjadi, saya pikir saya akan menghadapinya secara manual). Teks sering diatur dalam dua kolom, tetapi saya tidak kesulitan menandai hanya teks yang saya butuhkan dari kolomnya. Saya tidak perlu menyimpan format khusus apa pun. Saya bersedia mencoba solusi yang menghapus semua karakter yang tidak patut dicetak, misalnya. Teksnya dalam bahasa Inggris, tidak apa-apa jika solusinya hanya bekerja di ASCII / menghapus semua ASCII non-alfanumerik dari teks yang disalin.
Saya memiliki preferensi yang sangat kuat untuk solusi yang akan bekerja di Linux, mungkin semacam plugin Okular. Tetapi jika kebetulan ada solusi Windows saja, saya ingin mendengarnya juga. Saya memiliki lisensi untuk Acrobat Pro yang agak baru di mesin Windows.
sumber
Jawaban:
Saya memiliki masalah yang sama ketika saya sedang mengerjakan naskah text to speech beberapa waktu lalu. Script saya akan mencoba memecah input teks menjadi potongan-potongan dengan mencari baris baru. Dengan file PDF ini akan menghasilkan kekacauan karena cara setiap baris berakhir dengan baris baru.
Jadi apa yang saya lakukan adalah menulis beberapa
sed
dantr
memerintahkan untuk hanya mempertimbangkan baris baru yang diakhiri dengan berhenti penuh saat garis yang sebenarnya terputus. Itu tidak terlalu cantik tapi berhasil.Dengan menggunakan cuplikan ini saya menulis sebuah skrip kecil untuk Anda yang saya harap akan membantu:
Script digunakan
xsel
untuk mem-parsing teks yang sedang disorot dan kemudian memodifikasinya dengansed
dantr
baris perintah yang saya sebutkan di atas. Teks yang diproses kemudian diteruskan kembali ke clipboard viaxsel -bi
.Inilah cara Anda dapat menggunakan skrip dalam skenario Anda:
xsel
menginstal (sudo apt-get install xsel
pada (K) Ubuntu)copy_without_linebreaks
atau sesuatu yang serupa dan membuatnya dapat dieksekusisumber
Ini telah mengganggu saya selama bertahun-tahun, jadi saya menemukan solusi umum (Windows) menggunakan Autohotkey . Autohotkey adalah perangkat lunak scripting open-source yang ringan, gratis, untuk Windows untuk membuat hotkey untuk hampir semua hal yang dapat dibayangkan.
Ketika Ctrl+ cdipukul, kode hanya akan menyala jika jendela aktif adalah pembaca PDF, jika tidak, ia hanya menyalin pilihan yang diberikan seperti biasa. Dalam hal pembaca PDF, itu menyalin pilihan, menghapus linebreak dan spasi ganda dan menempatkan hasilnya ke clipboard. Jika tidak ada yang dipilih, clipboard praktis tidak tersentuh.
Satu-satunya tugas sebelum menerapkan kode ini adalah nama kelas jendela (
ahk_class
) pembaca Anda. Saya menggunakan satu pembaca PDF untuk semua kasus (dan saya berasumsi kebanyakan orang melakukan itu), FoxitReader, danahk_class
iniclassFoxitReader
. Anda dapat mengetahui kelas untuk perangkat lunak Anda sendiri dengan mudah denganWinGetClass
perintah (misalnyaAcrobatSDIWindow
untuk Acrobat Reader).Jika Anda lebih suka membaca PDF-s di browser Anda, ini bukan solusi Anda. Atau Anda cukup menghapus
#IfWinActive ahk_class classFoxitReader
baris sehingga kode selalu menyala, tetapi dalam hal ini hasilnya akan selalu dilucuti dari linebreak dan spasi ganda.sumber
Hal lain yang berhasil bagi saya adalah menyimpan file pdf sebagai html. Paragraf di html tetap utuh, siap untuk salin & tempel. Format file lain juga berfungsi, seperti txt atau rtf ... Ini juga harus bekerja pada sistem Linux.
sumber
Pendekatan ketiga menggunakan makro ditunjukkan di sini , tapi saya belum mencobanya. Saya menempelkan makro di sini untuk referensi di masa mendatang, makro 2 oleh penulis sumber - "Deborah Savadra" - dan makro 1 oleh pembacanya "Benjamin":
makro 1:
makro 2:
sumber
Ada solusi Windows yang ditampilkan di sini . Kita harus mengunduh file "Copy-Paster.exe" dan menjalankannya sebelum tindakan copy & paste. Saya mencobanya dan berfungsi dengan baik, kecuali bahwa itu menghilangkan semua linebreak. Jadi, jika Anda menyalin beberapa paragraf, nanti hanya ada satu paragraf.
Ada pertanyaan terkait pada SU dengan penjelasan littlebit, mungkin menarik bagi seseorang ...
sumber
:-)
)Saya tahu ini adalah pertanyaan lama, namun saya merasa akan berguna untuk menjawabnya karena tidak ada solusi lain yang mudah digunakan seperti ini.
Gunakan aplikasi linux bernama Okular untuk membuka file pdf Anda. Kemudian Tools-> Table selection tool. Kemudian pilih teks Anda seperti dalam bentuk tabel. Kemudian Ctrl + C dan Anda siap untuk pergi.
sumber
Pertanyaan Aktual: https://askubuntu.com/questions/1167026/detect-clipboard-copy-paste-event-and-modify-clipboard-contents
Penghargaan untuk Kenn .
Berdasarkan skrip Glutanimate.
Sumber: https://github.com/SidMan2001/Scripts/tree/master/PDF-Copy-without-Linebreaks-Linux
Hapus Line Breaks saat menyalin teks dari PDF (Linux):
Skrip bash ini menghapus jeda baris saat menyalin teks dari PDF. Ini berfungsi baik untuk Pemilihan Utama dan Clipboard dari linux.
Ketergantungan:
sudo apt-get install xsel
Anda dapat menggunakan clipnotify pra-kompilasi yang disediakan dalam repositori atau kompilasi sendiri.
Untuk mengkompilasi clipnotify diri Anda:
sudo apt install git build-essential libx11-dev libxtst-dev
git clone https://github.com/cdown/clipnotify.git
cd clipnotify
sudo make
Menggunakan :
chmod +x "copy_without_linebreaks.sh"
.\copy_without_linebreaks.sh
sumber
Jika Anda memiliki Acrobat, klik kursor Anda sehingga kursor berkedip dalam teks. (Ini tidak akan berfungsi jika Anda tidak melakukan itu.) Buka Lanjutan, Aksesibilitas, Tambahkan tag. Butuh beberapa menit jika Anda memiliki dokumen besar, tetapi jauh lebih cepat daripada menghapus secara manual. Voila!
sumber
Solusi mudah dari halaman ini; http://www.iom3.org/news/how-instantly-remove-unwanted-line-breaks-when-copying-pdf
Sedikit faffy tetapi begitu Anda mendapatkan pintasan di bawah jari Anda, itu jauh lebih cepat
sumber
pdftotext
dan kemudian menggunakan editor teks yang mereka suka (dengan regex standar).