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);
        }

  • 相关阅读:
    不会吧不会吧,还有开发不会Java填充PDF模板数据的,赶紧看看吧
    关于Redis分布式锁这一篇应该是讲的最好的了,先收藏起来再看!
    iOS-----后台运行
    iOS-----使用GCD实现多线程
    iOS-----线程同步与线程通信
    iOS-----多线程之NSThread
    iOS-----MFMessageCompose 和 MFMailComposeViewController的使用方法
    iOS-----使用AddressBookUI管理联系人
    iOS-----使用addressBook管理联系人之修改联系人
    iOS-----简易地CocoaAsyncSocket使用
  • 原文地址:https://www.cnblogs.com/eastsea/p/4704041.html
Copyright © 2011-2022 走看看