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

只要有积累,就会有进步

相关推荐
小墨宝3 小时前
js 生成pdf 并上传文件
前端·javascript·pdf
热水养鲨鱼8 小时前
Java实现HTML转PDF(deepSeekAi->html->pdf)
人工智能·pdf·html
开开心心_Every20 小时前
体积小巧的 Word 转 PDF 批量工具
pdf
一眼青苔20 小时前
切割PDF使用python,库PyPDF2
服务器·python·pdf
zyk_5201 天前
前端渲染pdf文件解决方案-pdf.js
前端·javascript·pdf
IDRSolutions_CN1 天前
如何将 PDF 中的文本提取为 JSON 格式
java·经验分享·pdf·软件工程·团队开发
南博萬1 天前
java将pdf转换成word
java·pdf·word
zhishishe1 天前
2025 年免费 Word 转 PDF 转换器有哪些?
android·windows·pdf·电脑·word
.m2 天前
几种Word转换PDF的常用方法
pdf
前端开心果2 天前
vue实现静默打印pdf
前端·vue.js·pdf