Ответ 1
Найдено: http://www.crystalreportsbook.com/forum/forum_posts.asp?TID=754
В основном добавьте фиктивный принтер в вашу систему, который может взять больший размер бумаги и выбрать его в качестве принтера для отчета.
Я ищу способ изменить размер страницы. Crystal Reports дает мне поместить поля в мой .rpt файл.
До сих пор я обнаружил, что, щелкнув правой кнопкой мыши на отчете, выберите "дизайн" / "настройка принтера", я могу выбрать размер бумаги, на которой я хочу распечатать отчет. Если я выберу "Ориентация/Пейзаж", я могу увеличить ширину страницы, и я могу разместить больше полей в отчете.
Моя цель: поместить все мои поля в мой отчет (около 25 из них) и экспортировать данные в Excel. Прямо сейчас у меня недостаточно ширины для размещения всех полей в файле .rpt.
Есть ли способ увеличить ширину страницы до произвольного числа?
Найдено: http://www.crystalreportsbook.com/forum/forum_posts.asp?TID=754
В основном добавьте фиктивный принтер в вашу систему, который может взять больший размер бумаги и выбрать его в качестве принтера для отчета.
Изменив размер бумаги в отчетах. Сделайте его юридическим/письмом и т.д. Увеличит ширину ваших отчетов, чтобы вы могли легко отображать количество столбцов (более 10) в своем отчете.
Для этого щелкните правой кнопкой мыши → Дизайн → Настройка принтера → Бумага → Размер.
Другим способом может быть изменение ориентации ваших отчетов. По умолчанию это портрет. Вы можете изменить его на "Пейзаж" на
Правый клик → Дизайн → Настройка принтера → Ориентация → Пейзаж (Радио кнопка.)
Файл → Настройка принтера → свойства ориентация выберите Портрет
используйте создатель документа microsoft xps в качестве фиктивного принтера и создайте новую форму из свойств сервера, как указано в сообщении выше меня.
Я решил, что я должен добавить фактические шаги здесь из принятого ответа, вместо того, чтобы пойти на ссылку, чтобы сделать это (он указывает на другую ссылку). То, что работало для меня в хрустальных отчетах, было:
Я установил принтер на что-то абсурдно широкое и использовал его. ben - правильная идея.
Я понимаю, что это очень старая тема, и вопрос касается режима разработки, но поскольку этот вопрос продолжает появляться в моих поисковых процессах Google, я ожидаю, что это может кому-то помочь. Итак, я просто хотел добавить это программно, это можно сделать без фиктивного принтера следующим образом:
var repDoc = new ReportDocument();
repDoc.Load(rpt_path);
ISCDReportClientDocument clientDoc = repDoc.ReportClientDocument;
clientDoc.PrintOutputController.ModifyUserPaperSize(repDoc.PrintOptions.PageContentHeight, repDoc.PrintOptions.PageContentWidth * 2);