Как добавить изображения во время выполнения по выбору пользователя в pdf с apache pdfbox - PullRequest
0 голосов
/ 16 апреля 2019

Я работаю над проектом, где мне нужно добавить изображение выбора пользователя в PDF во время выполнения.У меня есть фиксированный набор изображений, пользователь может выбирать только из них.PDF генерируется с помощью Apache pdfbox, и я использую IDE NetBeans.

До сих пор я добавил изображение, прямо указав путь к каталогу и имя изображения, он работает нормально, но я застрял на том, какдобавить изображения по выбору пользователя и как указать путь? Как и какую переменную установить?

Ниже приведен код, который показывает, как я его реализовал.Надеюсь, это понятно.

if (finalpdf.Images != null){

//finalpdf is the pdf to write everything to
//User's choice will be stored in Images variable

PDImageXObject image = PDImageXObject.createFromFile("C:/Users/HP/PDFProject/../Room.png", pdf);
AddImages(content,image ,0,0 );
}



public static void AddImages (PDPageContentStream content,PDImageXObject image,float x, float y) throws IOException{

content.drawImage(image, x,y);

}

В конечном итоге у пользователя будет PDF-файл, в который он введет текст и добавит изображение по своему выбору.Текст сейчас не касается.В тестовом классе я передал значение переменной images как «Room.png», которое является одним из имен изображений.

1 Ответ

0 голосов
/ 16 апреля 2019

Вы можете использовать javafx (импорт javafx. *;) В java 8. Вам также нужна кнопка для открытия файла.

    button.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
            FileChooser fileChooser = new FileChooser();
            fileChooser.setInitialDirectory(Paths.get(System.getProperty("user.home")).toFile());
            final File file = fileChooser.showOpenDialog(scene.getWindow());
            if(null==file)
                return;
            System.out.println(file.getAbsolutePath());
        }
    });
...