我有一个 servlet,它向请求用户返回一个 PDF 文档。从浏览器调用时,PDF 文档会自动下载。 现在我需要从 Java(独立代码,而不是服务器端)调用这个 servlet。此 Java 代码获取 PDF 文档后,需要使用 Apache PDF Box API 将其转换为图像。
这就是我的 Java 代码的样子。它将字节写入屏幕。
URL url = new URL("http://localhost:8080/Stream/Document&type=pdf");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String line = in.readLine();
System.out.println( line );
in.close();
这就是将其转换为图像的代码的样子
String pdfFileName = "myfile.pdf";
PDDocument document = PDDocument.load(new File(pdfFileName));
现在我需要将这两者结合起来,以便将下载的 PDF 文件(在内存中,不希望将其写入文件系统)转换为 JPG。因此,我需要以某种方式将 BufferedReader 对象转换为 File 对象,并将其作为输入传递给 PDDocument,而不是传递硬编码的文件名。
我无法弄清楚这种转换是如何发生的。
最佳答案
From the docs , PDDocument
也可以从字节数组或 InputStream
加载。
因此,只需使用来自 url
的输入流并将其传递给 PDDocument.load(InputStream)
。
关于java - 将 BufferedReader 转换为文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39165469/