powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / работа с printer setup() в crystal reports
15 сообщений из 15, страница 1 из 1
работа с printer setup() в crystal reports
    #37632735
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Printer Setup ( ) - позволяет программно изменять параметры принтера. Но вот примера нет. Как с ней работать?
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37633494
FantomGood
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
...
	crReportDocument = new ReportDocument();
			//Create an instance of a report
			crReportDocument = new Chart();// отчет интергрирован в проект

			//Use error handling in case an error occurs

				//Set the printer name to print the report to.  By default the sample
				//report does not have a defult printer specified.  This will tell the
				//engine to use the specified printer to print the report.  Print out 
				//a test page (from Printer properties) to get the correct value.
				System.Drawing.Printing.PrintDocument printDocument = new System.Drawing.Printing.PrintDocument();
				crReportDocument.PrintOptions.PrinterName = printDocument.PrinterSettings.PrinterName;
...
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37633788
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantomGood,

Спасибо за пример, только не очень понятно. Этот код для VB? В Foxpro не очень понятно как применить.
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37633878
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С помощью этой функции можно как-то изменить установку принтера, которая отвечает за ориентацию листа ?
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37634908
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НадеждаМС помощью этой функции можно как-то изменить установку принтера, которая отвечает за ориентацию листа ?
11953736
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37637572
FantomGood
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НадеждаМFantomGood,

Спасибо за пример, только не очень понятно. Этот код для VB? В Foxpro не очень понятно как применить.
каков вопрос - таков ответ.
PS: никогда бы про Foxpro не подумал. И хорошо бы почитать правила оформления вопросов . ;)
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37638071
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantomGood,

Доюрый день.

Изучаю код:

Dim s As String
Dim rep As CrystalDecisions.CrystalReports.Engine.ReportDocument
rep = New CrystalDecisions.CrystalReports.Engine.ReportDocument()

s = IO.Directory.GetCurrentDirectory + "\reportdocuments\" + sReportName + ".rpt"
rep.Load(s, CrystalDecisions.[Shared].OpenReportMethod.OpenReportByDefault)
rep.SetDataSource(ds)

If sPaperOrientation = "Landscape" Then
rep.PrintOptions.PaperOrientation = CrystalDecisions.[Shared].PaperOrientation.Landscape
Else
rep.PrintOptions.PaperOrientation = CrystalDecisions.[Shared].PaperOrientation.Portrait
End If

rep.PrintToPrinter(1, True, 0, 0)
End Sub


Я так понимаю что вот здесь определяется настройка самого отчета и в зависимости от того какая в настройка в отчете "Landscape" или "Portrait", настройка присваивается принтеру?:

If sPaperOrientation = "Landscape" Then
rep.PrintOptions.PaperOrientation = CrystalDecisions.[Shared].PaperOrientation.Landscape
Else
rep.PrintOptions.PaperOrientation = CrystalDecisions.[Shared].PaperOrientation.Portrait
End If

У себя делаю так

