Crystal Report自定义页面/纸张大小

时间:2015-06-28 19:32:40

标签: vb.net printing crystal-reports

我只想用A4尺寸纸张的一半打印纸币,即宽度:8.269英寸,高度:5.847英寸。我尝试了几次不同的设置。它获得了大小,但问题是它是以横向方向打印。如下图所示。

enter image description here

即使经过大规模搜索,我也无法得到我的问题的答案。当我写我的问题时, stackoverflow 给了我一些答案建议。

this

但是如何在我的开发电脑中获得客户端的打印机设置?它不像通用在所有打印机中都能正常工作吗?如果客户因任何原因更换打印机,那将是一团糟吗?

this question中,问题仍然存在,问题仍未解决。

根据this question的答案,我之前尝试过此过程,但失败了。

我写信给SAP。他们用一个文件链接回答了我,并说它可以解决我的问题。我发现这是一个 c#代码,我使用 vb.net 。我能理解代码,但我无法理解从哪里开始。

我总是使用水晶报告

  1. 直接打印机.....

        Dim stdata As New DataSet()
        dbcommand.Connection = conn
        dbcommand.CommandText = qry
        dbadapter.SelectCommand = dbcommand
        dbadapter.Fill(stdata)
        stdata.WriteXml(Application.StartupPath & "\ReportXml\bill.xml", XmlWriteMode.WriteSchema)
    
        Dim objRpt As New NormalSaleBill
        objRpt.SetDataSource(stdata.Tables(0))
        Dim printPages As Integer = G_DefaultPrintPages '<--- A variable with print page count 
        objRpt.PrintToPrinter(printPages, True, 0, 0)
    
    1. 包含报告查看器...

              Dim stdata As New DataSet()
          dbcommand.Connection = conn
          dbcommand.CommandText = qry
          dbadapter.SelectCommand = dbcommand
          dbadapter.Fill(stdata)
          stdata.WriteXml(Application.StartupPath & "\ReportXml\SaleBill.xml", XmlWriteMode.WriteSchema)
      
          Dim objRpt As New NormalSaleBill
          objRpt.SetDataSource(stdata.Tables(0))
      
          FormReport.RptViewer.ReportSource = objRpt
          FormReport.ShowDialog()
          FormReport.RptViewer.RefreshReport()
      
    2. 那么我应该在哪里放置自定义纸张/页面大小(如果只能以编程方式完成)?

      我完全糊涂了。我需要它很糟糕,但我无法解决它。我不想要任何现成的代码。但至少导游可以帮助我。

      为了您的信息,我使用的是VB.NET 2010和Crystal Report 13。

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我通过以下步骤解决了这个问题。 由于宽度大于高度而出现问题。由于自动将纸张旋转为横向。

1.在您的打印机中创建自定义尺寸的纸张

enter image description here

2.Crystal Reports--> Design-->页面设置

选择带有自定义尺寸纸张的打印机并设置方向。

打印!!!

enter image description here

答案 1 :(得分:-1)

尝试纵向尺寸A3并调整上下边距