Не могу найти ответы на простые вопросы
Здравствуйте!
У меня есть отчёт с портретными и одной альбомной страницей. При печати отчёта альбомная страница почти пустая, хотя в дизайнере на ней много всего.
Это как понял из-за того что FastReport на нашем принтере (на предприятии) не может как-то отрегулировать параметры при печати (видимо у нас такой принтер, с которым у FastReporta проблемы). Принтер заменить нельзя, драйвер на нём (как в интернете иногда советуют) тоже переставить я не могу. В интернете ещё встречал совет в исходном коде генератора где-то раскомментировать какую-то строчку, но это я тоже не могу делать, т.к предприятие большое и генератор где-то на сервере и там из-за моей маленькой проблемы никто не будет такое делать.
Придумал 3 способа решения, чтобы печатал отчёт со страницами разной ориентации:
1) Можно ли как-то развернуть страницу или содержимое по вертикали, чтобы альбомную сделать портретной?
2) Можно ли, заполнив диалоговую форму выбора параметров для отчёта по одной кнопке получить отчёт всех портретных страниц, напечать его, потом вернуться опять в диалоговую форму и другой кнопкой вывести отчёт из одной этой альбомной (чтобы форму параметров заполнять один раз а отчёта получить два разных)?
3) Может быть можно как-то программно явно указывать ориентацию в настройках принтера, во время печати по какому-нибудь событию, в зависимости от ориентации печатаемой страницы.
4) Может есть какой-то другой способ решить эту проблему, чтобы печаталось как нужно.
Подскажите пожалуйста.
У меня есть отчёт с портретными и одной альбомной страницей. При печати отчёта альбомная страница почти пустая, хотя в дизайнере на ней много всего.
Это как понял из-за того что FastReport на нашем принтере (на предприятии) не может как-то отрегулировать параметры при печати (видимо у нас такой принтер, с которым у FastReporta проблемы). Принтер заменить нельзя, драйвер на нём (как в интернете иногда советуют) тоже переставить я не могу. В интернете ещё встречал совет в исходном коде генератора где-то раскомментировать какую-то строчку, но это я тоже не могу делать, т.к предприятие большое и генератор где-то на сервере и там из-за моей маленькой проблемы никто не будет такое делать.
Придумал 3 способа решения, чтобы печатал отчёт со страницами разной ориентации:
1) Можно ли как-то развернуть страницу или содержимое по вертикали, чтобы альбомную сделать портретной?
2) Можно ли, заполнив диалоговую форму выбора параметров для отчёта по одной кнопке получить отчёт всех портретных страниц, напечать его, потом вернуться опять в диалоговую форму и другой кнопкой вывести отчёт из одной этой альбомной (чтобы форму параметров заполнять один раз а отчёта получить два разных)?
3) Может быть можно как-то программно явно указывать ориентацию в настройках принтера, во время печати по какому-нибудь событию, в зависимости от ориентации печатаемой страницы.
4) Может есть какой-то другой способ решить эту проблему, чтобы печаталось как нужно.
Подскажите пожалуйста.
Комментарии
Тогда придётся два раза заполнять большую форму параметров для отчёта, этого мне нужно избежать.
Версию не знаю, точно узнать тоже не знаю как, есть подозрение, что 2.4 - это у меня на компьютере нашлось по обычному поиску файлов, а какая версия на сервере не знаю, предприятие большое, какую-то сильно старую версию мне кажется не стали бы держать.
Если у кого-то будет какая-то идея, смогу её проверить.
Если знающий человек ответит на первые 3 вопроса, буду тоже благодарен, сам таких возможностей не нашёл, но вдруг они всё таки есть.
2. Сформируйте два различных Report-а, если вместе не работает.
3. Да, хотя это делается автоматически вроде.
3) автоматически должно, но проблема похоже в том что данный FastReport с данным принтером не может договориться как печатать страницу, читал в интернете о таком.
У меня вообще PrintReportDialog отключен. Все настройки задаю программно. Печатаю ч/з подтверждение от MessageDlg. Может это и Ваш выбор?
Т.к. это отчёт может печататься в очень разных вариантах и пользователи сами настраивают, без формы выбора не обойтись.
Не все модели принтеров меняют размеры листа, некоторым для печати альбомной страницы нужно и бумагу подавать соответствующим образом.
В вашем случае проще всего изменить альбомную ориентацию на портретную и затем просто поменять местами ширину и высоту страницы.
Если не ошибаюсь вы имеете в виду поставить свойство Orientation как poPortrait и потом размеры PaperHeight и PaperWidth поставить как для Альбомной.
Так пробовал, печатает, но то альбомное, что торчит за границу портретной страницы не печатается (т.е. что входит в рамки портретной - печатается на листе, а что выходит за рамки, нет). Вот такая ситуация.
(примерно вот такое
<!--fonto:Arial Black--><span style="font-family:Arial Black"><!--/fonto-->СПАСИБИЩЕ<!--fontc--></span><!--/fontc--> не маленькое)
))
Так же неплохо было бы взглянуть на шаблон отчета.
Подскажите пожалуйста как вам его прислать, когда он у меня получится?
На всякий случай, хотя уже сомневаюсь что дело в принтере, сейчас попробовал на простом отчёте с разными тоже страницами, где за портретной идёт альбомная, напечатались обе - нормально, принтер всё-таки похоже не при чём.
Ещё надо мне потестировать, кое-что проверить, может быть даже и ошибку найду, хотя в этом есть большие сомнения.
Эта ошибка возникает из-за того, что FastReport (по крайней мере нашей версии) не умеет печатать отчёты с разной ориентацией страниц.
Поводом к ошибке служат такие вещи как например, что на предыдущей портретной странице, перед альбомной, есть объект RichText, изменение его настроек ничего не даёт. Или есть Мемо с размерами отличными от исходных (когда его только что положили на страницу). При первоначальных размерах поля Мемо, всё печатается нормально.
Если у кого-то не правильно печатается отчёт со страницами разной ориентации, то виновата не страница которая не печатается, а предыдущая(ие) страница(ы), наличие на них полей RichText, или Мемо с изменёнными размерами может влиять. Или может быть ещё что-то. Больше всего ошибка конечно в самом том что FastReport не умеет или не всегда может правильно напечатать такой отчёт, с разными страницами.
На уровне конкретного отчёта исправить ничего нельзя, к такому выводу пришёл. Поля Мемо чаще всего используют и их высоту часто нужно менять (провоцирует ошибку у меня изменение высоты Мемо, а не длины, не только в дизайнере, но и при выводе многострочного текста, когда оно автоматически раздвигается).