C#下水晶报表打印自定义纸张
在VB6中,如果要自定义纸张很方便:
Rpt.PaperSize = crPaperUser
Rpt.SetUserPaperSize lZZG, lZZK
但在C#中却不行了,没有发现 SetUserPaperSize。现在同事的问题是预览时很正常显示中一刀,但点击自带的工具栏打印时,就是 Letter 纸。
本想用 Reflector 跟踪出是否有哪个地方可以利用的,没有结果。
再找网络上的说法,终于在
http://www.cnblogs.com/zeroone/p/3306172.html
中看到关键一行
rptDoc.PrintToPrinter(1, true, 0, 0);
它有一行:PrinterSettings printerSettings = document.PrinterSettings;
而系统自带的工具栏打印时,则是
PrinterSettings settings = new PrinterSettings();
CrystalDecisions.Windows.Forms.CrystalReportViewer
public virtual void PrintReport()
{
this.pageView.PrintReport();
}
CrystalDecisions.Windows.Forms.PageView
public virtual void PrintReport()
{
ReportDocumentBase activeDocument = this.GetActiveDocument();
if (activeDocument != null)
{
activeDocument.Print();
}
}
CrystalDecisions.Windows.Forms.ReportDocumentBase
public void Print()
{
}
想代替,但里面的代码引用了较多私有方法(如:GetLastPageNumber)
如果能重写 PrinterSettings 将是无比兴奋。
但是,没有成功
namespace CrystalDecisions.Windows.Forms
{
class PrinterSettings : System.Drawing.Printing.PrinterSettings
{
public PrinterSettings()
: base()
{
// 它是只读的,另一个对应变量又是私有的
this.DefaultPageSettings = new PageSettings(this);
}
}
class PageSettings:System.Drawing.Printing.PageSettings
{
public PageSettings(System.Drawing.Printing.PrinterSettings printerSettings):base(printerSettings)
{
base.PaperSize = new System.Drawing.Printing.PaperSize("Temp", 100, 100);
}
}
}
C#下水晶报表打印自定义纸张的更多相关文章
- JS调用水晶报表打印翻页按钮事件
默认的水晶报表打印按钮.翻页按钮太小,并且样式不好调整,考虑自己做一个按钮,然后调用水晶报表的按钮事件. 在实际操作中发现可以在.net按钮的服务器端事件中调用翻页方法: CrystalReportV ...
- vb 水晶报表打印
vb里面的水晶报表打印控件:CrystalReportViewer 用到的dll文件: 水晶报表打印其实很简单,只要创建报表对象,再对其传递数据就可以打印出来.当然所传递的数据要与水晶报表设计里面的数 ...
- Java调用PDFBox打印自定义纸张PDF
打印对象 一份设置为A3纸张, 页面边距为(10, 10, 10, 10)mm的PDF文件. PageFormat 默认PDFPrintable无法设置页面大小. PDFPrintable print ...
- 关于vs2010下水晶报表的使用入门
关于vs2010下使用水晶报表了解情况记录如下: 1.首先vs2010不再自带水晶报表控件了,需要下载安装vs2010配套的水晶报表控件:CRforVS_13_0.这个控件安装很简单,基本上都选择默认 ...
- ASP.NET Dev ASPxGridView控件使用 ASP.NET水晶报表打印
1.ASPxGridView控件使用 2.ASP.NET水晶报表客户端打印 3.javascript打印 4.ASPxGridView根据Textbox查询 5. ASPxGridView 列宽 1. ...
- C#调用windows api控制打印机 状态获取 打印 自定义纸张 完整版
using System; using System.Text; using System.Runtime.InteropServices; using System.Security; using ...
- 水晶报表WEB方式下不打印的问题
水晶报表版本是10.2.3600.0,是vs2005自带的.功能原来正常,服务器重做后不能打印,但是导出功能正常. 研究的大概情况: 1.水晶报表的web相关代码位于\aspnet_client\sy ...
- VS2015环境下Crystal Reports(水晶报表)的安装使用
1.首先下载Crystal Reports13对于Visual Studio 2015支持的2个文件. CRforVS_13_0_17 CRforVS_redist_install_64bit_13_ ...
- C# WinForm开发系列 - Crystal Report水晶报表
转自:ttp://www.cnblogs.com/peterzb/archive/2009/07/11/1521325.html 水晶报表(Crystal Report)是业内最专业.功能最强的报表系 ...
随机推荐
- JS学习笔记12_优化
一.可维护性优化 1.添加注释 注释能够增强代码的可读性以及可维护性,当然,理想情况是满满的注释,但这不太现实.所以我们只需要在一些关键的地方添上注释: 函数和方法:尤其是返回值,因为直接看不出来 大 ...
- TypeScript:类(Classes)
返回TypeScript手册总目录 传统的Javascript关注的是函数(function)和基于原型(prototype-based)的继承作为构建可重复使用组件的基本方式,但是与更舒服地使用面向 ...
- 使用 Microsoft Fakes 进行单元测试
本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 在编写单元测试时,我们会遇到不同的外部依赖项,大体上可以分为两类: 依赖于接口或抽象类 依赖于具体类 ...
- Unity3D——相机跟随物体移动
public Transform target; public float moveSmooth=5f; Vector3 offset; void Start () { offset = transf ...
- [BTS] Faulting application name: BTSNTSvc.exe, version: 3.9.469.0, time stamp: 0x4c547e09
Log Name: ApplicationSource: Application ErrorDate: 8/22/2013 1:28:35 AMEvent ID: 1000Task Category: ...
- 利用nodejs模块缓存机制创建“全局变量”
在<深入浅出nodejs>有这样一段(有部分增减): 1.nodejs引入模块分四个步骤 路径分析 文件定位 编译执行 加入内存 2.核心模块部分在node源代码的编译过程中就编译成了二级 ...
- 常用dom对象
DOM:文档对象模型 --树模型 文档:标签文档,对象:文档中每个元素对象,模型:抽象化的东西 一:window: window.shuxing; 属性(值或者子对象): opener:打开当前窗口的 ...
- paip.指针 引用 c++ java的使用总结.
paip.指针 引用 c++ java的使用总结. ///////////////一般一个变量包括下面的信息 a.地址(指针) b.命名(引用,别名) c.变量内容.. 指针是一个变量的地址, ...
- Leetcode 234 Palindrome Linked List 链表
判断链表是否是回文. 我直接将链表的一半进行倒置,然后将两半的链表进行比较 /** * Definition for singly-linked list. * struct ListNode { * ...
- IOS开发之控件篇UITabBarControllor第一章 - 介绍
UITabBarControllor的基本样子 官方有个图介绍这个TabBar的结构,我们先来看看这个结构图 --------------------------------------------- ...