Russian Qt Forum

Qt => Печать => Тема начата: PavelVX от Октябрь 18, 2011, 08:43



Название: Вопросы новичка про печать.
Отправлено: PavelVX от Октябрь 18, 2011, 08:43
Понадобилось в своей проге сделать отчеты. Разок создал и забыл, изменять их налету не надо(что-то типа Торг 12).
Проштудировал форум, погуглил. Получается два варианта создания отчетов:
1. Что-нить типа eXaro, NCReport.
2. QTextDocument + QPrintPreviewWidget
В первом случае нужно цеплять сторонние библиотеки, собирать что-то.
Во втором случае сам генерю html и печатаю его. Но как во втором случае сделать следующее:
- номера страниц или любая другая информация в колонтитулах? Вручную вычислять размер страницы и верстать с учетом этого?
- как создавать неразрывную группу? Тоже вычислять размер страницы и думать как рисовать?
Склоняюсь ко второму варианту, но как сделать эти два пункта?


Название: Re: Вопросы новичка про печать.
Отправлено: asvil от Октябрь 18, 2011, 09:46
есть еще базирующийся на qtscript, Script Report


Название: Re: Вопросы новичка про печать.
Отправлено: PavelVX от Октябрь 18, 2011, 10:11
а на чем тогда проще делать делать торговые документы, типа ТОРГ 12, с неразрывными группами?
Кстати, еще один ньанс всплыл: можно ли как-то делать фоновый рисунок, типа штрихкода и показывать его в зависимости от условий?


Название: Re: Вопросы новичка про печать.
Отправлено: Пантер от Октябрь 18, 2011, 10:14
У нас на работе используются xslt шаблоны для MicrosoftOffice OpenXML.


Название: Re: Вопросы новичка про печать.
Отправлено: PavelVX от Октябрь 18, 2011, 11:31
Пантер, а можно чуть по подробнее?
В одной из старых тем ншел, что вам нечто подобное и надо было делать.
Если можно, то простейший пример.


Название: Re: Вопросы новичка про печать.
Отправлено: Пантер от Октябрь 18, 2011, 11:40
Если бы я все знал. :) В общем, мне дают шаблон xslt (не знаю, как его делают), я в своей программе делаю xml определенной структуры, соединяю их и получаю валидный документ, который открывается в офисе. Попробуй погуглить по поводу xslt.


Название: Re: Вопросы новичка про печать.
Отправлено: PavelVX от Октябрь 18, 2011, 11:56
дак вы печатаете этот документ из вашей программы или как? Или создаете документ и смотрите его потом в офисе.
Мне-то нужно сразу предпросмотр/печать.


Название: Re: Вопросы новичка про печать.
Отправлено: Пантер от Октябрь 18, 2011, 12:01
Я создаю документ и отправляю его в офис. Можно через ShellExecute сказать офису, чтобы он не открывал, а просто распечатал.


Название: Re: Вопросы новичка про печать.
Отправлено: PavelVX от Октябрь 18, 2011, 12:14
хмм, мысль интересная. Но тогда, если не интересует платформонезависимость, можно под виндой сразу делать xml документ и отправлять его в офис. А как тогда с неразрывными группами работать?


Название: Re: Вопросы новичка про печать.
Отправлено: PavelVX от Ноябрь 14, 2011, 11:28
Создаю документ в html, потом передаю его в QTextDocument и печатаю.
Хочу как мне надо разбить документ постранично. Для этого пытаюсь вставить разрывы страниц(setPageBreakPolicy). Но не понимаю как :(.
Подскажите пожалуйста по QTextDocument:
1. Как вставить разрыв страницы?
2. Можно ли как-то вставлять в QTextDocument html кусками? То-есть, создал страницу в html как мне надо, добавил её в QTextDocument, если страница не последняя, то вставляю разрыв, формирую новую страницу. И опять по кругу.