If orpt.PaperOrientation = 1 Then
orpt.PaperOrientation = ....(portrait)
Else
orpt.PaperOrientation = .... (landscape)
End If
Только вот вот эту строку: CrystalDecisions.[Shared].PaperOrientation.Landscape; написать для Foxpro, не знаю.
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37638156
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо изменить настройку принтера согласно настройке в отчете.
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37645044
FantomGood
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НадеждаМНадо изменить настройку принтера согласно настройке в отчете.
1) нужно получить доступ к принтеру и поменять его настройки - ориентацию бумаги для текущего сеанса
2) для orpt.PaperOrientation в шаблоне отчета должна быть постоянна всегда, если в драйвере принтера задана другая константа для Landscape, то возникают проблемы отображения
попробуйте в ручную задать ориентацию страницы на проблемном принтере и вывести сообщение о orpt.PaperOrientation думаю на foxclub Вам больше помогут.
;)
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37645049
FantomGood
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в догонку нашел такой файлик vfp.cr.txt
вдруг чемто поможет
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
...
Report.PrinterSetup lHwnd
gsOrientation = Report.PaperOrientation 'Save orientation into var
Printer.Orientation = Report.PaperOrientation
Report.SelectPrinter Report.DriverName, Report.PrinterName, Report.PortName
gsPrinterName = Report.PrinterName 'Save other settings to vars
gsPrinterDriver = Report.DriverName '...
gsPortName = Report.PortName '...
'...
'Set the report source (if using already opened ADO recordset).
'Report.Database.SetDataSource oRs, 3, 1
'...
'Then you can set the report to whatever the user selected and print out.
Report.DisplayProgressDialog = True
Report.SelectPrinter gsPrinterDriver, gsPrinterName, gsPortName
Report.PaperOrientation = gsOrientation
Report.PrintOut True, 1
...
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37645402
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantomGood,
Спасибо вам большое. На фоксклабе я задавала это вопрос.
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37645816
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FantomGoodв догонку нашел такой файлик vfp.cr.txt
вдруг чемто поможет
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
...
Report.PrinterSetup lHwnd
gsOrientation = Report.PaperOrientation 'Save orientation into var
Printer.Orientation = Report.PaperOrientation
Report.SelectPrinter Report.DriverName, Report.PrinterName, Report.PortName
gsPrinterName = Report.PrinterName 'Save other settings to vars
gsPrinterDriver = Report.DriverName '...
gsPortName = Report.PortName '...
'...
'Set the report source (if using already opened ADO recordset).
'Report.Database.SetDataSource oRs, 3, 1
'...
'Then you can set the report to whatever the user selected and print out.
Report.DisplayProgressDialog = True
Report.SelectPrinter gsPrinterDriver, gsPrinterName, gsPortName
Report.PaperOrientation = gsOrientation
Report.PrintOut True, 1
...




Этот код я изменила вот так:

orpt.PrinterSetup(HWND)
gsOrientation = orpt.PaperOrientation

*objprinter.Orientation
*objprinter.Orientation = orpt.PaperOrientation
Printer.Orientation = orpt.PaperOrientation
orpt.SelectPrinter(orpt.DriverName, orpt.PrinterName, orpt.PortName)
gsPrinterName = orpt.PrinterName
gsPrinterDriver = orpt.DriverName
gsPortName = orpt.PortName
orpt.DisplayProgressDialog = True
orpt.SelectPrinter(gsPrinterDriver, gsPrinterName, gsPortName)
orpt.PaperOrientation = gsOrientation
orpt.PrintOut(True, 1)

На строке
orpt.PrinterSetup(HWND)
Выходит ошибка:Variable 'HWND' is not found

На строке
Printer.Orientation = orpt.PaperOrientation
Выходит ошибка: PRINTER is not an object
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37645977
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может Printer где-то раньше создается, но я не нашла более упоминаний.
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37648471
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется до меня стало доходить как надо сделать.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
*Выбираю принтер через Getprinter() и получаю имя.  
  pPrinterName=GETPRINTER()  
  gsOrientation = orpt.PaperOrientation  
    
  *Затем меняю через Printjob значение установки принтера на значение установки в отчете.   
    
  PRINTJOB  
  	_orientation=gsOrientation  
  ENDPRINTJOB  
    
 *В имеющемся массиве принтеров ищу "нужный" т.е. тот, что вернула getprinter(), получаю порт и драйвер.  
     
  n = APRINTERS(Aprn, 1)  
    
  FOR i = 1 to n  
  	if Upper(Aprn(i,1)) = UPPER(ALLTRIM(pPrinterName)) then		  
  		pPortName = Aprn(i,2)  
  		pDriverName = APrn(i,3)  
  	ENDIF  
  ENDFOR  



*Передаю в отчет нужный принтер.
orpt.SelectPrinter(pDriverName, pPrinterName, pPortName )
*Вывожу напечать
orpt.PrintOut(.f.)

Поправьте, если не так.
...
Рейтинг: 0 / 0
работа с printer setup() в crystal reports
    #37651526
FantomGood
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по логике вроде правильно, главное чтобы работало.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / работа с printer setup() в crystal reports
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]