2016-06-16 3 views
0

Я пытаюсь удалить первую страницу каждого PDF-документа в папке.PDFBox не удаляет первую страницу

Мой код:

File folder = new File("//home//linux//Desktop//f"); 
File[] fileParts = folder.listFiles(); 
PDDocument document = null; 
for (File pdf : fileParts) { 
    try { 
     document = PDDocument.load(pdf, ""); 
     if (document.isEncrypted()) { 
      document.setAllSecurityToBeRemoved(true); 
      System.out.println("decrypted"); 
     } 
     document.removePage(0); 
     document.save(pdf.getName()); 
     document.close(); 
    } catch (Exception e) { 
     System.out.println("error: " + e.getMessage() + "\n" + e); 
    } 
} 

Код не показывает какую-либо ошибку или проблему, но это не снимает первую страницу. Есть ли что-то, что мне не хватает?

+0

«Что-то мне не хватает» - Да, номер версии :-) –

+0

@TilmanHausherr, вы имеете в виду 'document.setVersion (float)'? Это тоже не помогло. версии документа были «1.4» и «1.5». Я установил его '2', и ничего не изменилось. Кстати, я использую 'pdfbox-app-2.0.0'. –

+0

Я просто хотел узнать версию программного обеспечения, спасибо. –

ответ

0

Изменение этой линии

document.save(pdf.getName()); 

к этому:

document.save(pdf.getAbsolutePath()); 

Причина: ваш текущий код сохранен в формате PDF в текущей директории вашего приложения, а не в //home//linux//Desktop//f.

+0

Ох. Я также думал о том, где он сохраняет новый файл. Спасибо за помощь. –

Смежные вопросы