首先,我想感谢您查看此问题:)
我是AS400/JAVA开发的初学者。我想知道如何将spool文件列表转换为java,以及如何使用JT400将其从OUTQ转换为PDF。
有人能告诉我或给我示例java代码吗?
提前感谢!
将其一分为二。
一种是读取假脱机文件中的字符。我几年前就这么做了。我相信有一个SPoolFile类,在该类中,您需要搜索给定作业名称/用户名/作业编号三元组的实际假脱机文件,然后从该作业生成的潜在多个假脱机文件中选择一个。然后你需要转换它(我不得不在我们的主机上使用cp850作为代码页),但其余的都无法实现
第二个是生成一个PDF文件,其中包含读取的字符。这是一个纯Java的东西——我相信这是我使用的iText,它非常直接。
SpooledFile spooledFile = new SpooledFile(as400, splfName.trim(), Integer.parseInt(spoolFileNumber), jobName.trim(), jobUser.trim(), jobNumber.trim());
PrintParameterList printParms = new PrintParameterList();
printParms.setParameter(PrintObject.ATTR_WORKSTATION_CUST_OBJECT, "/QSYS.LIB/QWPDEFAULT.WSCST");
printParms.setParameter(PrintObject.ATTR_MFGTYPE, "*WSCST");
try {
InputStreamReader in = new InputStreamReader(spooledFile.getTransformedInputStream(printParms), "cp850");
char[] buf = new char[32767];
outputData = new StringBuilder();
if (in.ready()) {
int bytesRead = 0;
bytesRead = in.read(buf, 0, buf.length);
while (bytesRead > 0) {
outputData.append(buf, 0, bytesRead);
bytesRead = in.read(buf, 0, buf.length);
}
}
// System.out.println(sbuf.toString());
} catch (Exception e) {
e.printStackTrace();
}