невидимы символы при копировании

Maximilian

на проге препод дал мануал в pdf
при копировании кода из него, копируются и какие-то невидимые символы, которые хрен удалишь из блокнота
внимание вопрос: как это пофиксить ?
я думал перегнать в djvu - потом распознать текст, но это тупой способ

Bibi

если не хочешь использовать ocr, то:
- напиши свой pdf-viewer
- напиши свой clipboard-manager
- напиши свой текстовый редактор

Anna74

Кроме невидимых символов текст-то обычный тот что нужен есть? Если нет, это бывает при старых русских шрифтах при создании pdf - узнаешь как напиши в личку
На одной стороне копирования - другого редактора нет? http://notepad-plus-plus.org/ или другие свободные текстовые редакторы far тот же. там проблема повторяется? В winedt вроде удаляется всё, он правда не бесплатный
На другой стороне - не помню pdf если открыть не из акробата, а ghostscript-ghostview копировать можно ли, может и глюки пропадут

Maximilian

http://10.1.19.100/gtkTutorialRu_part1.pdf
вот сам мануал,
в универе linux, хз какой там pdf-вьюэр, из него в kate, gedit невидимые символы есть,
дома на ноуте acrobat-> notepad, notepad++, lister(из total commander) - тоже символы есть
notepad++ при влючении отображения невидимых символов, конечно же их отображает(какие может, или точками).
там чота типа \300, \291 - по крайней мере компиллятор говорил что такое ему не знакомо
пришла другая идея, через регулярные выражения заменить всё ненужное,
отрицание к [a-z,A-Z,\.,\\\,\/,\t,\s] и всё соответственно заменить на ничего - вроде покатит.
подскажите строку в регулярных выражениях, как найти не (цифру, пунктуацию, пробел, букву русскую, букву английскую) - словом ничего кроме ипучих скрытых символов

Bibi

s/[[:ebota:]]//g

VitMix

Кошерный способ перевести PDF в текст --- это ABBYY FineReader. Родное акробатовское копирование в буфер обмена --- это хрень и в общем случае корректно работать не будет.

saveliev_a

Выложи еще текст и скажи, с какой страницы брал его.

oksan4ik79

хз, чо у тебя не так, но у меня из evince в gedit всё копируется, за исключением того, что пробелов лишних куча, переносов строк, и нумерация строк кода тоже копируется. Никаких "невидимых" символов не наблюдаю, и удаляется всё замечательно.

pitrik2

о, прикол
у меня вчера ента проблема возникла
pdf не открывается на кпк, поэтому нажал в акробате (линуксовом) сохранить как текст
но сохранились всякие юникодные символы, лишние переносы строк
и какой-то символ с кодом 12
вощем накатал быстро быстро прогу на питоне
там еще пара плюшек, тебе может и не надо

#!/usr/bin/python
import string, sys, codecs

f = codecs.open(sys.argv[1], encoding='utf-8')

l = (['#'] * 50 + ['\n']) * 4
chapter = '\n\n\n\n\n\n' + ''.join(l)

subst = {u'\u201c': '"'
     , u'\u201d': '"'
     , u'\u2018': "'"
     , u'\u2019': "'"
     , u'\u2013': '-'
     , u'\u2014': '-'
     , u'\u2026': '...'
    }

err = set
prev = ''
count = 0
mode = False

for line in f:
    line = line.strip(" ")
    if line.startswith('CHAPTER'):
     sys.stdout.write(chapter)

    for c in line:
     if c == chr(12):
     mode = True
     continue

     if c == '\n':
     count = count + 1
     continue
    
     if mode:
     mode = False
     sys.stdout.write('\n')
     elif count > 1:
     sys.stdout.write('\n\n')
     elif count == 1:
     sys.stdout.write('\n')
     count = 0

     if c in subst:
     sys.stdout.write(subst[c])
     continue

     if c in string.printable:
     sys.stdout.write(c)
     else:
     err.add(c)

if err:
    print '\n\nErr:', list(err)
Оставить комментарий
Имя или ник:
Комментарий: