Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Генерация XML-Word файлов. Это конечно не образец кодинга, но в качестве идеи сойдет. Возможности ворда представлены не все, делал только то, что мне в конкретный момент нужно было. Если есть интерес, могу рассказать как что делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2010, 14:14 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
А вы сами запускать пробовали? Свойство Ajustment класса ParagraphProperties в одном месте используется как Ajustment, в другом как A d justment... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2011, 11:09 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Вернее наоборот, Adjustment правильно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2011, 11:12 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Тем метод Test() нерабочий :-) Поэтому я и спросил, что если кому интересно, то покажу как что делать. Там напрямую через проперти ничего делать не надо. Сейчас простенький пример набросаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2011, 12:59 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Вот, например Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2011, 13:51 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Спасибо за пример. Очень интересная идея и реализация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2011, 10:46 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Дошли руки наконец до тестирования вашего генератора. Единицы длины, которые у вас значатся как неизвестные в коментариях, ни что иное как твипсы (100 твипсов = 17.639 мм). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2011, 18:09 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Даже не уверен, что вообще раньше про такую слышал Спасибо :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2011, 21:20 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
А делали ли вы генерацию оглавления? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2011, 10:48 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Нет, у нас не было необходимости. В принципе, можно подумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2011, 11:20 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Жалко что не используется контейнер <w:styles>. С его помощью можно наделать стилей и применять их к повторяющимся элементам документа. Это неплохо сокращает объем документа с большим количеством элементов с повторяющимся оформлением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2011, 12:00 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Вернее, судя по примеру, стили используются только для форматирования таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2011, 12:04 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Если хотите, стили прикручу :-) Там по сути и для таблиц используется обрезок. Просто когда долго работаешь над одним куском, то к к концу это уже так надоедает, что хочется дотянуть до какого-нибудь приемлимого результата и бросить. По-поводу размеров, там у меня может на самым оптимальным образом сделано (типа установки шрифта на каждый тег <w:r>), но этот формат в принципе какой-то нехороший с точки зрения объемов. Думаю, может быть попробовать сразу генерить в формат 2007 офиса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2011, 12:19 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Да стили уже сам прикрутил. Это не сложно. ))) А по поводу объемов и формата 2007, если отдается по web, то просто включаем у веб сервера архивацию и получаем примерно тот же по объемам результат. Зато пользователям с более старым офисом не надо ставить FileFormatConverter... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2011, 12:52 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Вы стили прикрутили к моим наработкам, или у вас уже до этого были свои? Если к моим, то мне было бы интересно включить их в то, что у меня есть ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2011, 16:39 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
1. Добавил немного геттеров и сеттеров. 2. Изменил твипсы на мм, где увидел. 3. Добавил стили. Вроде работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2011, 10:55 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
У вас ошибка в задании подчеркнутого текста. Надо так: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2011, 15:58 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Не вижу ошибку в задании подчеркивания, у меня вроде это работает Код: plaintext В миллиметрах, пожалуй, удобнее, но чтобы не переделывать программы, их использующие, я сделаю другие рядом. Со стилями пока не врубился, как вы их подключаете к конкретной записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2011, 16:53 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
1. Ошибочный метод в классе Word.RecordProperties 2. Стили можно подключать к параграфу или к записи К параграфу: Код: plaintext 1. 2. 3. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2011, 21:39 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
В классе Word.RecordProperties у меня сейчас нет методов :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2011, 05:42 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Блок А.Н., А тестировали ли вы, какой максимальный размер выходного документа можно сделать вашим методом? Ведь документ формируется в памяти процесса, а память в процессе каше довольно лимитирована. Наверное имеет смысл делать частичную сериализацию по ходу формирования документа, например при добавлении следующего параграфа, предыдущий сериализовать и удалять... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2011, 18:01 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
С нехваткой памяти столкнулся в XML-Excel. Точно размер не скажу, но документ 1000*20 ячеек еще формируется, а 10000*20 уже нет. Это вообще говоря, маловато. С учетом того, что (навскидку) на каждую ячейку в памяти приходится не меньше двух объектов, а каждый объект вряд ли занимает меньше 50 байт, то суммарный объем в памяти ориентировочно 10000*20*2*50~20 Мб У нас есть еще генератор эксель-файлов, который работает с потоками, он может генерить файлы в сотни мегабайт, но в нем "одно неверное движение и вы в жопе" - а потом ищи в этой сотне тысяч строк, где ты задал неверное смещение. Через объектный работать поприятнее, да и можно какую-нибудь защиту от себя поставить В ворде сложнее посчитать, но там на запись еще больше получается объектов. Правда можно и записи делать большими, и как-то структуру оптимизировать (те же стили). Если с этим столкнутся пользователи, то на первое время придется увеличить лимит памяти на процесс, если этого не хватит, то что-то думать дальше. С сериализацией не очень понял. Сейчас все классы Registered, предлагаете сделать их хранимыми и сохранять на диск, чтобы не жрали память? Правда XML.Writer будет при записи в XML их поднимать в память, интересно будет этот момент отруливать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2011, 18:50 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
Частичная серализация, это значит использовать не %XML.Writer для всего дерева объектов документа, а вызывать XMLExport у узлов дерева, после чего эти узлы благополучно удалять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2011, 10:44 |
|
||
|
XML-Word
|
|||
|---|---|---|---|
|
#18+
http://books.google.com.ua/books?id=xYEyK_7TWP8C&printsec=frontcover&hl=ru#v=onepage&q&f=false Просто оставлю это здесь. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 16:52 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37050935&tid=1557448]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
59ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 257ms |
| total: | 417ms |

| 0 / 0 |
