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
小尾巴~~

只要有积累,就会有进步

相关推荐
优化控制仿真模型13 小时前
【2026考研408】考研计算机408统考历年真题及答案解析PDF电子版(2009-2026年)
经验分享·pdf
南风微微吹15 小时前
2026年5月教资面试结构化、试讲真题及答案汇总PDF(中小幼全)
面试·pdf
南风微微吹19 小时前
2026年5月初级会计师考试真题试卷及答案解析完整版PDF
pdf
2501_9071368219 小时前
PDF格式电子发票合并A4纸打印
pdf·软件需求
优化控制仿真模型19 小时前
【2026年】初中英语考纲词汇表(1600词)PDF电子版
经验分享·pdf
南风微微吹1 天前
最新国考《行测+申论》历年真题及答案解析电子版pdf(2000-2026年)
pdf
wujian83111 天前
豆包导出pdf方法
人工智能·ai·pdf·豆包·deepseek·ai导出鸭
俊哥工具2 天前
鼠标自动连点怎么设置?详细教学,简单易懂!
python·django·pdf·计算机外设·virtualenv·pygame
2601_950316062 天前
塞尔达攻略+塞尔达设定集+塞尔达传说攻略
游戏·pdf·电视盒子
SunnyDays10112 天前
Java 实现 PDF 附件的添加与删除:四种实用方法
java·pdf·附件