2016-06-20 12 views
1

XWPFのテキストをハイパーリンクとして書式設定する必要があります。以下のコードで段落に追加することができますが、別の行に追加します。XWPFRunにハイパーリンクを追加する方法

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(); 

ここセンターは、私は関数が文字列形式で出力が得られますprint.Theに必要な値を保持するオブジェクトです。次のように

私が手出力は次のようになります。

Program Output

私は、ハイパーリンクが同じ行になりたい前回の実行などのテキスト「アップロードファイル:」生成

答えて

0

これを行を配置するのに十分なスペースがなかったため、次の行に行く途中で間違いでした。

関連する問題