点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
首先抱歉..我的英语不好,我制作了程序CR13(WPF + C#,VS 2017社区)
? CrystalReportsViewer->"打印"按钮(工具栏)
? ReportDocument.PrintToPrinter()
? 看来左边距是不同的,并且减少了。
我认为?中有问题。
如何解决这个问题?
img-9051.jpg (145.9 kB)
SP 23将对WPF查看器进行更多更新。 看看是否能解决问题。
感谢您的回答。
我将VS的Tag更改为CR。
安装最新的SP 20 MSI并再次测试,请注意,尚不支持VS 2017,因此请安装32位和64位MSI:
https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
唐
谢谢。
但问题没有解决。
好,那么需要更多详细信息。
您正在使用什么打印机?
您是否已更新到支持.NET Framework的打印机驱动程序?
创建一个仅打印文本文档的新应用,不要仅使用CR进行框架打印。
赞:
使用System;
使用System.Collections.Generic;
使用System.ComponentModel;
使用System.Data;
使用System.Drawing;
使用System.Drawing.Printing;
使用 System.IO ;
使用System.Text;
使用System.Windows.Forms; < br>
命名空间DotNETPrint
{
公共局部类Form1:Form
{
私人Button printButton;
私人PrintDocument printDocument1 = new PrintDocument();
私人字符串stringToPrint;
public Form1()
{
InitializeComponent();
this.printButton =新的System.Windows.Forms.Button();
this.printButton.Location =新的System.Drawing。 点(12,51);
this.printButton.Size =新的System.Drawing.Size(75,23);
this.printButton.Text ="打印";
this.printButton.Click + = new System.EventHandler(this.printButton_Click);
this.ClientSize = new System.Drawing.Size(292,266);
this.Controls.Add(this.printButton);
//将PrintPage事件处理程序与
printDocument1.PrintPage + =
新的PrintPageEventHandler(printDocument1_PrintPage);
}
private void ReadFile()
{
字符串docName =" don.rtf "; //"begunix.txt"; //" don.rtf"; //
字符串docPath ="。\\";
printDocument1.DocumentName = docName;
使用(FileStream stream = new FileStream(docPath + docName,FileMode.Open))
使用(StreamReader reader =新的StreamReader(stream))
{
stringToPrint = reader.ReadToEnd();
}
}
私有void printDocument1_PrintPage(object sender,PrintPageEventArgs e)
{
//int charactersOnPage = 0;
//int linesPerPage = 0;
////将characterOnPage的值设置为stringToPrint的字符数
///
//e.Graphics.MeasureString(stringToPrint,this.Font,
//e.MarginBounds.Size,StringFormat.GenericTypographic,
//out characterOnPage,out linesPerPage);
////在页面范围内绘制字符串
//e.Graphics.DrawString(stringToPrint,this.Font,Brushes.Black,
//e。 MarginBounds,StringFormat.GenericTypographic);
////删除已打印的字符串部分。
//str ingToPrint = stringToPrint.Substring(charactersOnPage);
////检查是否要打印更多页面。
//e.HasMorePages =(stringToPrint.Length> 0);
//打印单词doc
System.Diagnostics.Process printProcess =新的System.Diagnostics.Process();
printProcess.StartInfo.FileName = @" D:\ CPP Net 2010 \ DotNETPrint \ bin \ Debug \ don.rtf";
printProcess.StartInfo.Verb ="打印";
printProcess.StartInfo.CreateNoWindow = true;
printProcess.Start();
} < br>
私有无效printButton_Click(对象发送者,EventArgs e)
{
ReadFile();
try
{
printDocument1.Print();
}
catch(Exception ex)
{
MessageBox.Show(" ERROR:" + ex.Message);
}
}
}
}
行得通吗?
唐
好。 我尝试测试此来源。
但是我不知道它是否正确。...
我使用" TEST PRINT"文本制作don.rtf文件。
此图像输出在printDocument1_PrintPage()中不带有"//" >否则,将打印两页。第一页为'TEST PRINT'。第二页为空白。
谢谢。
img-9083.jpg
使用RTF文件而不是文本文件 因此,将其格式化并查看页边距是否正确。
Don
一周热门 更多>