我正在一个项目中,我需要在运行时在pdf中添加用户选择的图像。我有一组固定的图像,用户只能从中选择。 pdf是使用apache pdfbox生成的,而我使用的是netbeans IDE。
到目前为止,我已经添加了直接提供图像路径的图像和图像名称,它可以正常工作,但我一直坚持如何添加用户选择的图像以及如何指定路径?如何设置哪个变量?
以下是显示我如何实现它的代码。希望很清楚。
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文件,他将在其中输入文本并在给定的图像中添加选择的图像。目前不关心文本。 在测试类中,我将值作为“ Room.png”传递给了图像变量,这是图像名称之一。
答案 0 :(得分:0)
您可以在Java 8中使用javafx(import javafx。*;)。还需要一个按钮来打开文件。
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());
}
});