1

我想将 XWPF Run 的文本格式化为超链接。我可以使用下面给出的代码将其添加到段落中,但将其添加到单独的行中。

 public static void appendExternalHyperlink(String url, String text, XWPFParagraph paragraph){

    //Add the link as External relationship
    String id=paragraph.getDocument().getPackagePart().addExternalRelationship(url, XWPFRelation.HYPERLINK.getRelation()).getId();

    //Append the link and bind it to the relationship
    CTHyperlink cLink=paragraph.getCTP().addNewHyperlink();
    cLink.setId(id);

    //Create the linked text
    CTText ctText=CTText.Factory.newInstance();
    ctText.setStringValue(text);
    CTR ctr=CTR.Factory.newInstance();
    ctr.setTArray(new CTText[]{ctText});
    CTRPr rpr = ctr.addNewRPr(); 
    CTColor colour = CTColor.Factory.newInstance(); 
    colour.setVal("0000FF"); rpr.setColor(colour); 
    CTRPr rpr1 = ctr.addNewRPr(); rpr1.addNewU().setVal(STUnderline.SINGLE);

    //Insert the linked text into the link
    cLink.setRArray(new CTR[]{ctr});
}

我像这样调用它:

XWPFParagraph eduPara = doc.createParagraph();
eduPara.setAlignment(ParagraphAlignment.LEFT);
eduPara.setVerticalAlignment(TextAlignment.TOP);

XWPFRun eduRun7 = eduPara.createRun();
appendExternalHyperlink(center.getEduImpFile(), center.getEduImpFile(), eduPara);
eduRun7.addBreak();

这里中心是一个对象,它保存我需要打印的值。get 函数以字符串格式提供输出。

我得到的输出如下:

程序输出

我希望超链接与上一次运行在同一行中生成文本“文件上传:”

4

1 回答 1

0

这是我的一个错误,因为它要进入下一行,因为没有足够的空间来放置该行。

于 2016-12-02T21:15:30.373 回答