在Struts 2中动态创建PDF

1 struts2

晚上好 ;

我有一个问题,我正在研究struts2 Web应用程序.我正在使用数据库动态创建PDF.我想在网页上显示它,但我不知道我是怎么做的,任何人都可以帮助我.

谢谢...

Die*_*mos 5

行动代码:

public class PDFAction extends ActionSupport {
    private InputStream inputStream;

public String getPDF(){       
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();

        PdfWriter.getInstance(document, buffer);

        document.open();
        Paragraph p = new Paragraph();
        p.add("INSTITUTO POLITÉCNICO NACIONAL, ESCUELA SUPERIOR DE CÓMPUTO, DIEGO A. RAMOS");

        document.add(p);
        document.close();

        inputStream  =  new ByteArrayInputStream(buffer.toByteArray());

   return SUCCESS;
}

public InputStream getInputStream() {
    return inputStream;
}

public void setInputStream(InputStream inputStream) {
    this.inputStream = inputStream;
}
}
Run Code Online (Sandbox Code Playgroud)

struts.xml中:

<action name="getPDF" class="action.PDFAction" method="getPDF">
       <result name="success" type="stream">
            <param name="inputName">inputStream</param> 
            <param name="contentType">application/pdf</param> 
            <param name="contentDisposition">filename="mypdf.pdf"</param> 
            <param name="bufferSize">2048</param>
        </result>
</action>
Run Code Online (Sandbox Code Playgroud)

尝试一下,它就像一个魅力,适合我.如果您有疑问,请阅读Struts 2提供的有关流结果类型的更多信息.答案很简单但很难实现.