如何将PDFStamper转换为字节数组

3
在我的应用程序中,我需要读取现有的pdf并将条形码添加到现有的pdf中,并传递给输出流。这里的现有pdf就像一个模板。我使用iText jar来添加条形码。
我想知道将PdfStamper对象转换为字节数组或将PdfContentByte转换为字节数组的可能性。谁能帮忙解决这个问题?
1个回答

4
你的问题不够清晰。我猜想你想写入一个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 等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接