The method getInstance(Document, OutputStream) in the type PdfWriter is not applicable for the arguments (Document, FileWriter)
时间: 2024-10-23 18:12:19 浏览: 24
`PdfWriter.getInstance()` 是 Apache PDFBox 库中的一个静态方法,它用于初始化 `PdfWriter` 对象,该对象负责向指定的输出流(如 `OutputStream` 或 `FileOutputStream`)写入 PDF 数据。当你看到错误消息 "The method getInstance(Document, OutputStream) in the type PdfWriter is not applicable for the arguments (Document, FileWriter)",这意味着你在尝试将 `FileWriter` 类型作为第二个参数传递给这个方法,而这并非 `getInstance()` 定义所允许的。
`PdfWriter` 需要的是 `OutputStream` 实例,比如从文件、网络连接或内存中获取的输出流,而 `FileWriter` 是一个用于将文本数据写入到文件中的,它包装了底层的 `FileOutputStream`。你应该先将 `FileWriter` 转换成 `FileOutputStream` 或者直接传递 `FileOutputStream` 到 `PdfWriter.getInstance()` 中,以便正确地写入 PDF 到指定的文件。
正确的代码片段应该是这样的:
```java
FileOutputStream fos = new FileOutputStream("output.pdf");
PdfWriter.getInstance(document, fos);
```
阅读全文