7

我的 HTML 包含以下链接:

<p class="Results">Web : 
SPLIT<a href="http://www.google.fr/">http://www</a>
SPLIT<a href="http://www.google.fr/">.google</a>
SPLIT<a href="http://www.google.fr/">.fr/</a>
</p>

我们正在使用 将 HTML 转换为 PDF flying-saucer

我打开以下结果的 PDF,链接不可点击。似乎href没有添加 s。

如果我删除这个词,链接是可点击的,但只是因为如果它们是有效的 URL SPLIT,内置阅读器会使它们可点击。link detector

任何想法为什么我的链接在最终 PDF 中被删除?

代码:

  ITextRenderer itextRender = null;
  Tidy tidy = new Tidy();
  tidy.setXmlOut(true);
  tidy.setShowWarnings(false);
  // tidy.setXmlTags(false);
  tidy.setInputEncoding(UTF_8_DN);
  tidy.setOutputEncoding(UTF_8_DN);
  tidy.setXHTML(true);//
  tidy.setMakeClean(true);

  dataStream = new ByteArrayInputStream(data);

  stream = new ByteArrayOutputStream(32 * 1024);

  Post process - Convert Html into Xhtml valid format
  org.w3c.dom.Document w3cDoc = tidy.parseDOM(dataStream, stream);

  itextRender = new ITextRenderer();
  itextRender.setDocument(w3cDoc, null);

  itextRender.layout();
  itextRender.createPDF(stream);

更新

我做了各种实验,但都失败了。我尝试将样式添加display:block到我的链接中 - 这失败了。我尝试添加一个formwithget actionbutton/ submit- 这更失败,因为 allinput type="button"或被submit解释为最终 PDF 中的文本字段。

return "<input type=\"button\" value=\"Click me\">" +
            "<form action=\"http://www.example.com\" method=\"GET\">\n" +
            "  <input type=\"submit\" /> \n" +
            "</form>"+
            "</input><a href=\"" + url + "\" title=\"" + linkContent + "\" target=\"_blank\" style=\"display:block\">" + linkContent + "</a>";

例如,Click MeButton 变成了一个可编辑的文本字段:

在此处输入图像描述 在此处输入图像描述

4

0 回答 0