如何将pdfstamper转换为字节数组

时间:2014-10-15 14:45:24

标签: arrays byte itext pdfstamper

在我的应用程序中,我需要阅读现有的pdf并将条形码添加到现有PDF并将其传递给输出流。这里现有的pdf就像模板一样。我正在使用iText jar添加条形码。

我想知道将PdfStamper对象转换为字节数组或PdfContentByte转换为字节数组的可能性。任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

你的问题不清楚。我假设您要写入ByteArrayOutputStream而不是FileOutputStream。有关如何在iText网站上进行此操作的不同示例。

例如,请参阅FormServlet示例:

// We create an OutputStream for the new PDF
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// Now we create the PDF
PdfStamper stamper = new PdfStamper(reader, baos);

然后在示例中,我们这样做:

// We write the PDF bytes to the OutputStream
OutputStream os = response.getOutputStream();
baos.writeTo(os);

如果你想要一个byte[],你可以这样做:

byte[] pdfBytes = baos.toByteArray();

我希望您的问题不是将PdfContentByte流写入byte[],因为这没有意义:内容流不包含任何资源,如字体,图片,表单XObjects等......