2017-01-23 9 views
0

VB.net에서 Adobe Acrobat Standard DC 2015 릴리스 (Classic), 버전 2015.006.3028 및 Visual Studio 2013 MVC5를 사용하고 있습니다. 이것은 사무실이므로 버전을 업그레이드 할 수는 없습니다..net에서 활성 PDF 밑줄 필드 인

activePDF에서 텍스트 입력 필드에 밑줄을 사용할 수 없다는 문제가 있습니다. 완벽한 것은 아니지만 내 문서에 대한 충분한 해결 방법을 발견했습니다.

다른 사람이 이것을하는 다른 방법을 알고 있다면 나는 매우 감사 할 것입니다.

특정 순서로 표시해야하는 문자열 목록이 있으며 줄 수는 다를 수 있습니다. 하지만 줄의 일부는 밑줄이 그어져야하는데, 나는 .net에서 FieldInfo 속성을 사용하여 할 수 없었습니다. .net 코드가 생길 때까지 문자열이 문서에 표시 될 특정 텍스트 입력 상자를 모르겠습니다. 문서 자체의 텍스트 입력 상자에는 밑줄 속성이 있습니다.

내가 발견 한 것은 하이퍼 링크 텍스트 주위에 하이퍼 링크 상자를 추가 할 수 있다는 것입니다. 왜 상자인지, 밑줄인지 모르겠습니다. 이 인스턴스의 텍스트는 실제 하이퍼 링크가 아니지만 내 사용자는 문서를 표시하고 인쇄하면됩니다. 선이 필요해.

높이가 1 인 하이퍼 링크 상자를 작성하여 이중 밑줄을 그립니다. 그리고 그것은 텍스트가 아닌 필드의 너비입니다. textWidth, fieldWidth 만 제공하는 속성을 찾을 수 없습니다. 나는 정말로 두꺼운 선을 만들기 위해 같은 줄에 선을 인쇄하는 것을 시도했다. 그러나 그것은 그렇게하지 않을 것이다. 그래서 그것은 이중 선이다.

내 APToolkitNET.Toolkit 개체 (objPDF)를 만들었으므로 입력 필드에 SetFormFieldData를 시작할 준비가되었습니다.

objPDF.SetFormFieldData("txtTestItem", "This is a test.", -998) 
Dim thisField As FieldInfo = objPDF.FieldInfo("txtTestItem", 1) 
objPDF.AddHyperlink(thisField.PageNumber, thisField.Left, thisField.Bottom, _ 
    (thisField.Left + thisField.Width), (thisField.Bottom + 1), "", 0) 

내 objPDF 및 응답 항목의 나머지 부분을 완성하고 지금이 얻을 :

Image of Form

하이퍼 링크 개체에 대한

더 많은 정보는 여기에서 찾을 수 있습니다 : http://www.activepdf.com/AltDownloads/Documentation/TK2011/AddHyperlink.html

I을 며칠 동안 더 나은 솔루션을 찾고 있었지만 ActivePDF는 사용자가 만든 많은 것을 가지고있는 것처럼 보이지 않습니다. 모든 것이 다시 자신의 웹 사이트로 연결됩니다. 그래서 내가 누군가했던 것처럼 누군가가 이것을 필요로했기 때문에 실제로 도움이되었습니다.

+0

밑줄 텍스트의 너비를 만드는 방법을 찾았습니다. 글꼴을 만들고 글꼴의 텍스트 너비를 가져옵니다. objPDF.SetFont (thisField.FontName, thisField.FontSize, thisField.PageNumber) 그런 다음 Dim txtWidth를 Decimal = objPDF.GetTextWidth (thisField.Value, thisField.PageNumber)로 설정합니다. 그런 다음 AddHyperLink 부분에서 thisField.Width를 txtWidth로 변경합니다. –

+0

아래의 제안은 많은 도움이되었습니다. 위의 .SetFont 및 .GetTextWidth를 유지했습니다. 나는 .AddHyperLink를 objPDF.LineWidth (1, fieldCovI.PageNumber)로 바꾼 다음 objPDF.MoveTo (fieldCovI.Left, fieldCovI.Bottom, fieldCovI.PageNumber) 다음 objPDF.DrawTo (fieldCovI.Left + txtWidth, fieldCovI.Bottom, fieldCovI. 페이지 번호). 텍스트에 맞는 단일 줄 밑줄이 있습니다! –

답변

0

하이퍼 링크를 사용하여 선을 그리는 대신 MoveTo 및 DrawTo 함수를 사용하여 선을 그릴 수 있습니다. 하이퍼 링크를 추가 할 때 이미 좌표를 사용하고 있으므로 좌표를 사용하여 선을 그릴 위치를 결정할 수 있습니다.

LineWidth를 사용하여 선의 너비를 제어 할 수도 있습니다.