水晶报表打印(您好,在吗水晶报表的打印功能如何实现,谢谢)

本文目录
- 您好,在吗水晶报表的打印功能如何实现,谢谢
- 水晶报表 打印 内错误 尚未执行的操作
- 水晶报表的打印预览,是在visual studio2008中做的,C#WinForm做的
- 如何在水晶报表9中实现选择打印机打印
- 求助,批量打印水晶报表
- 水晶报表预览不能打印
- 水晶报表打印总多打一张空白页
- 水晶报表打印二维码怎么搞,求指导
- 关于水晶报表中的打印问题
您好,在吗水晶报表的打印功能如何实现,谢谢
如果想使用户能够打印在 Web 上访问的整个多页报表,您有下列选项:
1、使用Web 窗体 Viewer 工具栏上的“打印”按钮将报表导出为 PDF。
2、使用Web 窗体 Viewer 工具栏上的“导出”按钮,导出报表为可以由客户端的现有应用程序打印的格式。
3、使用PrintToPrinter 方法从服务器打印报表。
4、将报表作为一个连续的页提供以通过 Internet Explorer 浏览器在客户端启用打印。
如果用户无权访问打印导出的报表所需的应用程序,并且服务器端打印存在安全性或访问权限问题,您可能需要使用户能够从他们的浏览器打印报表。此方法将整个报表作为一个连续的页显示在 Web 窗体 Viewer 控件中,因而能够使用浏览器的打印功能。
在应用程序中,可以在现有 Web 窗体 Viewer 旁边添加一个按钮,该按钮可以将客户端重定向到新的、在浏览器中将整个报表显示为一个连续页的 Web 窗体 Viewer。可以对第二个窗体上的查看器进行格式化,以便禁用组树和工具栏,并将查看器的 SeparatePages 属性设置为 False。
注意 这种打印方法有一个局限,即无法控制页眉、页脚和分页符的定位。
crReportDocument = New Income_Statement()
CrystalReportViewer1.ReportSource = crReportDocument
CrystalReportViewer1.SeparatePages = False
CrystalReportViewer1.DisplayGroupTree = False
CrystalReportViewer1.DisplayToolbar = False
水晶报表 打印 内错误 尚未执行的操作
水晶报表确实经常出现这些BUG的,比如出现内出错,无法连接:错误的登录参数等。
一般步骤:
准备好想要打印的数据源;
制作用于规定打印结果样式的模板文件(.rpt);
创建用于打印的执行窗口Form1,并在其中放置一个CrystalReportViewer (第三方控件,来自SAP)
创建打印按键所在的Form2;
获取系统所能使用的打印机;
设置使用的打印机,及打印相关参数;
使用Form2调用Form1完成打印。
不过建议题主试试finereport,这个报表软件才是适合中国式复杂报表的软件,因为水晶报表相对于参考的是国外的开源报表,所以会经常出现问题,但是finereport就是按照国人的传统思维来设计的,打印什么的非常方便,后台也有很强大技术支持,建议题主试试。
水晶报表的打印预览,是在visual studio2008中做的,C#WinForm做的
水晶报表是个比较简单的东西,你所说的预览有没有数据那是.net平台为了体现你的报表样式而给你的预览,具体数据是根据你用报表专家选择的数据库中的数据而显示的,你可以这样理解。
1.你把你的预览和将来的数据要分开考虑,因为在水晶报表里主要的是格式而不是数据,也就是说,你可以在水晶报表里指定格式,同时为每个将来显示数据的部分指定字段名,具体的数据源,你可以先放一边。你可以利用自己建立的,这里关键的是你要把格式和数据源的字段名弄清楚了。
2.如果你设定好了报表格式后,你可以添加一个新窗体,在里面放置一个crystalreportview控件,这个是专门用来预览水晶报表用的。
假设该预览用新窗体名称为ReportView,crystalreportview类型控件名为 CryView
主窗体名称为MainForm,打印按钮名称为 btn_Print
水晶报表名称为 CryReport.rpt
则点击打印按钮后,调用ReportView窗体,代码如下
ReportView myRp= newReportView(ReportSqlStr);
myRp.ShowDialog();
上面的代入参数ReportSqlStr是你检索数据所用的sql语句
在ReportView的load事件里写上
...
ds = myConn.GetData("tmpTable", tmpSql);
CryReport myrpt = new CryReport();
myrpt.SetDataSource(ds);
CryView.ReportSource = myrpt;
CryView.RefreshReport();
以上tmpSql是从上一个窗体传过来的sql语句,ds是一个dataset
myconn是一个对象,执行tmpsql语句返回dataset,你也可以自己写。
tmpTable是一个自定义的ds里面的表名,
注意,tmptable里面的字段名必须包含报表里时的所有的字段名,否则就没有数据显示,如果报表时在某个位置指定了A字段,而在tmptable里没有A字段,则报表就那块地方就会空白。
具体打印和格式在CryView控件里都有,不需要另外写代码。
如何在水晶报表9中实现选择打印机打印
在水晶报表10中,无论是Windows App还是Web App都可以在按下打印按钮的时候选取指定打印机打印
但是在水晶报表9中,却没有这个效果
其实只要通过简单的设置,就可以实现这个效果
以下为水晶报表9.2+VB6环境
首先需要说明的是,你先要把你的模板对象设置为模块内享的
Private objCRApp As New CRAXDRT.Application ’水晶报表应用程序对象
Private objCRReport As New CRAXDRT.Report
中间需要使用objCRReport来实现你的报表加载
然后加入如下代码
’捕获打印事件
Private Sub CRViewer91_PrintButtonClicked(UseDefault As Boolean)
’不使用默认设置
UseDefault = False
’进行打印机设置
objCRReport.PrinterSetup Me.hWnd
’直接打印
objCRReport.PrintOutEx False
End Sub
说明:此种情况下如果设置打印机时选择了取消,那么仍然会打印.
求助,批量打印水晶报表
要实现批量打印首先排除传统的报表预览打印,只有通过循环报表关键字生成报表后直接打印,但C#中PrintToPrinter方法只能打印至服务器端打印机,通过在服务器端安装各客户端打印机驱动并提供用户选择打印机界面即可解决问题。
2.如果选择报表过多,循环势必过长,这样用户等待时间就长,为了让用户感觉等待时间为0可用后台进程处理,即把循环打印的方法放入新创建的进程中。
所以需要后台开发。
水晶报表虽然有批量报表打印功能,但是对于一次批量打印出多张不同报表,同一张报表采用不同参数多次打印等方式,均需经过单独编程才能实现;一些较简单的分片式报表打印仅支持纵向分页,不支持横向分页;不支持分栏打印;不支持一纸多页打印;不支持末页不足空行;支持缩放;支持精确打印;总体比较下来,水晶的这一功能没有FineReport好用.
水晶报表预览不能打印
水晶报表预览不能打印原因如下:
1、没有安装打印机驱动程序。
2、没有设置默认打印机,
3、水晶报表版本问题,使用的是较旧版本的水晶报表。
水晶报表打印总多打一张空白页
这个问题我也遇到过,解决方法的话如下:
Crystal 在asp.net下打印时默认为导出pdf格式打印,但检查发现导出该格式时存在1:导出空页现象(而且空页上还有一竖线);2: 因报表中有条码,导出或打印时会报错如下:“ 文件 C:\DOCUME~1\EPC_SE~1\ASPNET\LOCALS~1\Temp\DMS.Client.DMSClient.Repair.RR_Fiscal {0F7D0A60-7460-4E8C-ACAE-27ABBE428D7F}.rpt 内出错:尚未执行操作。”
经学习可将CrystalReportViewer的PrintMOde调为ActiveX格式,但需要作一些附加操作:
一、下载PrintControl.cab,并放置在网站上;
二、在Web.config中增加如下配置:
《configSections》
《sectionGroup name="businessObjects"》
《sectionGroup name="crystalReports"》
《section name="printControl" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" /》
《/sectionGroup》
《/sectionGroup》
《/configSections》
《businessObjects》
《crystalReports》
《printControl》
***隐藏网址***
《/printControl》
《/crystalReports》
《/businessObjects》
水晶报表打印二维码怎么搞,求指导
其实打印二维码就是打印个普通的图片,只不过这个图片可能来自于数据库,也可能来自于普通的文件,但是在打印之前,需要先生成一张二维码。水晶报表的话不是很清楚,用我现在用的finereport来说吧,也可以生成二维码,题主可以顺便参考下,应该差不多的。
1、导入第三方包
在eclipse中导入第三方包(barcode4j-light.jar),这是一款开源的条形码生成库,能够生成很多种编码的条形码,包括UPC码。自定义函数中可以直接调用该包中现成的方法来生成UPC条形码。
2、自定义函数类
新建一个类UPC,完整代码如下:
// 自定义函数生成UPC条形码
package com.fr.function;
import java.awt.image.BufferedImage;
import org.krysalis.barcode4j.impl.upcean.UPCABean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
import org.krysalis.barcode4j.tools.UnitConv;
import com.fr.script.AbstractFunction;
public class Upc extends AbstractFunction {
public Object run(Object args) {
if (args == null || args.length 《 1) {
return "参数不对,必须有一个参数";
}
try {
// 创建一个UPC编码生成器
UPCABean bean = new UPCABean();
// 设置条形码高度,BufferedImage.TYPE_BYTE_BINARY代表常量值12,可直接使用常量值
final int dpi = Integer.parseInt(args.toString());
bean.setModuleWidth(UnitConv.in2mm(1.0f / dpi));
bean.doQuietZone(false);
BitmapCanvasProvider canvas = new BitmapCanvasProvider(dpi,
BufferedImage.TYPE_BYTE_BINARY, false, 0);
// 创建条形码
bean.generateBarcode(canvas,args.toString());
canvas.finish();
// 返回图片显示
return canvas.getBufferedImage();
} catch (Exception e) {
e.printStackTrace();
}
return args;
}
}
3、编译自定义函数
编译Upc.java生成Upc.class文件,拷贝至报表环境目录%FR_HOME%/WebReport/WEB-INF/classes/com/fr/function下;将第三方包barcode4j-light.jar放在报表环境目录%FR_HOME%/WebReport/WEB-INF/lib文件夹下。
4、注册自定义函数
启动设计器,点击服务器》函数管理器,新增函数取名为Upc,选择Upc.class类,如下图:
5、Upc()函数的使用
重启服务器,在报表中使用公式=Upc(num1, num2),num1为需要生成条形码的数值,num2为生成的图片的高度。如在单元格中输入公式:=Upc(12345678912,100),预览便可以看到条形码了。
然后就可以打印下来了。
关于水晶报表中的打印问题
2种方式都可以实现
你可以自己加个cutePDF打印机 然后在里面按A4纸的比例去自己设置纸张, 如果大小变化了,就选择适应你需要打印东西大小的纸张,水晶报表自带的打印会自动帮你缩放。用WINDOWS的则不能自定义纸张大小,必须根据A4的大小设定你要打印的东西

更多文章:
qq 聊天记录查看器(手机QQ怎么能查一年前的聊天记录和图片)
2025年4月29日 05:40
itunes官方下载win7版64位(iTunes安装失败,需要64为版本的windows7 service pack 1或更高版本)
2025年12月30日 19:45
天天爱消除赚钱app(天天爱消除如何快速赚金币天天爱消除快速赚金币技巧)
2026年8月31日 09:40
飞剑问道txt下载(需要我吃西红柿的最新小说《飞剑问道》txt)
2026年10月4日 02:50
梦幻夫妻技能(《梦幻西游》手游怎么成为情侣 结婚有什么好处)
2025年5月28日 09:10
雷州升级同城游戏大厅下载(雷州半岛同城游戏是不是有两个版本的.有款图标是有个鼎的,谁有下载地址发我,谢谢)
2025年11月9日 23:00
新浪nba新闻(nba直播吧新浪(最新赛况、比分、新闻报道))
2026年11月1日 15:20















