Текст разделов в отчете "съедается" при экспорте в Word 2013

Обсуждение Stimulsoft Reports.NET
rakushev
Сообщения: 16
Зарегистрирован: 16 янв 2015, 11:01

Re: Текст разделов в отчете "съедается" при экспорте в Word

Сообщение rakushev »

Жду ответа.
Andrew
Сообщения: 586
Зарегистрирован: 09 июн 2006, 12:22

Re: Текст разделов в отчете "съедается" при экспорте в Word

Сообщение Andrew »

Здравствуйте,

Спасибо за отправленные данные. Мы их изучаем. Ответ будет дан с нашей тикет системы.

Спасибо.
rakushev
Сообщения: 16
Зарегистрирован: 16 янв 2015, 11:01

Re: Текст разделов в отчете "съедается" при экспорте в Word

Сообщение rakushev »

После долгих мучений все-таки удалось прийти к решению, пока нас устраивовшему.
По пунктам:
1. Проблема с номерами страниц. Решилась проставлением у контрола Текст в колонтитуле у свойства Тег текста: Страница #PageNumber# из #TotalPageCount# страниц
2. Проблема с пустыми пропусками и съеданием текстов. Выяснилось, что для контролов Тект, РичТекст с динамически увеличивающимся текстом свойство CanGrow для вывода в Word нужно выставлять в false. Тогда, как ни странно, все выводится ок.
Для вывода в ПДФ нужно ставить это свойство в true.
Таким не хитрым кодом решается проблема:

Код: Выделить всё

// После долих поисков проблем при печати в Ворд нашли обходной путь.
            // Выяснилось, что если у контрола текста раздела ставить свойство CanGrow в true, то все печатается в пдфо ок, 
            // а в ворде все плывет, скрывается текст, появляюстя пропустки.
            // Если выставить это свойство в false, то в ворде все ок, а в пдфе у текста раздела только оданстрока первая выодится. 
            // Поэтому делаем такой хак с привязками к именам копонентов в шаблоне.
            if (ExportFormat == StiExportFormat.Word2007)
            {
                foreach (StiComponent comp in Report.Pages[0].Components)
                {
                    if (comp.Name == "ChildBand1")
                    {
                        var childBand = comp as StiChildBand;
                        if (childBand != null)
                        {
                            foreach (var bandComp in childBand.Components)
                            {
                                var richText = bandComp as StiRichText;
                                if (richText != null && richText.Name == "RichText1")
                                {
                                    richText.CanGrow = false;
                                }
                            }
                        }
                    }
                }
            }
Генерация отчета в Ворд отсалась у меня , как раньше:

Код: Выделить всё

StiOptions.Export.Word2007.AllowCorrectFontSize11Problem = true;
                    StiOptions.Export.Word2007.BottomMarginCorrection = -5;
                    StiOptions.Export.Word2007.RightMarginCorrection = -5;
                    
                    var service = new StiWord2007ExportService();
                    var settings = new StiWord2007ExportSettings { UsePageHeadersAndFooters = true };
                    service.ExportWord(Report, result, settings);
Всем сотрудникам поддержки, большое спасибо за помощь.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Текст разделов в отчете "съедается" при экспорте в Word

Сообщение HighAley »

Здравствуйте.

Мы рады. что у вас всё получилось.
Обращайтесь, если ещё нужна будет помощь.

Спасибо.
Ответить