首页 > 解决方案 > 如何将填充的 iText PDF 模板转换为输入流?

问题描述

我正在尝试使用现有的 PDF 模板和 iText 来填写文档,然后将文件发送到我们的数据库。

但是,我无法弄清楚如何将完成的 iText PDF 转换为可用的形式——我可以很容易地将它显示给用户,但我无法将其转换为 File、InputStream 甚至 byte[] 格式以上传到我们的数据库.

public ActionForward doIt(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws java.lang.Exception
{   


 int docid = Integer.parseInt(form.getDocumentTemplateId());
 byte[] byteTemplate = TemplateDb.getTemplate(docId);


    PdfReader pdfReader = new PdfReader(byteTemplate);
    PdfStamper pdfStamper = new PdfStamper(pdfReader, response.getOutputStream());
    AcroFields acroFields = pdfStamper.getAcroFields();         

    acroFields.setField(//And then I set my acro fields, which works fine);

 ByteArrayInputStream inByteStream = new ByteArrayInputStream(byteTemplate );

// This is me calling a separate function to upload the Input Stream - but all that the inByteStream object contains is a blank template
    DocumentManager.uploadDocument(inByteStream);        

    pdfStamper.close();

    pdfReader.close();              

}

标签: filetemplatespdffile-ioitext

解决方案


推荐阅读