tangke888 发表于 2024-10-19 15:36:54

同一个模板文件 ,用设计器打印就是正常的,只有一页,用代码静默打印就两页

本帖最后由 tangke888 于 2024-10-19 15:38 编辑

这个是正常的,打印是一页,内容也只有一页



但是代码进行静默打印,就变二页








Bella.Yuan 发表于 2024-10-19 15:36:55

tangke888 发表于 2024-10-23 14:13
要标签机才能看出来。

另一个问题,假如数据源没有值时,这里不显示的,不打印,要怎么处理?

您好,我们没有标签打印机,确实没办法复现您的问题,您可以参考上面版主的回复,取消代码中的其他设置,直接打印测试看看结果。
针对数据源没有数据时不显示某个条形码,可以选中对应的条形码右侧属性设置可见性,支持表达式的编写,使用表达式,参考下图(我给数据集添加了过滤条件模拟数据为空):

表达式参考:=IIFf(Count( Fields!IDs.Value )=0,true,false)

Eden.Sun 发表于 2024-10-21 10:40:13

问题描述:
打印多出来一页。

问题解决:
您好,通过AR的设计器直接打印是正常的,但是通过代码打印就会多出一页?
您打印的代码是什么样的,是不是打印代码里面有什么地方影响了报表的组件的尺寸导致元素的空白部分挤到了下一页。

tangke888 发表于 2024-10-21 11:00:54

GrapeCity.ActiveReports.PrinterSettings printerSettings = new GrapeCity.ActiveReports.PrinterSettings();
printerSettings.ShowPrintDialog = false;
printerSettings.ShowPrintProgressDialog = false;
printerSettings.Printer.PrinterName = printname;
               
printerSettings.Printer.Landscape = false;    //纵向打印
      

////设置打印纸张
System.Drawing.Printing.PrintDocument printDoc = new System.Drawing.Printing.PrintDocument();
foreach (System.Drawing.Printing.PaperSize ps in printDoc.PrinterSettings.PaperSizes)
{
   if (ps.PaperName == pagesizName)
   {
                  
         printerSettings.Printer.PaperSize = ps;
      
   }
   else
   {
      
   }
}


               
GrapeCity.ActiveReports.Document.PageDocument pageDocument = new GrapeCity.ActiveReports.Document.PageDocument(pageReport);
//printerSettings.prst
pageDocument.Print(printerSettings);

Eden.Sun 发表于 2024-10-21 12:21:24

您这个是上面多出来一页还是,报表内容的后面多出来一页。


还有就是您的报表文件发我一下,我这边试试。

tangke888 发表于 2024-10-23 09:03:06

这个标签纸是10.4*15CM的

Eden.Sun 发表于 2024-10-23 10:15:16

本帖最后由 Eden.Sun 于 2024-10-23 10:38 编辑

tangke888 发表于 2024-10-23 09:03
这个标签纸是10.4*15CM的我们测试了一下,因为没有您这个打印纸,所以只能用A4纸测试,没有您这个现象。



您试着把您的代码中的多余部分直接干掉,知己去打印报表试试。


tangke888 发表于 2024-10-23 14:13:41

要标签机才能看出来。

另一个问题,假如数据源没有值时,这里不显示的,不打印,要怎么处理?
页: [1]
查看完整版本: 同一个模板文件 ,用设计器打印就是正常的,只有一页,用代码静默打印就两页