Russian Qt Forum
Ноябрь 11, 2024, 01:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопросы новичка про печать.  (Прочитано 7614 раз)
PavelVX
Гость
« : Октябрь 18, 2011, 08:43 »

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

есть еще базирующийся на qtscript, Script Report
Записан
PavelVX
Гость
« Ответ #2 : Октябрь 18, 2011, 10:11 »

а на чем тогда проще делать делать торговые документы, типа ТОРГ 12, с неразрывными группами?
Кстати, еще один ньанс всплыл: можно ли как-то делать фоновый рисунок, типа штрихкода и показывать его в зависимости от условий?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Октябрь 18, 2011, 10:14 »

У нас на работе используются xslt шаблоны для MicrosoftOffice OpenXML.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
PavelVX
Гость
« Ответ #4 : Октябрь 18, 2011, 11:31 »

Пантер, а можно чуть по подробнее?
В одной из старых тем ншел, что вам нечто подобное и надо было делать.
Если можно, то простейший пример.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Октябрь 18, 2011, 11:40 »

Если бы я все знал. Улыбающийся В общем, мне дают шаблон xslt (не знаю, как его делают), я в своей программе делаю xml определенной структуры, соединяю их и получаю валидный документ, который открывается в офисе. Попробуй погуглить по поводу xslt.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
PavelVX
Гость
« Ответ #6 : Октябрь 18, 2011, 11:56 »

дак вы печатаете этот документ из вашей программы или как? Или создаете документ и смотрите его потом в офисе.
Мне-то нужно сразу предпросмотр/печать.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #7 : Октябрь 18, 2011, 12:01 »

Я создаю документ и отправляю его в офис. Можно через ShellExecute сказать офису, чтобы он не открывал, а просто распечатал.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
PavelVX
Гость
« Ответ #8 : Октябрь 18, 2011, 12:14 »

хмм, мысль интересная. Но тогда, если не интересует платформонезависимость, можно под виндой сразу делать xml документ и отправлять его в офис. А как тогда с неразрывными группами работать?
Записан
PavelVX
Гость
« Ответ #9 : Ноябрь 14, 2011, 11:28 »

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


Страница сгенерирована за 0.12 секунд. Запросов: 22.