Printing VB6、ActiveReports和理光打印机:旋转页面?

Printing VB6、ActiveReports和理光打印机:旋转页面?,printing,vb6,rotation,activereports,Printing,Vb6,Rotation,Activereports,我有一个用VB6编写的程序。它使用ActiveReports生成信件 报告以循环方式处理;使用verbage构建循环和(整个lotta)嵌套的“if”和“case”语句。该死 将报告发送到打印机,如下所示: Function PrintIt(ltrobj as Object) Set ltrobj = MyARdocument '(.Dsr file) ltrobj.txtfield1 = strVerbage 'This string was popula

我有一个用VB6编写的程序。它使用ActiveReports生成信件

报告以循环方式处理;使用verbage构建循环和(整个lotta)嵌套的“if”和“case”语句。该死

将报告发送到打印机,如下所示:

Function PrintIt(ltrobj as Object)

    Set ltrobj = MyARdocument '(.Dsr file)
    ltrobj.txtfield1 = strVerbage           'This string was populated somewhere else
    ltrobj.Printer.DisplayProgressDialog = False
    ltrobj.PrintReport False

End Function
现在这里有一个奇怪的部分:页面从打印机中物理出来,在循环的每次迭代中旋转90度。更奇怪的是——这种情况只发生在我的VB6应用程序上——其他Word文档、报表、批处理作业,任何正常的结果

因此,第一页像正常一样出现,页眉在前(指向北方)。第二页横着出现(页眉指向西部)。第三个像第一个一样从打印机中出来,第四个像第二个一样出来,然后继续

打印机:理光Aficio MP5000

我在打印机上找不到设置,或者在ActiveReports中找不到控制此设置的属性

任何想法、帮助或一般指导都将不胜感激

谢谢

Jason

ActiveReports中没有“旋转”设置。可能影响这一点的最接近的因素是页面大小和方向,但最坏的情况是,我希望它们来回翻转,而不是实际旋转页面。我会尝试做几件事:

  • 在报告打印时跟踪与方向和页面大小相关的打印机和页面设置
  • 尝试打印到另一台打印机,查看是在所有打印机上还是仅在这台打印机上发生
  • 预览屏幕上的报告,查看它们是否在预览中旋转(或使用report.export(…)将它们导出为PDF,并查看它们是否在预览中旋转)
  • 要跟踪页面设置,您应该在几个地方进行跟踪。一个在打印机上,另一个在报告的每个页面(或画布)上。还有可能与此相关的ActiveReport.PrintWidth(报告的宽度,而不是页面)。因此,在打印每个报告之前,请尝试跟踪以下值:

    report.PrintWidth
    ' the default settings for the report
    report.PageSettings.TopMargin
    report.PageSettings.RightMargin
    report.PageSettings.BottomMargin
    report.PageSettings.LeftMargin
    ' actual printer's current settings:
    report.Printer.PaperSize
    report.Printer.PaperHeight
    report.Printer.PaperWidth
    report.Printer.Orientation
    ' settings for a specific page:
    for each page in report.Pages:
      report.Pages(...).Width
      report.Pages(...).Height
      report.Pages(...).Orientation
    
    顺便说一句:ActiveReports的COM帮助是

    如果预览/PDF测试看起来还可以,那么我会关注打印机本身。显然,打印到另一台打印机时也是如此。否则,请关注ActiveReports设置

    希望这有帮助

    Scott Willeke
    GrapeCity
    

    不确定问题的答案是什么,但您所说的设置是通过PageWidth/PageHeight(或类似命名的属性)控制的。