#java #text #itext7
#java #текст #itext7
Вопрос:
Например, в следующих строках установка фиксированного источника и назначения выполняется практически для каждого примера, который я нашел до сих пор.
...
public class FetchBookmarkTitles {
public static final String DEST = "./target/txt/bookmarks.txt";
public static final String SRC = "./src/main/resources/pdfs/bookmarks.pdf";
...
Изменение типа на что-то другое, кроме общедоступной статической конечной строки, не будет работать в качестве аргумента для, вызовет ошибку в следующей строке, которая подводит меня к проблеме. В долгосрочной перспективе я бы хотел, чтобы пользователь выбирал путь, а не имел фиксированный относительный путь.
PdfDocument pdfDoc = new PdfDocument(new PdfReader(SRC));
Комментарии:
1. Я не совсем уверен, что вы пытаетесь сделать, и вы не публикуете свою ошибку, но вы просмотрели в документах API множество разных конструкторов
PdfReader
? Вы можете использовать имя файла (String
), как в вашем примере кода, но вы также можете использоватьjava.io.File
илиjava.io.InputStream
. Смотрите api.itextpdf.com/iText7/java/7.1.12/com/itextpdf/kernel/pdf /…2. @Javier это скорее общий вопрос программирования, чем вопрос об iText. Параметр, передаваемый в
PdfReader
может быть любымString
, не обязательноstatic final String
. Поэтому сначала просто получите нужноеString
(путь к файлу) от пользователя, а затем передайте егоPdfReader
3. @AlexeySubach… Это именно то, что я сделал. Я передал строку с соответствующим файлом и получаю java.lang. Ошибка исключения NullPointerException. Похоже, что он принимает только тип, описанный в моем вопросе. Спасибо.
4. @AmedeeVanGasse Мне жаль, что это мой первый раз, потому что я обычно нахожу, что на решение где-то уже дан ответ. Я рассмотрю ваше предложение.
5. Опубликуйте свой код таким образом, чтобы он был воспроизводим для других людей.