从PDF中删除页面未按预期执行

时间:2017-11-22 12:49:09

标签: java pdf pdfbox

我编写了以下Java代码:

PDDocument document=PDDocument.load(file);
int noOfPages= document.getNumberOfPages();
System.out.println(noOfPages);
boolean bq=document.removePage(2);
System.out.println(bq);
boolean bq1=document.removePage(3);
System.out.println(bq1);
boolean bq2=document.removePage(4);
System.out.println(bq2);

将输出设为:

5
true
true
false

我无法理解为什么 4页面未被删除

当我只使用

boolean bq2=document.removePage(4);

工作正常,页面已从PDF中删除。

1 个答案:

答案 0 :(得分:0)

你有5页。它们的编号为0 1 2 3 4.删除第2页后,您有0页1 3 3.删除第3页后,您有0 1 2页。因此您无法删除第4页,因为它没有& #39; t存在。

解决方案是从最后一页#。

开始

另一种解决方案是在执行删除之前检索页面以获取PDPage对象,并将它们用作removePage的参数。