Как заменить закладки в PDF на java и сохранить PDF, который заменил закладку, в формате TXT?

#java #pdf #pdfbox

#java #PDF #pdfbox

Вопрос:

Я хочу иметь возможность заменять закладки (содержимое) в документах PDF, таких как «1. Запустите » to «< 1. Пуск >» и сохраните замененный PDF в текстовых файлах.

Я использовал библиотеку pdfbox Java для завершения преобразования из PDF в txt. Затем я завершил извлечение закладок (содержимого) и сохранил все закладки со строкой, которая была успешно записана в текстовый файл. Но после того, как я преобразовал закладку (содержимое), я не смог успешно сохранить PDF, который преобразовал закладку.

     // Used to save bookmark strings
    private static String res = "";
    // Recursive calls to get bookmark
    private static void printBookmark(PDOutlineNode bookmark, int indentation) throws IOException {
        PDOutlineItem current = bookmark.getFirstChild();
        while (current != null) {
            res  = "<"   indentation   ">"   current.getTitle()   "n";
            // Can I add some code here to change the bookmark of the loaded PDDocument?
            // I tried to define temp_current, temp_bookmark to store the desired value and 
            // finally assign it to the PDDocument object, but it failed.
            printBookmark(current, indentation   1);
            current = current.getNextSibling();
        }
    }
  

Любые изменения в моих закладках не повлияли на файлы, которые я сохранил из PDF в txt.

Комментарии:

1. Вы имеете в виду оглавление на странице или закладки (контуры), которые Adobe показывает слева? Если позже, вы можете изменить их с помощью PDOutlineItem.setTitle() .

2. Да, я попробовал «current.setTitle («<» отступ «>» current.getTitle() «\ n»)»с его изменениями; но я не знал, как сохранить изменения в pdf, поэтому я не смог преобразовать измененный PDF в TXT.

3. Я только что попробовал, и это работает, контуры изменены. Вам нужно сохранить файл с помощью document.save(). Но имейте в виду, что оглавление на странице не связано. Это просто текст. Это не изменится «автоматически». imgur.com/a/RvAxiRk

4. Большое вам спасибо. Позвольте мне сначала попробовать.

5. Как создать текстовый файл?