打开动态生成的pdf作为html页面

时间:2014-11-26 09:09:25

标签: java hibernate pdf struts2

我正在开发Web开发项目 使用的IDE:Eclipse 语言:JAVA(使用的框架:hibernate,struts2)

我使用java创建了一个pdf文件,我希望将动态创建的pdf视为html页面。

这是我的代码

    public String SOSViewFile()
{

    try {
        HttpServletResponse response = ServletActionContext.getResponse();
        PDFGenerator pdf = new PDFGenerator();

        PDFGenerator generator=new PDFGenerator();


    /*    byte[] bytes = null;
        bytes = (generator.generatepdf(sosValues.getCmaId(), null)).toByteArray();

        //bytes = buffer.toByteArray();
        response.setContentLength(bytes.length);

        if (bytes != null) {
            bis = new ByteArrayInputStream(bytes);
        }*/

        baos=generator.generatepdf(sosValues.getCmaId(), null);
        bis = new ByteArrayInputStream(baos.toByteArray());

        PdfReader pdfReader=new PdfReader(bis);

        PdfStamper pdfStamper=new PdfStamper(pdfReader, baos);
        pdfStamper.setEncryption(null, null, PdfWriter.HideToolbar, PdfWriter.STRENGTH40BITS);
        pdfStamper.close();
        bis = new ByteArrayInputStream(baos.toByteArray());



        ///baos.close();






    } catch (Exception e) {
        e.printStackTrace();
    }




    return SUCCESS;
}

bis和baos

private InputStream bis;
private ByteArrayOutputStream baos;

请帮我将生成的pdf文件转换为html。

2 个答案:

答案 0 :(得分:0)

将生成的字节写入servlet响应的OutputStream,并将mime-type设置为application / pdf。

它不会将其转换为HTML(当然),但许多浏览器会直接打开它(YMMV)。

答案 1 :(得分:0)

可能对您有所帮助的工具是CSSBox/pdf2dom。它将pdf转换为html页面。