|
1 / 1 / 0
Регистрация: 03.12.2019
Сообщений: 23
|
||||||
Очистка содержимого документа Word от <w:rFonts w:hint="eastAsia"/>02.03.2023, 01:05. Показов 10592. Ответов 23
Здравствуйте!
Заранее извиняюсь за "много букв", так как более лаконично описать проблему не хватает времени. Прошу оказать помощь в решении следующей проблемы: При создании своего документа пользователи копируют части текста из разных документов, также созданных в Microsoft Word, в которых есть различные шрифты(как внедряемые так и не внедряемые), которые не всегда имеются на локальной машине пользователя и получить их нет возможности. Когда пользователь копирует текст из чужого файла в свой и при этом шрифт, используемый в чужом файле, отсутствует у пользователя, то Word подменяет шрифт на наиболее подходящий. И вроде бы, какая проблема?! Подменяет и подменяет и что с того. Пользователь спокойно выделяет вставленный кусок текста и меняет шрифт на свой, который он использует в своём документе и вроде бы всё хорошо. Документ подготовлен, всё в редакторе выглядит аккуратно, но как оказалось, проблема кроется внутри файла. Как выяснилось, что при копировании текста с сохранением форматирования из одного документа в другой, при отсутствии используемого шрифта на локальной машине пользователя применяемого в файле-источнике текста Microsoft Word подставляет похожий по виду шрифт и в буквальном смысле "ломает" текст внутри документа дробя целые предложения тегами вида <w:rFonts w:hint="eastAsia"/>. Сразу отмечу, что "Очистка формата" и "Формат по абзацу" не решают проблемы. При этом документ в Microsoft Word выглядит целостным и в нигде нет упоминания о "eastAsia". Проблемы начинаются при конвертации файла в PDF. Из-за того что, внутри файла document.xml текст хаотично разбит выше упоминаемыми тэгами, при конвертации слетает форматирование, и например часть слова может быть перенесена на новую строку с нарушением правил переноса. Поиск дал, что подобная проблема уже ранее встречалась: https://stackoverflow.com/ques... 2#49225232 Однако решения описанной проблемы я так и не нашел. Пока выяснилось следующее: Если извлечь из контейнера docx файл document.xml и в нем по поиску удалить все <w:rFonts w:hint="eastAsia"/>, то при конвертации в PDF проблема с форматированием пропадает. Не могли бы вы подсказать решение описанной проблемы. Если есть возможность макросом VBA в MS Word удалить лишнее было бы прекрасно не "вскрывая" каждый docx Или, всё таки нужно всё нужно создавать программку, которая "обрабатывала" файлы docx удаляя лишнее. Заранее благодарен за ответы. Пример содержимого текста проблемного файла document.xml
0
|
||||||
| 02.03.2023, 01:05 | |
|
Ответы с готовыми решениями:
23
Вывод содержимого документа MS Word в RichTextBox Добавление содержимого документа Word в бд MS Access 2013 На оборотной стороне документа word в правой части документа, текст съезжает за границу документа |
|
Динохромный
1639 / 776 / 288
Регистрация: 22.12.2015
Сообщений: 2,430
|
|||||||
| 07.03.2023, 10:12 | |||||||
|
AlexSwan, убрат
"eastAsia" на предыдущий шрифт в теге: то есть <w:rFonts w:hAnsi="Times New Roman" w:ascii="Times New Roman" w:hint="eastAsia"/> исправить на <w:rFonts w:hAnsi="Times New Roman" w:ascii="Times New Roman" w:hint="Times New Roman"/>.Посмотрите, если есть смысл, код в общем-то написать несложно. Пока из тега удаляется кусок w:hint="eastAsia", плюс первый тег удаляется полностью, как было раньше. Надо на самом деле почитать спецификацию xml, за что эти теги отвечают, когда руки дойдут.
1
|
|||||||
|
2752 / 1726 / 779
Регистрация: 23.03.2015
Сообщений: 5,452
|
|
| 07.03.2023, 11:23 | |
|
Регулярками же легче....
0
|
|
|
Динохромный
1639 / 776 / 288
Регистрация: 22.12.2015
Сообщений: 2,430
|
|
| 07.03.2023, 11:29 | |
|
Narimanych, оно вроде как да, но у меня проблема - я не знаю как xml разметка в Word работает. По хорошему нужно читать спецификацию, но оно ж времени нет (я вяло полистал и забил, каюсь. Ну дык я и английский так как вы не знаю
, ничего не попишешь).Поэтому костыль - удалять то, что точно мешает, и не трогать все остальное, тут без регулярок вполне себе. Честно говоря, даже не знаю, какой результат дает удаление hint в теге.
1
|
|
|
1 / 1 / 0
Регистрация: 03.12.2019
Сообщений: 23
|
|
| 08.03.2023, 23:26 [ТС] | |
|
Dinoxromniy
Спасибо, задача решена. Всё работает отлично. Про почитать про xml схожие ощущения
0
|
|
| 08.03.2023, 23:26 | |
|
Создание документа Word из другого документа Word Excel Word Delphi 7 поиск содержимого в диапазоне ячеек и перенос в Word
Очистка содержимого Image Очистка содержимого QWidget Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|