Crystal Reprot如何实现不挑打印机的A4纸横向打印

ccc3669 2003-08-28 10:35:38
各路高手:请问水晶报表如何实现不挑打印机的A4纸横向打印?我用的是.net自带的Crystal Reprot,在设计打印模版时非要在"打印机设置"中选择某种型号的打印机才能设计A4纸横向打印模板,而实际应用时如果是另外一种打印机的话数据就打印不出来了!
...全文
366 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
haibodotnet 2003-10-22
  • 打赏
  • 举报
回复
这里有答案,下载后在 PDF 里搜索 web print……

Crystal Reports for Visual Studio .NET高级编程
英文版 Ebook 下载:
http://www.crystaldecisions.com/products/dev_zone/downloads/wrox4_report_integration_web.pdf
好运 2003-10-20
  • 打赏
  • 举报
回复
mark
haibodotnet 2003-10-20
  • 打赏
  • 举报
回复
Crystal Reports:打印机驱动程序依赖性
http://support.crystaldecisions.com/communityCS/TechnicalPapers/scrprinterdependency.pdf.asp?recDnlReq=Record&dnlPath=scrprinterdependency.pdf
该文档讨论如何设计报表,以在不同计算机上实现一致的打印效果。包括可行的解决方案,技巧,诀窍,以及设计标准。
ccc3669 2003-10-20
  • 打赏
  • 举报
回复
我在打印时提供了“选择打印机”对话框,问题是如果我设计打印模板时选择了某种打印机而用户使用时系统中没有我设计打印模板的打印机怎么办??所以我想知道可否不选择某种打印机而设计通用的横向打印模板。
haibodotnet 2003-09-25
  • 打赏
  • 举报
回复
2、如果您的报表是您所分发的应用程序的一部分,则可以提供一个“选择打印机”对话框。使用该对话框,您报表的用户便可以选择正确的打印机或根据需要将打印机重命名。

默认打印机

  一般而言,最好不要选择特定的打印机。尽管该打印机可能与默认打印机相同,但打印机的识别方式对于不同的操作系统仍可能不同。

  例如,一台 HP Laser III 打印机安装在三个不同的操作系统上。

  对于 Microsoft Windows 98,打印机名称可以更改,所以 HP Laser III 为 Front Reception Printer,但打印机驱动程序将列为 HPPCL5MS.DRV。
  对于 Microsoft Windows NT,打印机名称也可以由用户引用和更改,但打印机驱动程序则始终为 WINSPOOL。

  如果选择特定的打印机,则 Crystal Reports 根据名称查找该打印机。如果找不到所选择的打印机,则选择默认打印机,从而带来打印不一致的可能性。

  当选择特定的打印机时,如标签打印机或专用于打印发票的打印机,其打印机名称必须与在其上设计报表的打印机的名称相同。请明白打印该报表的任何用户必须使用同一台打印机,否则他们将遇到一些问题。

  如果您的报表是您所分发的应用程序的一部分,则可以提供一个“选择打印机”对话框。使用该对话框,您报表的用户便可以选择正确的打印机或根据需要将打印机重命名。
haibodotnet 2003-09-25
  • 打赏
  • 举报
回复
解决方案:

1、更新打印机驱动程序
  为维护性能,Crystal Reports 向打印机驱动程序查询每一个字体元素(字体量度),如平均字符高度、字符宽度、上行字母和下行字母的高度、内部起始等等。
  如果使用一个旧的打印机驱动程序而该驱动程序不精确返回字体量度的话,则可能发生问题。
  如果打印时遇到问题(丢失字段、不正确的格式化等等),建议您获取并安装打印机的最新更新的驱动程序。
  在很多情况下,较新的打印机驱动程序能提供精确的字体量度,并且能快速解决任何打印问题。
haibodotnet 2003-09-25
  • 打赏
  • 举报
回复
由于打印机驱动程序造成的不一致
打印时,如果使用不同的打印机驱动程序来创建和打印报表,则可能产生不一致。这些不一致是由于个体打印机驱动程序所用来度量字体大小之类的文本量度的方法不同的结果。打印时,基于文本的对象可能未对齐、被截断或相互重叠着打印。基于文本的对象的示例包括字符串或字符字段、文本对象、备注字段、数字字段和公式字段。

以下情况下可能发生这类问题:

拥有两台相同的打印机,但使用的打印机驱动程序不同。
拥有两台不同的打印机,使用的打印机驱动程序相同。
拥有两台不同的打印机,使用的打印机驱动程序不同。
拥有一个使用 TrueType 字体的打印机驱动程序和另一个将 TrueType 字体映射为 PostScript 字体的打印机驱动程序。
拥有两台使用相同打印机驱动程序的同样的打印机,但每一台都在不同的 Microsoft Windows 版本中打印。
拥有两台使用相同打印机驱动程序的同样的打印机,但两个打印机驱动程序为不同版本。
拥有两台相同的打印机、两个相同的打印机驱动程序和两个相同的操作系统,但视频驱动程序的分辨率不同。
因此,虽然使用某个打印机驱动程序的文档可能需要六整行来显示一个文本块:

使用第二个将字体度量得较窄的打印机驱动程序可能导致同样的文本块需要不足六整行。
使用第三个将字体度量得较宽的打印机驱动程序可能需要多于六整行。
一般来讲,这种情况无法避免。报表发行人的目标是设计适应打印机驱动程序相关性的报表,且这样的报表使用不同的打印机驱动程序仍能一致地打印。为实现这一点,Crystal Reports 提供几种设计解决方案。如果创建报表时考虑了这些解决方案,则可以确保报表在几乎任何环境中都能正确打印和分发。
softye 2003-09-22
  • 打赏
  • 举报
回复
呵呵 要分!!
luckyljt123 2003-08-28
  • 打赏
  • 举报
回复
帮你UP

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