java - 如何从多部分文件中获取文件,以便可以创建PDImageXObject?

标签 java grails pdfbox

我正在使用apache pdfbox从图像创建pdf。我从表单提交中获得图像。我将其转换为BufferedImage。我需要从该图像创建PDImageXObject。有没有办法将此文件转换为File对象,以便可以使用PDImageXObject.createFromFileByContent方法?

 def f = request.getFile('file')

 InputStream inputStream = f.getInputStream()

 BufferedImage bimg = ImageIO.read(inputStream);
 float width = bimg.getWidth();
 float height = bimg.getHeight();
enter image description here
我感谢任何见解。

最佳答案

如果您坚持要使用本地文件(而不是更新PDFBox版本,这是最佳做法),那么下面是一些代码:

Path tempPath = Files.createTempFile("pdfbox", null);
Files.copy(inputStream, tempPath, StandardCopyOption.REPLACE_EXISTING);

System.out.println(tempPath);

// do stuff with that file

// delete when done        
Files.delete(tempPath);
要将Path对象转换为File对象,请使用tempPath.toFile()

关于java - 如何从多部分文件中获取文件,以便可以创建PDImageXObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64149549/

相关文章:

java - PDFBox - 覆盖正在旋转的内容

java vs. php 以 html 形式使用 post

java - 以天、时、分、秒显示期间

java - 类项目 - 无法理解我做错了什么

Grails 2.0 和 servletContext

grails - 全局@Resource格式优先级

javascript - 如果弹出窗口被打开,则禁止刷新

java - 当尝试查找字符串中的第一个非重复字符时,方法始终返回 null

java - 将 PDF 转换为 PNG - Java 10 给出的结果与 Java 8 不同

java - PdfBox - 使用获取字体信息