Kopyalanan metinden bitişik harfleri kaldırmak mümkün müdür?


10

Metinde bitişik harfler içeren birkaç PDF var (örneğin, fftek bir karakter halinde birleştirilir ).

PDF'den metin kopyalarken bunları kaldırmanın kolay bir yolu var mı? (yani, yapıştırdığımda, olarak yapıştırılmak istiyorum ff).

Bu PDF'lerden çok fazla metni Stack Overflow'daki yanıtlara kopyalarım ve bitişik harfleri en iğrenç buluyorum (tamam, itiraf ediyorum, gerçekten seçici :-P); bitişik harfler, başka yerlere kopyalandığında da doğru şekilde görünmez (örneğin, bunları Not Defteri'ne kopyalarsam, blok olarak görünürler).

PDF'leri değiştiremiyorum.

Hem Adobe Acrobat Reader hem de Foxit Reader kullanıyorum, ancak yeni bir PDF okuyucu denemeye açık olurum.

Yanıtlar:


3

Python'da bu şöyle olur:

import unicodedata
# \uFB00 is the ff ligature.
unicodedata.normalize('NFKD',u'\uFB00').encode('ascii','ignore')

Pdf dosyalarını okumak için bunu pyPdf ile birleştirebilirsiniz .


2

Okuyucu , bunu test ettiğimde bitişik harflerin kodunu çözüyor gibi görünüyor.

Btw. pdflatex belgeleri için bunu PDF belgesinde bitişik harfler görüntülemek, ancak tek tek karakterleri kopyalamak için giriş bölümünde kullanabilirsiniz:

\ Giriş {glyphtounicode.tex}
\ pdfgentounicode =% 1

1

Bir olasılık, en sevdiğiniz metin düzenleyicisini kullanmak ve bunları değiştirmek olacaktır.

Başka bir yol, kullanan bir komut dosyası yazmak olacaktır sed. ..ama bu sadece * NIX-Sistemleri olurdu, korkarım.


GnuWin32 ve pencerelerde sed var.
mbq

@mbq: Buna da dahil mi? çok iyi. Teşekkür.
Bobby

0

Benzer bir soruyu daha derinlemesine yanıtladım - PDF'den kopyaladığımda veya belge yazdırdığımda neden `` fi '' metni kesiliyor?

Bozuk kelimelerden orijinal kelimelere eşlemeniz varsa, kopyalanan metindeki "bozuk" kelimeleri değiştirebilirsiniz. Kelimelerden bitişik harfleri kaldırarak ve elde edilen kelimenin benzersiz olup olmadığını kontrol ederek bu eşlemeyi oluşturmak için bir komut dosyası yazdım. İngilizce kelime benim sözlük için, 99.5% , tüm olası kırık kelimelerin değiştirilebilir, ve % 92.3 bir bağ dizisi içeren kelimelerin ( ff, fi, fl, ffi, ya da ffl) geri kazanılabilir. Bu iki yüzde arasındaki fark nedeniyle diğer yasal kelime ligament çıkararak oluşturulan meşru bir deyişle (gibi şaşırtıcı çok fazla olan butterfly --> buttery, fluffs --> usve misfits --> mists).

İşte garantili değiştirilebilir "kırık" kelimelerin (ve eskiden olduğu kelimelerin) bir CSV'si: http://www.filedropper.com/brokenligaturewordfixes


Dosyayı sunmanız harika. Gerçekçi olmakla birlikte, sağduyulu hiç kimse bilinmeyen bir dosya indiremez (özellikle yepyeni bir kullanıcıdan). Dosya çok fazla trafik almıyorsa kişisel olarak almayın. Bu, çabalarınızın takdir edilmediği anlamına gelmez.
fixer1234

Evet anladım. Bunun gibi bağlantıları doğrulamanın ya da sadece dosya türünü garanti etmenin basit bir yolu olsaydı. Teşekkürler!
Jan Van Bruggen

0

Yolum, PDF'den not defterine (herhangi bir biçimlendirmeyi kaldırmak için) ve sonra not defterinden Microsoft Word'e kopyalayıp yapıştırmaktı.

Word'de tüm bitişik harfler diğer biçimlendirme yazı tipleriyle değiştirilir.

Her biri için bul ve değiştir kullanıyorum (manuel satır kesintisi için ^ l ve manuel sayfa kesintisi için ^ m gibi, hepsini çevrimiçi olarak kolayca bulabilirsiniz) ve doğru formla değiştiriyorum.

4 veya 5 adımda tüm olasılıkları hızlı bir şekilde ele alırım. Ek paragraf kesintilerini de kaldırmak yararlıdır (^ P)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.