Russian Qt Forum

Qt => Печать => Тема начата: Пантер от Июнь 12, 2007, 16:25



Название: [Qt:4.2.3]Печать с разбивкой по странично
Отправлено: Пантер от Июнь 12, 2007, 16:25
Добрый день.
Я переношу прогу с делфей на кутю. Прога делает справки, т.е. есть шаблоны справок, и прога, проставив в шаблоне нужные данные, выводит на печать. Под делфями я использовал текстовые шаблоны, теперь решил перейти на html (кстати, правильное ли решение?). Так вот в чем вопрос: справки имеют разное число строк(заранее это не известно), нужно печатать по несколько справок одновременно, причем справка не может разрываться на 2 листа, т.е. нужно вычислять поместится она или нужно прокрутить лист. В делфях было все легко и просто, а в куте никак не могу ничего придумать.
Буду рад любому ответу (особенно с примером кода).

С уважением.
Пантер.


Название: [Qt:4.2.3]Печать с разбивкой по странично
Отправлено: Racheengel от Июнь 12, 2007, 22:57
Есть OpenReport для этого, поищи в гугле.


Название: [Qt:4.2.3]Печать с разбивкой по странично
Отправлено: Пантер от Июнь 13, 2007, 11:15
Цитата: "Racheengel"
Есть OpenReport для этого, поищи в гугле.

Я знаю про его существование, но пользоваться им не хочу, да и резона нет. Разве никто не может что-нибудь кроме этого посоветовать???


Название: Re: [Qt:4.2.3]Печать с разбивкой по странично
Отправлено: itan от Июнь 14, 2007, 08:37
В QT ничего готового для этих целей пока не существует, правда есть примерчик ($QTDIR)/demos/textedit, в нем реализована функция Print Preview с последующим выводом на печать, думаю его можно доработать под твои нужды.


Название: Re: [Qt:4.2.3]Печать с разбивкой по странично
Отправлено: Sergey B. от Июнь 14, 2007, 08:42
Цитата: "itan"
В QT ничего готового для этих целей пока не существует, правда есть примерчик ($QTDIR)/demos/textedit, в нем реализована функция Print Preview с последующим выводом на печать, думаю его можно доработать под твои нужды.


QtextDocument прекрасно печатается, и сам разбивается на страницы (пробовал отправлять напрямую на принтер), то что в демке - это просто показ как он на принтер вылезет.

Единственное, не вставляй дополнительные фреймы с большим количеством данных, они не пилятся и вся разбивка ломается, т.е. линия таблицы или буквы могёт идти прям по линии страницы


Название: Re: [Qt:4.2.3]Печать с разбивкой по странично
Отправлено: Пантер от Июнь 14, 2007, 11:21
Цитата: "Sergey B."
Цитата: "itan"
В QT ничего готового для этих целей пока не существует, правда есть примерчик ($QTDIR)/demos/textedit, в нем реализована функция Print Preview с последующим выводом на печать, думаю его можно доработать под твои нужды.


QtextDocument прекрасно печатается, и сам разбивается на страницы (пробовал отправлять напрямую на принтер), то что в демке - это просто показ как он на принтер вылезет.

Единственное, не вставляй дополнительные фреймы с большим количеством данных, они не пилятся и вся разбивка ломается, т.е. линия таблицы или буквы могёт идти прям по линии страницы

Я и пользуюсь QtextDocument, загоняя в него html. Вопрос в другом: как узнать, что справка разрывается и перенести ее на другую страницу?


Название: Re: [Qt:4.2.3]Печать с разбивкой по странично
Отправлено: Sergey B. от Июнь 14, 2007, 12:18
посмотри демку(которую предлагали), как они считают размер страницы... :)...

При печати, страница разбивается автоматически... (с полями и прочими)


Название: Re: [Qt:4.2.3]Печать с разбивкой по странично
Отправлено: J. Bond от Июнь 14, 2007, 12:34
Цитата: "panter_dsd"

Я и пользуюсь QtextDocument, загоняя в него html. Вопрос в другом: как узнать, что справка разрывается и перенести ее на другую страницу?


pageCount>1 ?


Название: Re: [Qt:4.2.3]Печать с разбивкой по странично
Отправлено: Ефремов от Март 15, 2011, 11:09
Здравствуйте.

Подскажите, пожалуйста, как используя QTextDocument указать разрыв страницы?

Ефремов.


Название: Re: [Qt:4.2.3]Печать с разбивкой по странично
Отправлено: Prm от Март 16, 2011, 12:19
см. описание setPageBreakPolicy


Название: Re: [Qt:4.2.3]Печать с разбивкой по странично
Отправлено: Ефремов от Март 16, 2011, 19:17
Здравствуйте.

Prm

“см. описание setPageBreakPolicy
Большое спасибо за подсказку.
При заполнении методом .insertText() работает прекрасно. При заполнении методом .insertHtml() есть какие-то проблемы с разрывом страниц. Но до конца проверить пока не успел.
Еще раз большое спасибо!!!

Ефремов.