java - JSP 中的 Crystal Report 自定义纸张大小
问题描述
我有一个编码程序,可以将一份晶体报告打印到如下标签打印机,其中纸张尺寸为 2.36" x 3.44"(我已在打印机首选项中设置了自定义此纸张尺寸),如何使打印输出与尺寸匹配以上?
这是我的代码:
<%@page import="com.crystaldecisions.sdk.occa.report.document.IPrintOptions"%>
<%@page import="com.crystaldecisions.sdk.occa.report.application.PrintOutputController"%>
<%@page import="com.crystaldecisions.sdk.occa.report.application.ParameterFieldController"%>
<%@page import="com.crystaldecisions.sdk.occa.report.document.PaperSize"%>
<%@page import="com.crystaldecisions.sdk.occa.report.application.ReportClientDocument"%>
<%@page import="com.crystaldecisions.sdk.occa.report.document.PrinterDuplex"%>
<%@page import="com.crystaldecisions.sdk.occa.report.document.PaperSource"%>
<%@page import="com.crystaldecisions.sdk.occa.report.document.PrintReportOptions"%>
<%@page import="com.crystaldecisions.sdk.occa.report.lib.ReportSDKException"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
String printerName = request.getParameter("j");
String val1 = request.getParameter("a");
try {
final String REPORT_NAME = "reportdoc.rpt";
ReportClientDocument reportClientDoc = new ReportClientDocument();
reportClientDoc.open(REPORT_NAME, 0);
ParameterFieldController paramFieldController =
reportClientDoc.getDataDefController().getParameterFieldController();
paramFieldController.setCurrentValue("", "spk", val1);
PrintReportOptions printOptions = new PrintReportOptions();
printOptions.setPrinterName(printerName);
printOptions.setJobTitle("Print Label");
printOptions.setPrinterDuplex(PrinterDuplex.horizontal);
printOptions.setPaperSource(PaperSource.auto);
printOptions.setNumberOfCopies(1);
PrintReportOptions.PageRange printPageRange = new PrintReportOptions.PageRange(1, 1);
printOptions.addPrinterPageRange(printPageRange);
reportClientDoc.getPrintOutputController().printReport(printOptions);
reportClientDoc.close();
out.print("Successfully sent report to the printer.");
} catch (ReportSDKException ex) {
out.println(ex);
}
%>
我添加了代码:reportClientDoc.getPrintOutputController().modifyUserPaperSize(34400, 23600);
但它不工作
解决方案
推荐阅读
- c# - MongoDB 更改流,如何在不使用 json 格式的情况下编写不同的匹配函数
- reactjs - number 没有使用 react.js 定义
- vue.js - @input 侦听器不适用于自定义组件
- r - 如何在 R 中使用类似命名的方法创建多个 S4 类?
- quarkus - quarkus.oidc.auth-server-url 用于测试和本地主机开发
- python-3.x - Python Difflib 库将差异写入新文件
- angular - Firestore 多个 orderBy(复合索引)找不到一些结果
- base64 - ContentBuilder.js v4 Innova Studio 中的 GIF 支持
- javascript - 列包含数组和空值时的架构详细信息?
- statistics - 分类变量的统计信息