2

Crystal Reports 12x8.5 インチでデザインされたレポートがあります。OKI 3320 プリンタ ドライバをこのサイズに正確に設定しています。ここで、C# コードを使用してレポートを印刷すると、ページの長さが切り取り位置より 0.5 インチ短くなります。紙をはがすには、紙を丸めなければなりません。コードを使用して正確に切り取り位置に到達するように変更できる設定はありますか?

          ReportDocument oReportDocument = new ReportDocument();
            oReportDocument.Load(reportPath + "\\OutDkt.rpt");

            List<TblOutDocket> lstDockets = new List<TblOutDocket>();
            lstDockets.Add(oTblOutDocket);
            oReportDocument.SetDataSource(lstDockets);

            oReportDocument.PrintOptions.PrinterName = LocalPrintServer.GetDefaultPrintQueue().FullName;
            oReportDocument.PrintToPrinter(1, false, 0, 0);
4

1 に答える 1

1

カスタムページサイズを使用している場合は、ページ設定を具体的に指定する必要があるようです。このリンクによると、PageSettings名前空間を設定することでこれを実現できます。

IDが118より大きい用紙サイズ(Windowsでコード化された用紙サイズ)を使用する場合は、用紙サイズのIDをPrintOptions.PaperSourceに指定する必要があります。明らかに、CrystalDecisions.Shared.PaperSourceでキャストする必要があります。

ReportDocument.PrintOptions.PaperSource =(CrystalDecisions.Shared.PaperSource)m_PageSettings.PaperSource.RawKind;

ReportDocument.PrintOptions.PaperSize =(CrystalDecisions.Shared.PaperSize)m_PageSettings.PaperSize.RawKind;

ここで、m_PageSettingsは、適切なPaperSizeを指定するSystem.Drawing.PageSettingsです。

于 2012-08-17T14:54:38.160 に答える