PDF ドキュメントの非常に小さなスペースに非常に長い文字列を追加する方法を見つける必要があります。
iTextSharpを使用しています。私はすでにコメント注釈 (バルーン) を追加しようとしましPdfAnnotation.CreateText()
たが、それらの見た目/動作が気に入らなかったのです。ページが重くなりすぎ(ページごとに多くのコメントがありました)、それらの動作は多くの点で奇妙でした(アドビに感謝します)。
今、ページの「チャンク」にいくつかの簡単なツールチップを追加するか、javascript を使用してメッセージボックスをポップアップすることを考えていました (ここに示されているように: http://www.codehacker.com/ITEXTSHARP/chap15.aspx# )。しかし、非常に残念なことに、Acrobat (?) はそのような状況で Unicode 文字をサポートしていないようです。たとえば、私はこれを行います:
var javascript = new PdfAnnotation(
w, 200f, 550f, 300f, 650f,
PdfAction.JavaScript("app.alert('" + "Αρνάκι άσπρο και παχύ!" + "');\r", w));
chunk.SetAnnotation(javascript);
...そして、最良の場合、ユーザーがチャンクをクリックすると意味不明なメッセージボックスがポップアップします。
上記のコードでUnicodeを受け入れられるようにするための設定、または私が望むことを行う別の方法はありますか?
編集:
私は今これを見ました: https://stackoverflow.com/a/163065/964053 そして私はそのように私のコードを変更しようとしました:
var javascript = new PdfAnnotation(
w, 200f, 550f, 300f, 650f,
PdfAction.JavaScript((char)0xFEFF + "app.alert('" + "Αρνάκι άσπρο και παχύ!" + "');\r", w));
chunk.SetAnnotation(javascript);
しかし、何も変わらないようです...
EDIT2:
8進表現を使用(\141)
しても、どちらも役に立たないようです...
EDIT3: これは、ダブルクリックするまでうまくいくようですが、内容のサイズに基づいてツールチップのサイズ自体を作成する必要があります:
var lToolTip = PdfFormField.CreatePopup(
w, new Rectangle(tc.Left, tc.Bottom, tc.Right, tc.Top), val, true);
chunk.SetAnnotation(lToolTip);
提供された四角形は、まったく使用されていないようです...何かアイデアはありますか? PdfFormField.CreatePopup() が何を作成するのかはわかりませんが、マウスをその上に置くとポップアップが表示される小さなマークがページに表示されます。