[ID СС2017] Странное исчезновение текста в ворд-файле.

hulk1776

Топикстартер
12 лет на форуме
Сообщения
456
Оценка реакций
14
Сразу оговорюсь, что силами Индизайна решить проблему не удалось (что логично), поэтому говорю о ворд-исходнике. (дефектный текст)

Первоначально увиделось в Индизайне после импорта (см. картинка4). Она взята из ворда, но именно такой текст пришел в Индизайн (ессно, без выделения).
На картинке 1 текст, отображаемый в Ворде при "первичном осмотре" (то, что попадает на принтер/ПДФ).
На картинке 2 текст просто выделен (уже видны артефакты).
на картинке 3 включено отображение кодов полей.
На картинке 4 у текста очищено форматирование и тут же появился "левый" текст. А при выделении опять видны артефакты неясной этимологии.

Решил проблему через печать из Ворда в ПДФ и оттуда экспорт в новый Ворд-документ. Правда сноски (которые в примере не отображены) стали простыми текстовыми блоками.
Есть ли мысли? (помимо пожеланий посетить Ворд-форумы (что тоже принимается, хотя там я никого не знаю)))

Спасибо.
 

Вложения

Любимцев

10 лет на форуме
Сообщения
2 205
Оценка реакций
1 587
Поместил приложенный "Дефектный текст.docx" в ИД CS6
Ни каких проблем (кроме лишних пробелов) не обнаружил...
 

imma

10 лет на форуме
Сообщения
2 421
Оценка реакций
1 887
save as RTF
 

hulk1776

Топикстартер
12 лет на форуме
Сообщения
456
Оценка реакций
14
Вот еще раз (в формате RTF).

Еще раз дефектный текст

Может быть в предыдущем варианте не сохранилось "правильное" отображение (согласно картинке 1).

To ~RA~
По приложенной картинке понять пока ничего не могу.

To Любимцев
CS6 - почил в bose (у меня), поэтому воспользоваться советом не смогу. А так было бы удобно, закинул, пересохранил/скопировал, - и в CC2017. (хотя если не трудно, можно проверить еще раз с новым выложенным файлом?)
 

Любимцев

10 лет на форуме
Сообщения
2 205
Оценка реакций
1 587
Да, беда.
кстати, поторопился сказать, что все ок. в первом случае. Сейчас вчитался... там наоборот -- часть текста "съелась"
 

imma

10 лет на форуме
Сообщения
2 421
Оценка реакций
1 887
Последнее редактирование:

Sh

10 лет на форуме
Сообщения
341
Оценка реакций
165
ну кстати коды полей eq - это ж вроде как формульный редактор?
И формульный редактор, и белый текст и отрицательным трекингом -- это ушлые авторы делают для обхода программ типа "антиплагиат", чтобы "оригинальность" текста была больше 90%.
ТС лучше всего ткнуть заказчика мордой лицом в текст и сказать, что этот набор слов смысла не несет от слова совсем.
"Аннотация. На данный сегодняшнем кандидат этапе развития состоялась человечества соблюдении современные технологии технологии проникли ассоциация практически во все сферы день жизни цифровой общества."
 

Prokh

Участник
Сообщения
17
Оценка реакций
33
Позвольте предложить код VBA, для корректуры приведённого текста:
Код:
' объявление переменных
Dim s$
Dim f As Field
Dim r As Range
' включаем отображение полей (Fields)
ActiveDocument.Fields.ToggleShowCodes
' этот цикл для данного фрагмента, если необходимо обработать большой документ необходимо дополнительно опросить
' все Sections, а так же все InlineShape, Shape и таблицы в них
For Each f In ActiveDocument.Fields
' присваиваем строке содержимое поля и на всякий случай убираем пробелы (не обязательно)
s = Trim(f.Code.Text)
' убираем слева eq и два пробела = 4
s = Right(s, Len(s) - 4)
' ставим курсор в заданную позицию поля на всю ширину
Set r = f.Code
' удаляем поле, это одновременно "сужает" назначенный диапозон до нуля (f.Collapse 0, т.е. в этой строке нет необходимости)
f.Delete
' вставляем содержимое поля в виде текста
r.InsertBefore s
Next f
Поскольку приведённый пример предусматривает удаление полей, это может привести к потере информации, такой как линки, перекрёстные ссылки и т.д., необходимо им пользоваться осторожно, и для начала проанализировать содержимое документа, на пример сравнить все Field.Type
 

hulk1776

Топикстартер
12 лет на форуме
Сообщения
456
Оценка реакций
14
Позвольте предложить код VBA, для корректуры приведённого текста:
Код:
' объявление переменных
Dim s$
Dim f As Field
Dim r As Range
' включаем отображение полей (Fields)
ActiveDocument.Fields.ToggleShowCodes
' этот цикл для данного фрагмента, если необходимо обработать большой документ необходимо дополнительно опросить
' все Sections, а так же все InlineShape, Shape и таблицы в них
For Each f In ActiveDocument.Fields
' присваиваем строке содержимое поля и на всякий случай убираем пробелы (не обязательно)
s = Trim(f.Code.Text)
' убираем слева eq и два пробела = 4
s = Right(s, Len(s) - 4)
' ставим курсор в заданную позицию поля на всю ширину
Set r = f.Code
' удаляем поле, это одновременно "сужает" назначенный диапазон до нуля (f.Collapse 0, т.е. в этой строке нет необходимости)
f.Delete
' вставляем содержимое поля в виде текста
r.InsertBefore s
Next f
Поскольку приведённый пример предусматривает удаление полей, это может привести к потере информации, такой как линки, перекрёстные ссылки и т.д., необходимо им пользоваться осторожно, и для начала проанализировать содержимое документа, на пример сравнить все Field.Type
Этот макрос выуживает все, что в полях в виде текста. По сути то же самое происходит, когда с текста снимается все форматирование, в том числе упомянутое уважаемым Sh отрицательные трекинги и пр.
Там, кстати, трекинг заряжен на 1000 пунктов. Проще макросом искать все патологические трекинги и кокать. ОК.
 

hulk1776

Топикстартер
12 лет на форуме
Сообщения
456
Оценка реакций
14
И формульный редактор, и белый текст и отрицательным трекингом -- это ушлые авторы делают для обхода программ типа "антиплагиат", чтобы "оригинальность" текста была больше 90%.
Гениально!
ТС лучше всего ткнуть заказчика мордой лицом в текст и сказать...
Мысль интересная (можно запросить первичную редакцию, до манипуляций).