itextpdf-PdfStamper写入文件流到ByteArrayOutputStream注意事项

itextpdf-PdfStamper写入文件流到ByteArrayOutputStream注意事项

1、前情提要

最近做项目时有个需求,把图片合成pdf并且加水印,然后通过base64返回到前端。本来想的很简单,使用PdfStamper,把参数FileOutputSteam换成ByteArrayOutputSteam。之后通过toByteArray()返回字节数组。最后在转成base64字符串。

java 复制代码
baos = new ByteArrayOutputStream();
stamper = new PdfStamper(reader, baos );
...一系列其他操作
bytes = baos .toByteArray();

2、通过上述代码获取到的byte[]数组一直为空,可是当我使用FileOutputStream时,又能正确的输出文件,百思不得其解,折腾了好几个小时。
3、通过我不断努力,不停的搜来搜去,终于找到了一个靠谱的回答,创建PdfStamper之后,立即

获取字节数组baos .toByteArray(),是获取不到的,需要先执行stamper.close()操作。

java 复制代码
baos = new ByteArrayOutputStream();
stamper = new PdfStamper(reader, baos );
...一系列其他操作
// 执行关闭操作
stamper.close()
bytes = baos .toByteArray();

参考

https://stackoverflow.com/questions/61270495/save-pdf-to-bytearray-using-itext-in-java
小尾巴~~

只要有积累,就会有进步

相关推荐
大卡拉米2 小时前
前端组件库 PDF、word、Excel预览
前端·pdf·word
dagouaofei21 小时前
全面整理6款文档生成PPT工具,PDF转PPT不再难
python·pdf·powerpoint
yesyesyoucan1 天前
PDF全能处理站:压缩、拆分、合并一站式解决方案与核心技术解析
pdf
sunon_1 天前
解决linux系统PDF中文乱码问题
linux·运维·pdf
小灰灰搞电子1 天前
Qt PDF模块详解
数据库·qt·pdf
TextIn智能文档云平台1 天前
如何将公司内部知识库(Word/PDF)接入大模型?
pdf·word
HSJ01701 天前
PDF专业转换工具 - 专业版V0.1,PDF转图片、拆分、合并,高效稳定可靠,永久免费使用
pdf
dagouaofei1 天前
文档生成PPT到底快不快?PDF转PPT工具实测分析
python·pdf·powerpoint
轻竹办公PPT2 天前
上传PDF直接生成PPT,适合工作汇报和总结场景
python·pdf·powerpoint
非凡ghost2 天前
FlexiPDF(专业PDF编辑软件)
windows·学习·pdf·软件需求