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

hulk1776

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

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

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

Спасибо.
 

Вложения

  • Дефектный текст1.jpg
    Дефектный текст1.jpg
    47.1 КБ · Просм.: 684
  • Дефектный текст2.jpg
    Дефектный текст2.jpg
    43.3 КБ · Просм.: 675
  • Дефектный текст3.jpg
    Дефектный текст3.jpg
    58.8 КБ · Просм.: 662
  • Дефектный текст4.jpg
    Дефектный текст4.jpg
    54 КБ · Просм.: 659
Поместил приложенный "Дефектный текст.docx" в ИД CS6
Ни каких проблем (кроме лишних пробелов) не обнаружил...
 
1548244255229.png
 
Вот еще раз (в формате RTF).

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

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

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

To Любимцев
CS6 - почил в bose (у меня), поэтому воспользоваться советом не смогу. А так было бы удобно, закинул, пересохранил/скопировал, - и в CC2017. (хотя если не трудно, можно проверить еще раз с новым выложенным файлом?)
 
Да, беда.
кстати, поторопился сказать, что все ок. в первом случае. Сейчас вчитался... там наоборот -- часть текста "съелась"
 
Последнее редактирование:
ну кстати коды полей eq - это ж вроде как формульный редактор?
И формульный редактор, и белый текст и отрицательным трекингом -- это ушлые авторы делают для обхода программ типа "антиплагиат", чтобы "оригинальность" текста была больше 90%.
ТС лучше всего ткнуть заказчика мордой лицом в текст и сказать, что этот набор слов смысла не несет от слова совсем.
"Аннотация. На данный сегодняшнем кандидат этапе развития состоялась человечества соблюдении современные технологии технологии проникли ассоциация практически во все сферы день жизни цифровой общества."
 
Позвольте предложить код 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
 
Позвольте предложить код 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 пунктов. Проще макросом искать все патологические трекинги и кокать. ОК.
 
И формульный редактор, и белый текст и отрицательным трекингом -- это ушлые авторы делают для обхода программ типа "антиплагиат", чтобы "оригинальность" текста была больше 90%.
Гениально!
ТС лучше всего ткнуть заказчика мордой лицом в текст и сказать...
Мысль интересная (можно запросить первичную редакцию, до манипуляций).