【问题标题】:Changing default page size for Printing更改打印的默认页面大小
【发布时间】:2012-04-26 06:04:43
【问题描述】:

我有一个 vb.net 应用程序,它使用 2 个水晶报表来打印报表。第一份报告是 A4,第二份是 A5。

我的代码如何访问打印机默认设置并每次将默认纸张尺寸更改为 A4 和 A5 而无需手动操作。

谢谢

【问题讨论】:

  • 我一直无法弄清楚。部分问题在于 Crystal 依赖于安装在您正在开发 Crystal 的机器上的打印机,因此当您想要更改页面大小时,它会使您符合可用的内容(这有点令人沮丧,因为您可以获取该报告,将其移动到没有该打印机的计算机上并仍然运行它)。为了获得长宽度的页面,有时您必须为您实际上没有的打印机安装驱动程序并使用它们,因为 Crystal 会认为您确实拥有它们。我发现没有办法通过代码来做到这一点。
  • 查看报告中的“CrystalDecisions.CrystalReports.Engine.PrintOptions”和 PrintOptions 变量,看看那里有什么可用的。另一个类似的问题:forums.asp.net/t/1437563.aspx/1

标签: vb.net printing crystal-reports


【解决方案1】:

这有效,但不适用于 MS Word:

 Dim pp As New System.Drawing.Printing.PrintDocument
        For i = 0 To pp.DefaultPageSettings.PrinterSettings.PaperSizes.Count - 1
            If pp.DefaultPageSettings.PrinterSettings.PaperSizes.Item(i).Kind = System.Drawing.Printing.PaperKind.A4 Then
                pp.DefaultPageSettings.PaperSize = pp.DefaultPageSettings.PrinterSettings.PaperSizes.Item(i)
                Exit For
            End If
        Next

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多