如何在不显示打印对话框的情况下使用 JRPrintServiceExporter 更改边距?

您所在的位置:网站首页 sap打印不出现打印对话框 如何在不显示打印对话框的情况下使用 JRPrintServiceExporter 更改边距?

如何在不显示打印对话框的情况下使用 JRPrintServiceExporter 更改边距?

2023-04-10 12:01| 来源: 网络整理| 查看: 265

如何在不显示打印对话框的情况下使用 JRPrintServiceExporter 更改边距? 日期:2023-02-25     浏览:219     【中文标题】如何在不显示打印对话框的情况下使用 JRPrintServiceExporter 更改边距?【英文标题】:How to change margins with JRPrintServiceExporter without showing the printing dialog? 【发布时间】:2019-12-30 16:36:50 【问题描述】:

我正在将 Jasper 报告打印到 Zebra 标签打印机。标签上有一个二维码和一个数字。如果我将报告导出到 PDF 文件并打印出来,它会打印得很好,但如果我直接从 Java 应用程序打印它,则不会显示数字。经过进一步测试,如果我直接打印它但如果我显示打印对话框并且如果我擦除边距,那么它也可以正确打印。我注意到该对话框为报告添加了非常重要的边距:右(mm):191,21 和底部(mm)229,66。

报告本身没有任何边距,并且确实按预期打印为 pdf 文件:

leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0"

但似乎在使用 JRPrintServiceExporter 打印时添加了以下代码:

JRPrintServiceExporter exporter = new JRPrintServiceExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, rpt); exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, true); // won't work if false exporter.exportReport();

如何以编程方式删除边距以便绕过打印对话框?

【问题讨论】:

你试过用 OffsetX/OffsetY 玩吗? 你可以看看:Changing the report margins using the API&Margins in 'Page Setup'&How to set printer margin in java&Making margins smaller - Java Printing&Java printing: creating a PageFormat with minimum acceptable margin 第一个链接中的偏移量问题实际上来自我,从 11 年前开始。哇...无论如何,我在您提供的第三个链接上找到了解决方案。谢谢! 【参考方案1】:

感谢 Alex K 提供的其中一个链接,在 cmets 中,我能够通过添加具有我需要的确切尺寸的新 MediaPrintableArea 来使其工作:

PrintRequestAttributeSet printReqAttr = new HashPrintRequestAttributeSet(); printReqAttr.add(new MediaPrintableArea(0f, 0f, 50f, 25f, MediaPrintableArea.MM)); exporter.setParameter(JRPrintServiceExporterParameter.PRINT_REQUEST_ATTRIBUTE_SET, printReqAttr);

【讨论】:

相关文章>

如何在不使用对话框的情况下在操作栏上方显示视图?

{】如何在不使用对话框的情况下在操作栏上方显示视图?【英文标题】:Howcouldidisplayviewaboveactionbarwithoutusingdialogs?【发布时间】:2013-01-3115:38:26【问题描述】:我想在包括操作栏在内的内容上显示渐变视图。我不能为此使用对话...}

如何在不将焦点转移到另一个窗口的情况下显示 MFC 对话框

{】如何在不将焦点转移到另一个窗口的情况下显示MFC对话框【英文标题】:HowtoshowaMFCdialogwithoutstealingfocusontheotherwindow【发布时间】:2010-01-2305:41:06【问题描述】:我的对话框显示为ShowWindow(hWnd,SW_SHOWNOACTIVATE);但是不行,新的对话...}

如何在不使用对话框的情况下为 C# 项目中的 MySQL 数据库设置连接字符串?

{】如何在不使用对话框的情况下为C#项目中的MySQL数据库设置连接字符串?【英文标题】:HowdoIsetupaconnectionstringforaMySQLdatabaseinaC#projectwithoutusingdialogboxes?【发布时间】:2010-12-2405:11:23【问题描述】:注意:显然,MySQL连接器安装没...}

如何在不显示文本的情况下分配 Win32 EDIT 控件的窗口名称?

{...目前正在根据外部应用程序请求的参数列表动态创建Win32对话框。换句话说,用户必须提供一些文本/布尔响应,这些响应会在单击“确定”后立即发送。因为EDIT和BUTTO}

如何在不使用平台特定功能的情况下打印 UTF-8 字符串?

{】如何在不使用平台特定功能的情况下打印UTF-8字符串?【英文标题】:HowtoprintUTF-8stringswithoutusingplatformspecificfunctions?【发布时间】:2012-02-0912:22:12【问题描述】:是否可以在不使用平台特定函数的情况下打印UTF-8字符串?#include...}

如何在不关闭先前活动的情况下从通知中打开对话框样式的活动?

{】如何在不关闭先前活动的情况下从通知中打开对话框样式的活动?【英文标题】:Howtoopendialogstyledactivityfromnotificationwithoutpreviousactivityclosing?【发布时间】:2013-04-0419:34:19【问题描述】:我有一个带有对话框样式的Activity,因此...}

如何在不重新打印的情况下更新终端中的打印消息

{】如何在不重新打印的情况下更新终端中的打印消息【英文标题】:Howtoupdateaprintedmessageinterminalwithoutreprinting【发布时间】:2010-11-2304:16:46【问题描述】:我想为我的终端应用程序制作一个进度条,其工作方式如下:[XXXXXXX]这将...}

如何在不同步的情况下使用多个线程(2、4、8、16 个线程)循环打印字符串(10,100、1000 个循环)?

{】如何在不同步的情况下使用多个线程(2、4、8、16个线程)循环打印字符串(10,100、1000个循环)?【英文标题】:HowcanIprintastringinaloop(10,100,1000cycles)usingmultiplethreads(2,4,8,16threads)withnosynchronization?【发布时间】:2019-10-1515:46:14【...}

如何在不输入属性名称的情况下遍历模型并打印

{】如何在不输入属性名称的情况下遍历模型并打印【英文标题】:Howtoloopthruamodelandprintwithouttypingthenameofproperties【发布时间】:2021-11-2220:46:10【问题描述】:我有一个包含20个属性的模型,例如publicclassSensorModelpublicstringTrigger1get;s...}

Java 打印机 API

{...javaSwing为医疗商店开发一个独立的应用程序。在没有打印对话框的情况下单击即可打印小尺寸(219mm至140mm)的芯片。他们需要时不时地将报告从不同的打印机打印到完整的A4页面。是否可以在不带打印机对话框的情况下使用JavaSE...}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3