为了账号安全,请及时绑定邮箱和手机立即绑定

将文档转换为字节 [] 流 - Java

将文档转换为字节 [] 流 - Java

湖上湖 2022-09-14 09:47:31
我正在使用 更新可编辑 PDF 的值。我想返回流,而不是保存。我保存了它,它工作正常。现在我想返回而不是保存它。PDFBoxbyte[]public static void main(String[] args) throws IOException{    String formTemplate = "myFormPdf.pdf";    try (PDDocument pdfDocument = PDDocument.load(new File(formTemplate)))    {        PDAcroForm acroForm = pdfDocument.getDocumentCatalog().getAcroForm();        if (acroForm != null)        {            PDTextField field = (PDTextField) acroForm.getField( "sampleField" );            field.setValue("Text Entry");        }        pdfDocument.save("updatedPdf.pdf"); // instead of this I need STREAM    }}我试过了,但它无法序列化它。SerializationUtils.serializeFailed to serialize object of type: class org.apache.pdfbox.pdfmodel.PDDcoumemt
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

使用接受 的重载保存方法,并使用 。OutputStreamByteArrayOutputStream


public static void main(String[] args) throws IOException

{

    String formTemplate = "myFormPdf.pdf";


    try (PDDocument pdfDocument = PDDocument.load(new File(formTemplate)))

    {

        PDAcroForm acroForm = pdfDocument.getDocumentCatalog().getAcroForm();


        if (acroForm != null)

        {


           PDTextField field = (PDTextField) acroForm.getField( "sampleField" );

           field.setValue("Text Entry");

        }


        ByteArrayOutputStream baos = new ByteArrayOutputStream();

        pdfDocument.save(baos);

        byte[] pdfBytes = baos.toByteArray(); // PDF Bytes

    }

}


查看完整回答
反对 回复 2022-09-14
  • 1 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信