java - 将图像附加到 RTF 文档

标签 java itext rtf

我正在尝试将图像添加到 rtf 文档中。我可以将图像添加到文档中,但无法附加任何图像。这意味着当添加第二个图像时,第一个图像将被删除。我认为每当执行代码时都会创建一个新的 rtf 文档。

public class InsertToWord {

    com.lowagie.text.Document doc = null;
    FileOutputStream evidenceDocument;
    String fileName = "evidenceDocument.rtf";
    settings obj = null;

    InsertToWord() {
        obj = new settings();
        doc = new com.lowagie.text.Document();

    }

    public void insertImage(File saveLocation) {

        try {
            evidenceDocument = new FileOutputStream(obj.getFileLocation() + fileName);
            RtfWriter2.getInstance(doc, evidenceDocument);
            doc.open();
            com.lowagie.text.Image image = com.lowagie.text.Image.getInstance(saveLocation.toString());
            image.scaleAbsolute(400, 300);
            doc.add(image);
            doc.close();
        } catch (Exception e) {
        }
    }
}

最佳答案

在 insertImage() 方法中,您确实正在创建一个新文件并覆盖旧文件。

这一行正在创建新文件:

evidenceDocument = new FileOutputStream(obj.getFileLocation()+fileName);

您可以将 FileOutputStream 作为参数传递给该方法,然后一起删除该行:

public void insertImage( FileOutputStream evidenceDocument , File saveLocation )

关于java - 将图像附加到 RTF 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10459314/

相关文章:

java - 在类数组中分配相同的字段

JavaFX 时钟数转换

java - Jasper 报表排除表中的列标题?

java - 签署 PDF 文档并以字节或流的形式获取 pdf

java - 使用 HTML 中的 ITextRenderer 在每个页面上添加页眉或页脚

RTF 页数 Page x of y

date - 在 .NET 中 RTF 日期戳转换为 DateTime 格式,反之亦然

java - 如何避免通用数组上的 @SuppressWarnings

java - 尝试在 android/java 中使用 odata4j 向 odata 服务器发帖时出现问题

c# - 在 Word (VSTO) 中并排比较两个 RTF 文档