我有以下代码
0. templatePage = (PDPage) PDDocument.load(file).getDocumentCatalog().getAllPages().get(0);
1. ...
2. document.importPage(templatePage); //first page
3. ... //draw stuff
4. document.importPage(templatePage); //next page
5. ...
Run Code Online (Sandbox Code Playgroud)
如果在第3行,我只画了一些东西,那么一切正常.但是,如果我画了很多东西,那么我得到:
Index: 12, Size: 0. Stacktrace follows:
java.lang.IndexOutOfBoundsException: Index: 12, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:635)
at java.util.ArrayList.get(ArrayList.java:411)
at org.apache.pdfbox.io.RandomAccessBuffer.seek(RandomAccessBuffer.java:84)
at org.apache.pdfbox.io.RandomAccessFileInputStream.read(RandomAccessFileInputStream.java:96)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at org.apache.pdfbox.pdmodel.PDDocument.importPage(PDDocument.java:654)
at xxx.PdfReport.breakPage(PdfReport.java:145)
at xxx.PdfReport.print(PdfReport.java:84)
Run Code Online (Sandbox Code Playgroud)
上面的代码在95%的情况下工作,只有当页面真的满时才会出现问题.
如果在第2行和第4行.我使用
document.addPage(new PDPage());
Run Code Online (Sandbox Code Playgroud)
然后它工作正常.但目标是使用模板pdf.
| 归档时间: |
|
| 查看次数: |
1528 次 |
| 最近记录: |