次のようなリンクを含む 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
リンクにスタイルを追加しようとしましたが、失敗しました。form
と/を追加しようとしましたget action
-これは、最終的な PDF ですべてまたはテキストフィールドとして解釈されるため、さらに失敗しました。button
submit
input type="button"
submit
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 Me
ボタンは編集可能なテキスト フィールドに変換されます。