XWPFDocument - Создание внешней гиперссылки - путь отображается как "localpath + url". Мне нужно только, чтобы он был записан как "url" - PullRequest
0 голосов
/ 21 октября 2019

Мне нужно было добавить внешний URL-адрес в текстовый документ с помощью Apache POI. Я нашел и использовал следующий код: https://stackoverflow.com/a/22456273/7896122

Тем не менее, там ссылка не открыта на некоторых машинах, и я предполагаю, что это потому, что она написана в формате: [local path of the file]/[url], а мне нужно только этокак [url].

Это происходит где-то внутри этого метода, но я не обладаю достаточными знаниями об Apache POI, чтобы понять, что именно мне нужно изменить:

private 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 });

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