2016-08-18 5 views
0

PDFsharp library을 사용하여 PDF로 작성되는 일부 코드를 미세 조정하는 데 관심이 있습니다..net 방법을 사용하여 System.Drawing에서 밑줄 두께를 조작하는 방법 PDFSharp

문제는 다음과 같습니다. 굵은 글씨와 밑줄이있는 텍스트의 경우 밑줄이 각 텍스트와 함께 두꺼워집니다. 텍스트가 굵게 표시되는 동안 밑줄을 얇게 유지하고 싶습니다.

PDFsharp의 API와 System.Drawing을 보면 쉽게 알 수없는 것처럼 보입니다.

다른 사람이 알고 계십니까?

다음은 PDFsharp lib를 사용하는 코드의 현재 출력 예입니다. System.Drawing 및 기타 GDI/WPF 구현에 대한 랩핑 호출이 있습니다.

우리는 GDI를 사용하고 있습니다. 나는 꽤 확신합니다. 우리가 여기서하고 있습니다 주요 PDFsharp 호출

public void DrawString(string s, XFont font, XBrush brush, double x, double y, XStringFormat format, double width)

입니다

enter image description here

답변

1
때문에 조작 System.Drawing 귀하의 경우에 어떤 좋은하지 않을 것이다, PDF 파일을 생성 할 때 PDFsharp가 System.Drawing을 사용하지 않는

.

PDFsharp는 글꼴 테이블의 밑줄 위치와 밑줄 두께를 사용합니다.

PDFsharp는 오픈 소스이므로 고정 밑줄 두께를 사용하도록 수정할 수 있습니다.

또는 밑줄없이 텍스트를 그리고 나중에 텍스트 아래에 선을 그려주는 도우미 메서드를 작성하십시오. PDFsharp를 수정하지 않고도이 작업을 수행 할 수 있으며 이후 버전으로 쉽게 업그레이드 할 수 있습니다.

업데이트 : 다른 옵션 : MigraDoc을 사용하여 PDF 파일을 만듭니다.

MigraDoc은 PDF 파일을 만들 때 PDFsharp를 사용하지만 MigraDoc은 자체 코드로 텍스트의 밑줄을 그립니다. 규칙적인 텍스트와 굵은 텍스트는 동일한 밑줄을 사용합니다.

+0

@lewiSnort 내 대답 업데이트 - MigraDoc이 해결책이 될 수 있습니다. –

+0

불행히도 MigraDoc은 우리에게는 선택 사항이 아니지만 알아두면 좋습니다. 제 3 자 코드를 수정하는 것보다 '해결 방법'솔루션을 더 좋아하지만, 좋은 정보이거나 PdfSharp에 기능을 제공 할 수 있습니다. :) 감사! – lewiSnort