와 메시지 상자가 나는 PDF 문서의 아주 작은 공간에 아주 긴 문자열을 추가 할 수있는 방법을 찾아야합니다.유니 코드와 PDF 툴팁/iTextSharp
나는 iTextSharp을 사용하고 있습니다. 나는 이미 PdfAnnotation.CreateText()
과 함께 주석 주석 (풍선)을 추가하려고 시도했고 나는 그들이 보거나 일하는 방식이 맘에 들지 않았습니다. 그것은 페이지를 너무 무겁게 만들었고 (페이지 당 많은 코멘트가있었습니다) 그들의 행동은 여러면에서 이상했습니다 (Adobe에게 감사드립니다).
이제는 페이지의 '덩어리'나 자바 스크립트가있는 팝업 메시지 상자 (예 : http://www.codehacker.com/ITEXTSHARP/chap15.aspx#)에 간단한 툴팁을 추가하려고합니다. 그러나 실망스럽게도 Acrobat (?)은 이러한 상황에서 유니 코드 문자를 지원하지 않습니다. 예 : 나는이 작업을 수행 :
var javascript = new PdfAnnotation(
w, 200f, 550f, 300f, 650f,
PdfAction.JavaScript("app.alert('" + "Αρνάκι άσπρο και παχύ!" + "');\r", w));
chunk.SetAnnotation(javascript);
... 사용자가 청크를 클릭 할 때, 가장 좋은 경우에, 횡설수설와 메시지 박스가 팝업됩니다.
위의 코드 또는 내가 원하는 일을 할 수있는 또 다른 방법에 대한 유니 코드를 허용 만들기위한 모든 설정이 있습니까? 편집
: 지금 본
이 : 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()이 무엇을 생성해야하는지 모르지만, 마우스를 가리키면 팝업을 표시하는 작은 페이지가 나타납니다.
나는 다른 과부하도 보지 못했습니다! 감사! 이제 또 다른 작은 문제가 있습니다. 경고 기능의 텍스트에 "\ r \ n"이 포함되어 있으면 메시지 상자가 전혀 나타나지 않습니다."\ n"또는 "\ r"만 제거하려고했지만 작동하지 않습니다. 전체 "\ r \ n"을 제거 할 때만 작동합니다. : – NoOne
Ahh! val = val.Replace ("\ r \ n", "\\ r \ n n")를 사용하여 모든 것을 고쳐줍니다! 지금 감사합니다. Bruno. :) – NoOne
By 그런데 툴킷 (예 : Acrobat의 주석이 아닌 모든 Windows 응용 프로그램에 사용되는 툴팁)을 청크에 넣을 수있는 방법은 알고 있습니까? 내가 주석이나 링크 위에 마우스를 가져 가면 acrobat 표시 툴팁을 보았습니다. 그러나 첫 번째는 사용하고 싶지 않고 두 번째는 툴팁에 URL 만 표시 할 수 있습니다. – NoOne