Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как задать ascender/descender в WordArt ? верхний/нижний выносные элементы  
:(
    Опции темы
Diego1
Дата 3.9.2009, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 3.9.2009

Репутация: нет
Всего: нет



MS Word. Код представлен на языке С++. 
Создаю WordArt:
Word::ShapePtr wordArt = m_WordDocument->Shapes->AddTextEffect(Office::msoTextEffec t1, L"Param pam pam", L"Arial", 16, Office::msoFalse, Office::msoFalse, m_AppWord->CentimetersToPoints(1), m_AppWord->CentimetersToPoints(1));

задаю размер
wordArt->PutWidth(CentimetersToPoints(3)) ;
wordArt->PutHeight(CentimetersToPoints(1) );


здесь все хороошо. 

Ручками в документе редактирую мое "Param pam pam", убираю все буквы 'p' образуется текст без верхних и нижних выносных элементов "aram am am". При этом объект WordArt растягивается на всю высоту заданную ранее 3х1. Как задать учет верхнего и нижнего выносных элементов? Т.е. чтобы при редактировании фразы высота символов не изменялась.

В прикреплении файл демонстрирующий данную проблему

Верхний и нижний выносные элементы это, например: b,t,i,f - имеют верхний выносной элемент; q,p, - имеют нижний выносной элемент. a,w,e, s, o - не имеют данных элементов. Все большие символы имеют верхний выносной элемент ABCDEF

Буду рад решению на любом языке

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  wordArt.doc 26,00 Kb
PM MAIL   Вверх
artdev
Дата 3.9.2009, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 3.9.2009

Репутация: 1
Всего: 1



Я пока не нашел подходящих свойств/методов объектов Shape, TextEffect, TextFrame; также не смог сделать этого вручную с помощью диалога "Формат объекта WordArt".

Очередным поисковым запросом нашел тему 2004 года с неутешительным резюме от одного из Microsoft MVP:
Цитата

Getting the current version WordArt to emulate ordinary text is one of the
most frustrating tasks in Word. You've probably already figured out that the
nominal point sizes are a red herring. The only way you can format it,
unfortunately, is by hand and by eye. Sorry.

PM MAIL   Вверх
Diego1
Дата 4.9.2009, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 3.9.2009

Репутация: нет
Всего: нет



Существует программа "Nitro pdf" редактор pdf файлов. В ней есть возможность конвертации pdf файлов в doc. Повернутый pdf текст конвертируется в WordArt. Результат конвертации простенького файла в прикреплении. 

Как видно из файла нужный эффект можно реализовать. Но, как?

Пробовал: 
1. Пересохранял данный файл в docx формат. docx - это заархивированный xml. Переименовываю docx в zip, открываю архив, в  полученных файлах открываю document.xml. Нахожу свое "Param pam pam". 

2. Таким же образом поступаю с файлом созданным моей программой. Т.е. у меня 2 файла document.xml, первый созданный "Nitro pdf", второй созданный мной. Смотрю отличия... Ниже привожу упрощенный вид xml файлов. В них удалено все что не относится к "param pam pam" и то, что у 2х версий xml одинаковое.

Nitro PDF
<w:r>
  <w:pict>
    <v:shape style="z-index:-1" o:allowincell="f"stroked="f">
      <o:extrusion v:ext="view" autorotationcenter="t"/>
      <v:textpath  string="Nitro"/>
    </v:shape>
  </w:pict>
</w:r>wict



MОЁ
<w:r>
  <w:pict>
    <v:shape style="z-index:251658240" >
      <v:textpath trim="t" fitpath="t" string="Our"/>
    </v:shape>
  </w:pict>
</w:r>

Пробую менять атрибуты моего xml и подсовывать его в архив, архив переименовываю в docx, открываю.

Положительный результат получаю при удалении из моего варианта атрибута trim="t". Не могу найти соответствие данному атрибуту в модели Word.
Подскажите, что это может быть?

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  rotated_wordArt.doc 26,50 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0383 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.