gpt4 book ai didi

java - 将 pdfDocument 转换为 byte[] 流 - PDFBox Java

转载 作者:行者123 更新时间:2023-12-02 01:34:23 25 4
gpt4 key购买 nike

我正在使用 PDFBox 更新可编辑 PDF 的值。我不想保存,而是想返回流。我保存了,一切正常。现在我想返回 byte[] 而不是保存它。

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.serialize,但未能序列化它。

Failed to serialize object of type: class org.apache.pdfbox.pdfmodel.PDDcoumemt

最佳答案

使用重载的save接受 OutputStream 并使用 ByteArrayOutputStream 的方法。

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

关于java - 将 pdfDocument 转换为 byte[] 流 - PDFBox Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55450632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com