OAF_文件系列12_实现OAF导出PDF方式TemplateHelper
ap.paymentrequest.webui
PaymentRequestSignCO
http://wenku.baidu.com/link?url=ujbT5CHkeC1bAtUn9Nsm_FgVB4k4nAWwwlphukyPGKNoPv5cDjRONWAZmf6RejggMg9onxIg_Rqi_gKKV665EVffofZ3Ds_IdKh9Y3tsKZq
public void PrintPDF(OAPageContext pageContext, OAWebBean webBean,
CLOB xmlClob, String printType,
String paymentRequestId) {
HttpServletResponse response =
(HttpServletResponse)pageContext.getRenderingContext().getServletResponse();
// Set the Output Report File Name and Content Type
String contentDisposition;
String fileName;
try {
if ("INVOICE".equals(printType)) {
fileName = "后补发票";
} else {
fileName = "付款申请";
}
contentDisposition =
"attachment;filename=" + java.net.URLEncoder.encode(fileName,
"UTF-8") +
paymentRequestId + ".pdf";
response.setHeader("Content-Disposition", contentDisposition);
response.setContentType("application/pdf");
Reader inputReader = xmlClob.getCharacterStream();
OADBTransactionImpl oaTrans =
(OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction();
String templateName = "";
if ("CON".equals(printType)) {
templateName = "XVK_NO_CNT_PAYMENT_REQUEST";
} else if ("INVOICE".equals(printType)) {
templateName = "XVK_ADD_INV_PAYMENT_REQUEST";
} else {
templateName = "XVK_CONTRACT_PAYMENT_REQUEST";
}
TemplateHelper.processTemplate(oaTrans.getAppsContext(), "XVK",
templateName, "zh", "CN",
inputReader,
TemplateHelper.OUTPUT_TYPE_PDF,
null, response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
} catch (Exception e) {
response.setContentType("text/html");
throw new OAException(e.getMessage(), OAException.ERROR);
}
pageContext.setDocumentRendered(false);
}
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?