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

hulk1776

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

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

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

Спасибо.
 

Вложения

  • Дефектный текст1.jpg
    Дефектный текст1.jpg
    47.1 КБ · Просм.: 642
  • Дефектный текст2.jpg
    Дефектный текст2.jpg
    43.3 КБ · Просм.: 628
  • Дефектный текст3.jpg
    Дефектный текст3.jpg
    58.8 КБ · Просм.: 610
  • Дефектный текст4.jpg
    Дефектный текст4.jpg
    54 КБ · Просм.: 613

Любимцев

15 лет на форуме
Сообщения
4 198
Реакции
2 055
Поместил приложенный "Дефектный текст.docx" в ИД CS6
Ни каких проблем (кроме лишних пробелов) не обнаружил...
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 808
Реакции
3 434
1548244255229.png
 

hulk1776

Топикстартер
15 лет на форуме
Сообщения
725
Реакции
21
Вот еще раз (в формате RTF).

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

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

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

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

Любимцев

15 лет на форуме
Сообщения
4 198
Реакции
2 055
Да, беда.
кстати, поторопился сказать, что все ок. в первом случае. Сейчас вчитался... там наоборот -- часть текста "съелась"
 

imma

15 лет на форуме
Сообщения
3 089
Реакции
2 185
Последнее редактирование:

Sh

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

Prokh

12 лет на форуме
Сообщения
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

Топикстартер
15 лет на форуме
Сообщения
725
Реакции
21
Позвольте предложить код 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

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