zoukankan      html  css  js  c++  java
  • 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);
        }

  • 相关阅读:
    SQL 两张结构一样的表合并查询 .
    如何引用传递String Boolean 等,并改变他们的值
    SQL数据库还原时备份集中的数据库备份与现有的数据库不同的解决办法
    sqlserver查询指定树形结构的所有子节点
    TortoiseSVN 合并操作简明教程
    svn的merge使用例子
    svn merge部分的详细说明
    SVN使用方法总结
    spring中的aware接口
    spring是怎样面向接口编程的?
  • 原文地址:https://www.cnblogs.com/eastsea/p/4704041.html
Copyright © 2011-2022 走看看