211 Star 1.6K Fork 392

dromara / x-easypdf

 / 详情

在已PDF上增加水印报内存溢出

已完成
创建于  
2022-01-19 16:09

String filePath ="D:\权限设计方案.pdf";
String outPath ="D:\权限设计方案1.pdf";
XEasyPdfHandler.Document.load(filePath).setGlobalWatermark(
XEasyPdfHandler.Watermark.build("贵阳")
).save(outPath).close();

报内存溢出
java.lang.OutOfMemoryError: Java heap space

at java.util.Arrays.copyOf(Arrays.java:3236)
at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118)
at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
at java.io.OutputStream.write(OutputStream.java:75)
at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:334)
at org.apache.pdfbox.pdmodel.PDPageContentStream.showTextInternal(PDPageContentStream.java:514)
at org.apache.pdfbox.pdmodel.PDPageContentStream.showText(PDPageContentStream.java:476)
at wiki.xsx.core.pdf.mark.XEasyPdfDefaultWatermark.doDraw(XEasyPdfDefaultWatermark.java:215)
at wiki.xsx.core.pdf.mark.XEasyPdfDefaultWatermark.draw(XEasyPdfDefaultWatermark.java:162)
at wiki.xsx.core.pdf.doc.XEasyPdfPage.drawWatermark(XEasyPdfPage.java:630)
at wiki.xsx.core.pdf.doc.XEasyPdfPage.build(XEasyPdfPage.java:496)
at wiki.xsx.core.pdf.doc.XEasyPdfPage.build(XEasyPdfPage.java:437)
at wiki.xsx.core.pdf.doc.XEasyPdfDocument.initTarget(XEasyPdfDocument.java:703)
at wiki.xsx.core.pdf.doc.XEasyPdfDocument.getTarget(XEasyPdfDocument.java:582)
at wiki.xsx.core.pdf.doc.XEasyPdfDocument.save(XEasyPdfDocument.java:498)
at wiki.xsx.core.pdf.doc.XEasyPdfDocument.save(XEasyPdfDocument.java:484)
at wiki.xsx.core.pdf.component.XEasyPdfTextTest.testText7(XEasyPdfTextTest.java:109)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)

评论 (4)

平常心 创建了任务

经测试,未发现内存溢出情况,能否提供一下源pdf文档以便测试,谢谢

可以的
链接:https://pan.baidu.com/s/12Z2knkPTZpqL_HfjarNw6g
提取码:bjpo

较大PDF文件, 会有问题

已修复,下个版本一同发布,谢谢反馈

xsx 任务状态待办的 修改为进行中
xsx 任务状态进行中 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
1494292 xsxgit 1585187915
Java
1
https://gitee.com/dromara/x-easypdf.git
git@gitee.com:dromara/x-easypdf.git
dromara
x-easypdf
x-easypdf

搜索帮助