Я создал пользовательский размер бумаги «SUPP 15 х 14» в Setting - Printers - File - Server Properties.
Сейчас я пытаюсь установить размер бумаги для Crystal Report с помощью VB.net 2005.Программных установить Нестандартный формат бумага для Crystal Report
Когда я запускать отчет с VB.net, средство просмотра отчетов Crystal показывает правильный просмотр для пользовательского формата бумаги, но когда я выдаю команду печати, она печатает с размером бумаги для принтера по умолчанию. (Например, письмо)
Вот код, я использую для печати:
Public Sub ...
'...
Dim ObjCrReport as new ReportDocument
'...
ObjCrReport.SetDataSource(ObjPrintDataSet.Tables("PrintData"))
SetReportPageSize("SUPP 15 x 14", 1)
'...
End Sub
Private Sub BtnPrintDoc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPrintDoc.Click
Try
'Print command
ObjCrReport.PrintToPrinter(1, False, 0, 0)
Catch ex As Exception
MessageBox.Show(ex.Message, "Alert", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Public Sub SetReportPageSize(ByVal mPaperSize As String, ByVal PaperOrientation As Integer)
Try
Dim ObjPrinterSetting As New System.Drawing.Printing.PrinterSettings
Dim PkSize As New System.Drawing.Printing.PaperSize
ObjPrinterSetting.PrinterName = "Epson FX1170"
For i As Integer = 0 To ObjPrinterSetting.PaperSizes.Count - 1
If ObjPrinterSetting.PaperSizes.Item(i).PaperName = mPaperSize.Trim Then
PkSize = ObjPrinterSetting.PaperSizes.Item(i)
Exit For
End If
Next
If PkSize IsNot Nothing Then
Dim myAppPrintOptions As CrystalDecisions.CrystalReports.Engine.PrintOptions = ObjCrReport.PrintOptions
myAppPrintOptions.PrinterName = "Epson FX1170"
myAppPrintOptions.PaperSize = CType(PkSize.RawKind, CrystalDecisions.Shared.PaperSize)
ObjCrReport.PrintOptions.PaperOrientation = IIf(PaperOrientation = 1, _
CrystalDecisions.Shared.PaperOrientation.Portrait, _
CrystalDecisions.Shared.PaperOrientation.Landscape)
End If
PkSize = Nothing
Catch ex As Exception
MessageBox.Show(ex.Message, "Alert", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Если я использую myAppPrintOptions.PaperSize = PaperSize.PaperLegal
, а затем Печать Просмотр & печати появляются правильно, но я хочу, чтобы установить пользовательский размер бумаги, который не отображается в классе PaperSize
.
Что случилось с вышеуказанным кодом? Почему он печатает размер письма, где предварительный просмотр Crystal Reports в противном случае показывает пользовательскую бумагу в предварительном просмотре размера? Есть ли лучший способ достичь моей цели?
Никто не имеет ответа? У меня такая же проблема здесь, на работе. –
Возможно, для принтера задано значение «Размер письма» _. до сих пор нет ответа, сейчас 2016 год –